Torna all'elenco degli articoli Articoli
Tempo di lettura: 14 minuti

7 modelli metrici SQL tratti da colloqui reali

Dopo aver sostenuto diversi colloqui SQL per ruoli di analista di dati, ho notato che le stesse domande sulle metriche ricorrevano ripetutamente. Questo articolo le suddivide in sette modelli e mostra come riconoscerle rapidamente durante i colloqui.

Nel periodo compreso tra novembre 2023 e aprile 2025, ho sostenuto diversi colloqui per ruoli di analista di dati e ho iniziato a notare un chiaro modello nelle domande dei colloqui SQL. Sebbene i set di dati e i contesti aziendali fossero diversi, i tipi di metriche richiesti dagli intervistatori erano spesso gli stessi.

In questo articolo, raggruppo queste domande ricorrenti in sette modelli metrici che compaiono ripetutamente nei test SQL per le posizioni di analista di dati. Invece di trattare ogni domanda come un problema a sé stante, mi concentro sull'identificazione della logica metrica sottostante che guida la maggior parte dei compiti del colloquio.

Mi baso sui concetti introdotti in articoli precedenti, tra cui Esplorazione del set di dati sulla crescita delle vendite - Utilizzo della scheda riassuntiva dell'analista di dati sui dati di vendita reali. Tuttavia, invece di esplorare un set di dati specifico, classifichiamo le domande dei colloqui in base alla mia esperienza reale.

Per mantenere l'analisi chiara e coerente, seguo la stessa struttura per ogni metrica in tutto l'articolo. Per ogni modello, spiego cosa rappresenta la metrica, come appare tipicamente nei colloqui SQL, mostro una query SQL rappresentativa e indico la sezione pertinente del foglio di riferimento per un'ulteriore revisione.

L'obiettivo non è quello di memorizzare le query, ma di sviluppare un modo ripetibile di ragionare sui problemi dei colloqui SQL quando il tempo è limitato. Spero che questo schema sia utile a chiunque si stia preparando per un colloquio come analista di dati e cerchi un modo più chiaro per affrontare le domande basate sulle metriche.

Non pretendo che queste soluzioni siano innovative. La maggior parte delle domande dei colloqui SQL può essere risolta in diversi modi e gli esempi che mostro utilizzano approcci comunemente accettati. Sebbene esistano più di sette modelli di metriche, ho scelto questi sette perché forniscono un punto di partenza pratico per prepararsi ai colloqui SQL.

Panoramica

Ho diviso i sette modelli metrici in due gruppi: metriche standard e metriche specializzate. Le metriche standard (KPI, suddivisioni, rapporti e classifiche) compaiono in molti scenari di reporting e analisi aziendale e spesso presentano molteplici variazioni.

Le metriche speciali (totali cumulativi, medie mobili e variazioni percentuali) sono più mirate e solitamente legate all'analisi basata sul tempo o sulle prestazioni. Per ogni modello, fornisco un esempio SQL generale che non è legato a un set di dati specifico, in modo che l'attenzione rimanga sulla logica piuttosto che sulla struttura dei dati.

Se desiderate esercitarvi in modo strutturato e pratico con questi tipi di metriche, molti dei modelli trattati qui vengono messi in pratica nel corso SQL for Data Analysis, che si concentra sugli stessi scenari di reporting e analisi comunemente utilizzati nei colloqui con gli analisti di dati.

Metrica 1: KPI - Metriche di performance aziendale di alto livello

Definizione

Gli indicatori chiave di prestazione (KPI) sono metriche di base che mostrano le prestazioni aziendali complessive. Nei colloqui SQL, i KPI sono solitamente semplici valori aggregati, come il totale delle vendite, il profitto totale o il numero totale di record, calcolati sull'intero set di dati.

Scopo nei colloqui

Le domande sui KPI sono spesso le prime o le più semplici in un colloquio SQL. Gli intervistatori le utilizzano per valutare se un candidato è in grado di identificare rapidamente ciò che è importante in un set di dati, scegliere il livello corretto di aggregazione ed evitare inutili complessità.

Queste domande sono spesso formulate in modo molto diretto, ad esempio: "Come calcoleresti le vendite totali?", "Qual è il profitto totale?" o "Dammi il fatturato complessivo per questo set di dati".

Riconoscimento dei modelli

Le domande sui KPI di solito:

  • restituiscono una singola riga
  • non richiedono una GROUP BY clausola
  • si basano su funzioni aggregate come SUM, COUNTo AVG

Rispondono alla domanda aziendale: "Come stiamo andando nel complesso?"

Esempio di query SQL

Ecco un esempio di KPI tratto da un articolo precedente, Cheat sheet per analisti di dati su dati di vendita reali:

SELECT
  ROUND(SUM(Sales), 0) AS sales_total,
  ROUND(SUM(Profit), 0) AS profit_total,
  ROUND(SUM(Quantity), 0) AS quantity_total
FROM orders;

Questa query restituisce più KPI in una singola riga applicando diverse funzioni di aggregazione allo stesso set di dati.

Riferimento alla guida allo studio

È possibile rivedere questo modello di metrica nel Cheat Sheet per analisti di dati alla voce Funzioni di aggregazione. Per una panoramica pratica delle aggregazioni SQL comunemente utilizzate, consultare il Cheat Sheet sulle funzioni di aggregazione.

Metrica 2: Suddivisioni - Metriche per tempo o categoria

Definizione

Una suddivisione è una metrica che viene suddivisa in parti più piccole per mostrare come cambia nel tempo o come varia tra le diverse categorie. Invece di un unico numero complessivo, una suddivisione mostra più righe che spiegano da dove o quando proviene la metrica.

Scopo nei colloqui

Le domande di suddivisione di solito seguono immediatamente le domande sui KPI. Una volta dimostrato di essere in grado di calcolare un totale, gli intervistatori spesso chiedono di spiegarlo in modo più dettagliato.

Queste domande sono pensate per verificare se sei in grado di passare da una metrica di alto livello a una visione più granulare e rispondere a domande come "Cosa determina questo numero?" o "Come cambia questa metrica nel tempo?".

Riconoscimento dei modelli

Le domande di approfondimento di solito:

  • includono una GROUP BY clausola
  • restituiscono più righe
  • utilizzano le stesse funzioni di aggregazione dei KPI, ma raggruppate per un'altra colonna

Rispondono a domande aziendali quali: "Come varia questa metrica in base al tempo o alla categoria?"

Tipo 1: Andamento per data

Questo tipo di suddivisione raggruppa le metriche in base a una dimensione temporale, come l'anno o il mese. Gli intervistatori spesso pongono domande come "Mostra le vendite totali per mese" o "Come sono cambiate le entrate nel tempo?"

Esempio di query SQL

SELECT
  EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y'))) AS order_year,
  EXTRACT(MONTH FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y'))) AS order_month,
  ROUND(SUM(Sales), 0) AS sales_month,
  ROUND(SUM(Profit), 0) AS profit_month,
  ROUND(SUM(Quantity), 0) AS quantity_month
FROM orders
GROUP BY 1, 2
ORDER BY 1, 2;

Tipo 2: Suddivisione per categoria

Questo tipo di suddivisione raggruppa le metriche in base a una colonna categoriale, come la categoria di prodotto o la regione. Queste domande sono spesso formulate come "Vendite per categoria" o "Utile per gruppo di prodotti".

Esempio di query SQL

SELECT
  product_category,
  ROUND(SUM(Sales), 0) AS sales,
  ROUND(SUM(Profit), 0) AS profit,
  ROUND(SUM(Quantity), 0) AS quantity
FROM orders
GROUP BY 1
ORDER BY 1;

Riferimento alla guida allo studio

Questi modelli di suddivisione sono trattati in diverse sezioni del Cheat Sheet per analisti di dati: Funzioni di aggregazione, Data e ora e ORDER BY. Per una panoramica pratica su come il raggruppamento e l'aggregazione funzionano insieme in SQL, vedere SQL GROUP BY e Funzioni di aggregazione: Panoramica.

Metrica 3: Rapporti - Confronto tra una metrica e un'altra

Definizione

Un rapporto misura la relazione tra due valori numerici dividendo uno per l'altro. Nei colloqui SQL, i rapporti sono comunemente utilizzati per trasformare i totali grezzi in metriche di performance.

Scopo nei colloqui

Le domande sui rapporti verificano se sei in grado di andare oltre i numeri assoluti ed esprimere le prestazioni in termini relativi. Gli intervistatori le utilizzano spesso per verificare se comprendi come le metriche sono correlate tra loro, non solo come calcolarle.

Queste domande sono comunemente formulate come "Qual è il margine di profitto?", "Quale percentuale delle vendite totali rappresenta ciascuna categoria?" o "Quanto di X proviene da Y?".

Riconoscimento dei modelli

Le domande sui rapporti di solito:

  • dividono un aggregato per un altro
  • utilizzano ancora funzioni aggregate come SUM o COUNT
  • a volte richiedono una sottoquery o una funzione finestra per mantenere coerente il denominatore

Rispondono a domande aziendali come: "Quanto è efficiente?" o "Quanto è grande rispetto al totale?"

Tipo 1: rapporto complessivo

Questo tipo calcola un unico rapporto per l'intero set di dati. È simile a un KPI, ma invece di restituire un totale grezzo, restituisce una metrica di prestazione derivata.

Esempio di query SQL

SELECT ROUND(SUM(Profit) / SUM(Sales), 2) AS profit_margin
FROM orders;

Tipo 2: Rapporto per categoria (percentuale del totale)

Questo tipo calcola un rapporto per ciascuna categoria rispetto al totale complessivo. Viene utilizzata una sottoquery per evitare che il denominatore sia influenzato dalla clausola GROUP BY .

Queste domande sono spesso formulate come "Qual è la percentuale delle vendite totali contribuita da ciascuna categoria?"

Esempio di query SQL

SELECT
  category,
  ROUND(SUM(sales), 0) AS sales_total,
  ROUND((SUM(sales) / (SELECT SUM(sales) FROM orders)) * 100, 0) AS percent_of_total
FROM orders
GROUP BY 1;

Riferimento alla guida allo studio

Metrica 4: Classifiche - Ordinamento dei risultati in base all'importanza

Definizione

Una classifica ordina le righe in base a una metrica, solitamente dalla più alta alla più bassa o viceversa. Nei colloqui SQL, la classifica viene utilizzata per identificare i migliori o i peggiori performer in base a una misura specifica.

Scopo nei colloqui

Le domande relative alla classifica verificano se sei in grado di trasformare i risultati aggregati in un elenco ordinato che evidenzi l'importanza relativa. Gli intervistatori utilizzano spesso queste domande per verificare se comprendi come confrontare le entità e presentare i risultati in modo significativo.

Queste domande sono comunemente formulate come "Quali sono i prodotti più venduti?", "Quali sottocategorie hanno le migliori prestazioni?" o "Classifica gli articoli in base al fatturato".

Riconoscimento di modelli

Le domande di classificazione di solito:

  • prevedono l'ordinamento dei risultati aggregati
  • utilizzano funzioni finestra come RANK o DENSE_RANK
  • restituiscono più righe con una colonna aggiuntiva che rappresenta la posizione

Rispondono a domande aziendali come: "Su cosa dovremmo concentrarci per primo?" o "Quali elementi sono più importanti?"

Tipo 1: Classifica generale

Questo tipo classifica tutte le righe dell'intero set di dati. L'utilizzo di una funzione finestra consente di assegnare una classifica a ogni riga senza filtrare il set di risultati.

Esempio di query SQL

SELECT
  category,
  ROUND(SUM(sales), 0) AS sales_total,
  DENSE_RANK() OVER (ORDER BY SUM(sales) DESC) AS category_rank
FROM orders
GROUP BY 1;

Tipo 2: Classifica all'interno di una categoria

Questo tipo classifica le righe all'interno di ciascun gruppo separatamente. Viene comunemente utilizzato quando gli intervistatori desiderano confrontare le prestazioni all'interno delle categorie, come le sottocategorie all'interno di ciascuna categoria di prodotti.

Queste domande sono spesso formulate come "Quali sono le principali sottocategorie all'interno di ciascuna categoria?"

Esempio di query SQL

SELECT
  category,
  sub_category,
  ROUND(SUM(sales), 0) AS sales_total,
  DENSE_RANK() OVER (PARTITION BY category ORDER BY SUM(sales) DESC) 
    AS sub_category_rank
FROM orders
GROUP BY 1, 2;

Riferimento alla guida allo studio

Entrambi i modelli di classificazione si basano sulle funzioni finestra descritte nella sezione Classificazione della Cheat Sheet per analisti di dati. Per una guida pratica con esempi, vedere Come classificare le righe in SQL.

Metrica 5: Metriche cumulative – Totali parziali nel tempo

Definizione

Un totale progressivo è una somma cumulativa in cui ogni riga include il valore corrente più tutti i valori precedenti in un ordine definito, molto spesso basato sul tempo. Invece di mostrare totali isolati, mostra come una metrica si accumula nel tempo.

Scopo nei colloqui

Le domande sui totali progressivi vengono utilizzate per verificare se comprendi le funzioni finestra e i calcoli ordinati. Gli intervistatori spesso pongono queste domande per vedere se sei in grado di combinare l'analisi delle tendenze con la logica cumulativa in un'unica query.

Queste domande sono comunemente formulate come "Mostra le vendite totali nel tempo con un totale progressivo" o "Come si accumulano i ricavi di anno in anno?".

Riconoscimento dei modelli

Le domande sul totale progressivo di solito:

  • raggruppano i dati in base a una dimensione temporale (anno, mese, data)
  • utilizzano funzioni aggregate insieme a funzioni finestra
  • includono una ORDER BY clausola all'interno della funzione finestra

Rispondono a domande aziendali come: "Quanto abbiamo accumulato finora?"

Esempio di query SQL

Questo esempio calcola i totali delle vendite annuali e aggiunge un totale progressivo ordinato per anno:

SELECT
  EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y'))) AS order_year,
  ROUND(SUM(sales), 0) AS yearly_sales_total,
  SUM(ROUND(SUM(sales), 0)) OVER (
    ORDER BY EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y')))
  ) AS running_sales_total
FROM orders
GROUP BY 1
ORDER BY 1;

Questa query produce sia il totale annuale che il totale cumulativo nello stesso set di risultati.

Riferimento alla guida allo studio

Questo modello di metrica è trattato nella sezione Totale progressivo della Cheat Sheet per analisti di dati. Per una spiegazione pratica con esempi, consultare l'articolo Totale progressivo in SQL.

Metrica 6: medie mobili - Appianare le tendenze nel tempo

Definizione

Una media mobile è una tecnica utilizzata per livellare i dati basati sul tempo calcolando la media del valore corrente con un numero fisso di valori precedenti. Invece di mostrare le fluttuazioni a breve termine, evidenzia la tendenza sottostante.

Scopo nei colloqui

Le domande sulle medie mobili verificano la comprensione delle funzioni avanzate delle finestre e dell'analisi basata sul tempo. Gli intervistatori le utilizzano spesso per valutare la capacità di gestire dati rumorosi e individuare modelli quali stagionalità o cicli.

Queste domande sono comunemente formulate come "Mostra una media mobile delle vendite" o "Calcola una media mobile di 3 mesi".

Riconoscimento dei modelli

Le domande sulla media mobile di solito:

  • si basano su dati ordinati in base al tempo
  • utilizzano funzioni finestra con un frame definito
  • includono clausole come ROWS BETWEEN n PRECEDING AND CURRENT ROW

Rispondono a domande aziendali quali: "Qual è la tendenza sottostante?"

Esempio di query SQL

Questo esempio calcola le vendite mensili e applica una media mobile di 3 mesi:

SELECT
  EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y'))) AS order_year,
  EXTRACT(MONTH FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y'))) AS order_month,
  ROUND(SUM(Sales), 0) AS sales_total,
  ROUND(AVG(SUM(sales)) OVER (
      ORDER BY EXTRACT(MONTH FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y')))
      ROWS BETWEEN 2 PRECEDING AND CURRENT ROW),
    0) AS moving_average
FROM orders
GROUP BY 1, 2
ORDER BY 1, 2;

Questa query attenua le variazioni a breve termine calcolando la media del mese corrente con i due mesi precedenti.

Riferimento alla guida allo studio

Questo modello è trattato nella sezione Media mobile della Cheat Sheet per analisti di dati. Per una spiegazione dettagliata con esempi, vedere Media mobile in SQL.

Metrica 7: Variazione percentuale - Misurazione della crescita e del calo

Definizione

La variazione percentuale misura di quanto un valore è aumentato o diminuito rispetto a un valore precedente. Viene comunemente calcolata come:

(new value − old value) / old value × 100

Invece di mostrare le differenze assolute, questa metrica esprime la variazione in termini relativi.

Scopo nei colloqui

Le domande sulla variazione percentuale sono comunemente utilizzate per testare le capacità di analisi delle prestazioni. Gli intervistatori le utilizzano spesso per verificare se il candidato è in grado di confrontare le metriche nel tempo e di fare riferimento correttamente ai valori precedenti.

Queste domande sono spesso formulate come "Qual è la crescita anno su anno?", "Come sono cambiate le vendite rispetto all'anno scorso?" o "Calcola il tasso di crescita".

Riconoscimento dei modelli

Le domande sulla variazione percentuale di solito:

  • confrontano un valore con una riga precedente
  • si basano su funzioni finestra come LAG
  • sono ordinate in base a una dimensione temporale

Rispondono a domande aziendali quali: "Stiamo crescendo o diminuendo, e di quanto?"

Esempio di query SQL

Questo esempio calcola le differenze di vendita anno su anno confrontando ogni anno con quello precedente:

SELECT
  EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y'))) AS order_year,
  ROUND(SUM(sales), 0) AS sales_total,
  ROUND(
    LAG(SUM(sales)) OVER (
      ORDER BY EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y')))),
    0) AS sales_prev_year,
  (ROUND(SUM(sales), 0)
   - ROUND(LAG(SUM(sales)) OVER (
       ORDER BY EXTRACT(YEAR FROM DATE(STR_TO_DATE(order_date, '%m/%d/%Y')))
     ), 0)
  ) AS sales_yoy_difference
FROM orders
GROUP BY 1
ORDER BY 1;

Questa query confronta il totale delle vendite di ogni anno con quello dell'anno precedente per mostrare come cambiano le prestazioni nel tempo.

Riferimento alla guida allo studio

Questo modello di metrica è trattato nella sezione Differenza tra due righe (Delta) della scheda di riferimento per analisti di dati. Per esempi pratici di metriche di crescita e confronto, vedere Come calcolare la crescita dei ricavi in SQL e la differenza anno su anno in SQL.

Conclusione

In questo articolo ho analizzato sette modelli metrici che compaiono costantemente nei colloqui SQL e li ho raggruppati in due categorie: metriche standard (KPI, ripartizioni, rapporti e classifiche) e metriche specializzate (totali cumulativi, medie mobili e variazioni percentuali). Questi modelli coprono la maggior parte delle domande basate sulle metriche che ho incontrato durante i colloqui reali per analisti di dati.

L'obiettivo non era quello di presentare soluzioni nuove o complesse, ma di mostrare come le domande dei colloqui possano essere semplificate concentrandosi su tre elementi fondamentali: la tecnica SQL oggetto di verifica, il modello di metrica sottostante e la sezione pertinente del Cheat Sheet per analisti di dati. Affrontare i problemi in questo modo rende più facile ragionare sulle domande dei colloqui SQL, soprattutto quando il tempo a disposizione è limitato.

Se desiderate esercitarvi in modo strutturato con questi modelli in un formato corso, il percorso SQL per l'analisi dei dati è un buon passo successivo, poiché copre molti degli stessi scenari di reporting e analisi che compaiono nei colloqui per analisti di dati.

Nella Parte 2 applicherò questi modelli a domande reali di colloquio SQL tratte da oltre 14 diversi colloqui che ho completato nell'ultimo anno, mostrando come questi modelli appaiono nella pratica e come affrontarli passo dopo passo.