Retour à la liste des articles Articles
16 minutes de lecture

7 modèles métriques SQL issus d'entretiens réels

Après avoir passé plusieurs entretiens SQL pour des postes d'analyste de données, j'ai remarqué que les mêmes questions sur les métriques revenaient sans cesse. Cet article les décompose en sept modèles et montre comment les reconnaître rapidement lors d'entretiens.

Entre novembre 2023 et avril 2025, j'ai passé plusieurs entretiens pour des postes d'analyste de données et j'ai commencé à remarquer un modèle clair dans les questions d'entretien SQL. Bien que les ensembles de données et les contextes commerciaux aient changé, les types de métriques demandés par les recruteurs étaient souvent les mêmes.

Dans cet article, je regroupe ces questions récurrentes en sept modèles métriques qui apparaissent régulièrement dans les tests SQL pour les postes d'analyste de données. Au lieu de traiter chaque question comme un problème distinct, je m'attache à identifier la logique métrique sous-jacente qui sous-tend la plupart des tâches d'entretien.

Je m'appuie sur des concepts présentés dans des articles précédents, notamment Exploration d'un ensemble de données sur la croissance des ventes – Utilisation de la fiche de référence de l'analyste de données sur des données de vente réelles. Cependant, plutôt que d'explorer un ensemble de données spécifique, je classe les questions d'entretien en fonction de mon expérience réelle en matière d'entretien.

Afin de garantir la clarté et la cohérence de l'analyse, je suis la même structure pour chaque métrique tout au long de l'article. Pour chaque modèle, j'explique ce que représente la métrique, comment elle apparaît généralement dans les entretiens SQL, je montre une requête SQL représentative et je renvoie à la section pertinente de la fiche de référence pour analyste de données pour plus d'informations.

L'objectif n'est pas de mémoriser des requêtes, mais de développer une méthode de réflexion reproductible pour résoudre les problèmes posés lors des entretiens SQL lorsque le temps est limité. J'espère que ce cadre sera utile à tous ceux qui se préparent à un entretien d'analyste de données et qui recherchent une méthode plus claire pour aborder les questions basées sur des métriques.

Je ne prétends pas que ces solutions soient novatrices. La plupart des questions d'entretien SQL peuvent être résolues de plusieurs façons, et les exemples que je présente utilisent des approches couramment acceptées. Bien qu'il existe plus de sept modèles de métriques, j'ai choisi ces sept-là car ils constituent un point de départ pratique pour se préparer aux entretiens SQL.

Aperçu

Je divise les sept modèles métriques en deux groupes : les métriques standard et les métriques spécialisées. Les métriques standard (KPI, ventilations, ratios et classements) apparaissent dans de nombreux scénarios de reporting et d'analyse commerciale et présentent souvent de multiples variations.

Les métriques spécialisées (totaux cumulés, moyennes mobiles et variations en pourcentage) sont plus ciblées et généralement liées à l'analyse temporelle ou à l'analyse des performances. Pour chaque modèle, je fournis un exemple SQL général qui n'est pas lié à un ensemble de données spécifique, afin que l'accent reste mis sur la logique plutôt que sur la structure des données.

Si vous souhaitez vous exercer de manière structurée et pratique avec ces types de mesures, la plupart des modèles présentés ici sont mis en pratique dans le module SQL pour l'analyse de données, qui se concentre sur les mêmes scénarios de reporting et d'analyse couramment utilisés dans les entretiens avec les analystes de données.

Mesure 1 : KPI – Mesures de performance commerciale de haut niveau

Définition

Les indicateurs clés de performance (KPI) sont des mesures de base qui montrent les performances globales de l'entreprise. Dans les entretiens SQL, les KPI sont généralement des valeurs agrégées simples, telles que le chiffre d'affaires total, le bénéfice total ou le nombre total d'enregistrements, calculées sur l'ensemble du jeu de données.

Objectif dans les entretiens

Les questions sur les KPI sont souvent les premières ou les plus simples dans un entretien SQL. Les recruteurs les utilisent pour évaluer si un candidat est capable d'identifier rapidement les éléments importants dans un ensemble de données, de choisir le bon niveau d'agrégation et d'éviter toute complexité inutile.

Ces questions sont souvent formulées de manière très directe, par exemple : « Comment calculeriez-vous le chiffre d'affaires total ? », « Quel est le bénéfice total ? » ou « Donnez-moi le chiffre d'affaires global pour cet ensemble de données. »

Reconnaissance de formes

Les questions sur les KPI ont généralement pour but :

  • renvoient une seule ligne
  • ne nécessitent pas de GROUP BY clause
  • reposent sur des fonctions d'agrégation telles que SUM, COUNTou AVG

Ils répondent à la question commerciale : « Comment nous en sortons-nous globalement ? »

Exemple de requête SQL

Voici un exemple de KPI tiré d'un article précédent, Analyse de ventes réelles avec l’aide-mémoire de l’analyste :

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

Cette requête renvoie plusieurs KPI dans une seule ligne en appliquant différentes fonctions d'agrégation au même ensemble de données.

Référence du guide d'étude

Vous pouvez consulter ce modèle de métrique dans la fiche de référence pour analyste de données, sous la rubrique Fonctions d'agrégation. Pour un aperçu pratique des agrégats SQL couramment utilisés, consultez la fiche de référence sur les fonctions d'agrégation.

Métrique 2 : ventilations – métriques par heure ou par catégorie

Définition

Une ventilation est une métrique divisée en plusieurs parties plus petites afin de montrer son évolution dans le temps ou ses différences entre les catégories. Au lieu d'un chiffre global, une ventilation affiche plusieurs lignes qui expliquent d'où vient la métrique et à quel moment.

Objectif lors des entretiens

Les questions de ventilation viennent généralement juste après les questions sur les KPI. Une fois que vous avez montré que vous êtes capable de calculer un total, les recruteurs vous demandent souvent de l'expliquer plus en détail.

Ces questions sont conçues pour tester votre capacité à passer d'une métrique de haut niveau à une vue plus granulaire et à répondre à des questions telles que « Qu'est-ce qui motive ce chiffre ? » ou « Comment cette métrique évolue-t-elle au fil du temps ? ».

Reconnaissance de modèles

Les questions de ventilation comprennent généralement :

  • comprennent une GROUP BY clause
  • renvoient plusieurs lignes
  • utilisent les mêmes fonctions d'agrégation que les KPI, mais regroupées par une autre colonne

Elles répondent à des questions commerciales telles que : « Comment cette métrique varie-t-elle dans le temps ou par catégorie ? »

Type 1 : Tendance par date

Ce type de ventilation regroupe les mesures par dimension temporelle, telle que l'année ou le mois. Les enquêteurs posent souvent des questions telles que « Afficher le total des ventes par mois » ou « Comment les revenus ont-ils évolué au fil du temps ? »

Exemple de requête 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;

Type 2 : ventilation par catégorie

Ce type de ventilation regroupe les indicateurs par colonne catégorielle, telle que la catégorie de produit ou la région. Ces questions sont souvent formulées comme suit : « Ventes par catégorie » ou « Bénéfice par groupe de produits ».

Exemple de requête 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;

Référence du guide d'étude

Ces modèles de ventilation sont abordés dans plusieurs sections du guide de référence pour les analystes de données : Fonctions d'agrégation, Date et heure, et ORDER BY. Pour un aperçu pratique du fonctionnement du regroupement et de l'agrégation dans SQL, consultez SQL GROUP BY et Fonctions d'agrégation : aperçu.

Mesure 3 : ratios – comparaison d'une mesure à une autre

Définition

Un ratio mesure la relation entre deux valeurs numériques en divisant l'une par l'autre. Dans les entretiens SQL, les ratios sont couramment utilisés pour transformer des totaux bruts en métriques de performance.

Objectif dans les entretiens

Les questions sur les ratios permettent de vérifier si vous êtes capable d'aller au-delà des chiffres absolus et d'exprimer les performances en termes relatifs. Les recruteurs les utilisent souvent pour voir si vous comprenez comment les métriques sont liées entre elles, et pas seulement comment les calculer.

Ces questions sont généralement formulées comme suit : « Quelle est la marge bénéficiaire ? », « Quel pourcentage du chiffre d'affaires total chaque catégorie représente-t-elle ? » ou « Quelle part de X provient de Y ? ».

Reconnaissance de modèles

Les questions sur les ratios consistent généralement à :

  • divisent un agrégat par un autre
  • utilisent toujours des fonctions d'agrégation telles que SUM ou COUNT
  • nécessitent parfois une sous-requête ou une fonction de fenêtre pour maintenir la cohérence du dénominateur

Elles répondent à des questions commerciales telles que : « Quelle est l'efficacité de ceci ? » ou « Quelle est la taille de ceci par rapport au total ? »

Type 1 : Ratio global

Ce type calcule un ratio unique pour l'ensemble du jeu de données. Il est similaire à un KPI, mais au lieu de renvoyer un total brut, il renvoie une mesure de performance dérivée.

Exemple de requête SQL

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

Type 2 : Ratio par catégorie (pourcentage du total)

Ce type calcule un ratio pour chaque catégorie par rapport au total global. Une sous-requête est utilisée pour éviter que le dénominateur ne soit affecté par la clause GROUP BY .

Ces questions sont souvent formulées comme suit : « Quel pourcentage des ventes totales chaque catégorie représente-t-elle ? »

Exemple de requête 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;

Référence du guide d'étude

Indicateur 4 : Classements – Classement des résultats par ordre d'importance

Définition

Un classement ordonne les lignes en fonction d'un indicateur, généralement du plus élevé au plus bas ou vice versa. Dans les entretiens SQL, le classement est utilisé pour identifier les meilleurs ou les moins bons éléments en fonction d'une mesure spécifique.

Objectif dans les entretiens

Les questions de classement permettent de tester votre capacité à transformer des résultats agrégés en une liste ordonnée qui met en évidence leur importance relative. Les recruteurs utilisent souvent ces questions pour voir si vous comprenez comment comparer des entités et présenter les résultats de manière significative.

Ces questions sont généralement formulées comme suit : « Quels sont les produits les plus vendus ? », « Quelles sont les sous-catégories les plus performantes ? » ou « Classez les articles par chiffre d'affaires ».

Reconnaissance de modèles

Les questions de classement impliquent généralement :

  • impliquent le tri des résultats agrégés
  • utilisent des fonctions de fenêtre telles que RANK ou DENSE_RANK
  • renvoient plusieurs lignes avec une colonne supplémentaire représentant la position

Elles répondent à des questions commerciales telles que : « Sur quoi devons-nous nous concentrer en premier ? » ou « Quels sont les éléments les plus importants ? »

Type 1 : classement général

Ce type classe toutes les lignes de l'ensemble de données. L'utilisation d'une fonction de fenêtre vous permet d'attribuer un classement à chaque ligne sans filtrer l'ensemble des résultats.

Exemple de requête 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;

Type 2 : classement au sein d'une catégorie

Ce type classe les lignes de chaque groupe séparément. Il est couramment utilisé lorsque les enquêteurs souhaitent comparer les performances au sein de catégories, telles que les sous-catégories de chaque catégorie de produits.

Ces questions sont souvent formulées comme suit : « Quelles sont les principales sous-catégories au sein de chaque catégorie ? »

Exemple de requête 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;

Référence du guide d'étude

Les deux modèles de classement s'appuient sur les fonctions de fenêtre décrites dans la section Classement du guide de référence pour de données. Pour une présentation pratique avec des exemples, consultez Comment classer des lignes dans SQL.

Mesure 5 : mesures cumulatives – totaux cumulés au fil du temps

Définition

Un total cumulé est une somme cumulative où chaque ligne comprend la valeur actuelle plus toutes les valeurs précédentes dans un ordre défini, le plus souvent basé sur le temps. Au lieu d'afficher des totaux isolés, il montre comment une métrique s'accumule au fil du temps.

Objectif lors des entretiens

Les questions sur les totaux cumulés sont utilisées pour tester votre compréhension des fonctions de fenêtre et des calculs ordonnés. Les recruteurs posent souvent ces questions pour voir si vous êtes capable de combiner l'analyse des tendances et la logique cumulative dans une seule requête.

Ces questions sont généralement formulées comme suit : « Affichez le total des ventes au fil du temps avec un total cumulé » ou « Comment les revenus s'accumulent-ils d'une année sur l'autre ? ».

Reconnaissance de modèles

Les questions sur les totaux cumulés :

  • regroupent les données par dimension temporelle (année, mois, date)
  • utilisent des fonctions d'agrégation avec des fonctions de fenêtre
  • incluent une ORDER BY clause à l'intérieur de la fonction de fenêtre

Elles répondent à des questions commerciales telles que : « Combien avons-nous accumulé jusqu'à présent ? »

Exemple de requête SQL

Cet exemple calcule les totaux des ventes annuelles et ajoute un total cumulé classé par année :

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;

Cette requête produit à la fois le total annuel et le total cumulé dans le même ensemble de résultats.

Référence du guide d'étude

Ce modèle métrique est abordé dans la section Total cumulé de l'aide-mémoire de l'analyste de données. Pour une explication pratique avec des exemples, consultez l'article Total cumulé dans SQL.

Métrique 6 : moyennes mobiles – lissage des tendances au fil du temps

Définition

Une moyenne mobile est une technique utilisée pour lisser les données temporelles en calculant la moyenne de la valeur actuelle et d'un nombre fixe de valeurs précédentes. Au lieu de montrer les fluctuations à court terme, elle met en évidence la tendance sous-jacente.

Objectif lors des entretiens

Les questions sur les moyennes mobiles permettent de tester votre compréhension des fonctions de fenêtre avancées et de l'analyse temporelle. Les recruteurs les utilisent souvent pour évaluer votre capacité à traiter des données bruitées et à détecter des modèles tels que la saisonnalité ou les cycles.

Ces questions sont généralement formulées comme suit : « Affichez la moyenne mobile des ventes » ou « Calculez la moyenne mobile sur 3 mois ».

Reconnaissance de modèles

Les questions sur la moyenne mobile sont généralement :

  • sont basées sur des données classées par ordre chronologique
  • utilisent des fonctions de fenêtre avec un cadre défini
  • incluent des clauses telles que ROWS BETWEEN n PRECEDING AND CURRENT ROW

Elles répondent à des questions commerciales telles que : « Quelle est la tendance sous-jacente ? »

Exemple de requête SQL

Cet exemple calcule les ventes mensuelles et applique une moyenne mobile sur 3 mois :

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;

Cette requête lisse les variations à court terme en calculant la moyenne du mois en cours et des deux mois précédents.

Référence du guide d'étude

Ce modèle est abordé dans la section Moyenne mobile du guide de référence pour les analystes de données. Pour une explication étape par étape avec des exemples, consultez Moyenne mobile dans SQL.

Mesure 7 : Variation en pourcentage – Mesurer la croissance et le déclin

Définition

La variation en pourcentage mesure l'augmentation ou la diminution d'une valeur par rapport à une valeur précédente. Elle est généralement calculée comme suit :

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

Au lieu d'afficher les différences absolues, cette métrique exprime le changement en termes relatifs.

Objectif lors des entretiens

Les questions sur la variation en pourcentage sont couramment utilisées pour tester les compétences en analyse des performances. Les recruteurs les utilisent souvent pour vérifier si vous comprenez comment comparer des indicateurs dans le temps et comment référencer correctement les valeurs précédentes.

Ces questions sont souvent formulées comme suit : « Quelle est la croissance d'une année sur l'autre ? », « Comment les ventes ont-elles évolué par rapport à l'année dernière ? » ou « Calculez le taux de croissance ».

Reconnaissance de modèles

Les questions sur les variations en pourcentage consistent généralement à :

  • comparent une valeur à une ligne précédente
  • s'appuient sur des fonctions de fenêtre telles que LAG
  • sont classées par dimension temporelle

Elles répondent à des questions commerciales telles que : « Sommes-nous en croissance ou en déclin, et dans quelle mesure ? »

Exemple de requête SQL

Cet exemple calcule les différences de ventes d'une année sur l'autre en comparant chaque année à la précédente :

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;

Cette requête compare le total des ventes de chaque année à celui de l'année précédente afin de montrer l'évolution des performances au fil du temps.

Référence du guide d'étude

Ce modèle métrique est abordé dans la section Différence entre deux lignes (delta) du guide de référence pour les analystes de données. Pour des exemples pratiques de métriques de croissance et de comparaison, consultez Comment calculer la croissance du chiffre d'affaires dans SQL et la différence d'une année sur l'autre dans SQL.

Conclusion

Dans cet article, j'ai décomposé sept modèles métriques qui apparaissent régulièrement dans les entretiens SQL et les ai regroupés en deux catégories : les métriques standard (KPI, ventilations, ratios et classements) et les métriques spécialisées (totaux cumulés, moyennes mobiles et variations en pourcentage). Ces modèles couvrent la majorité des questions basées sur des métriques que j'ai rencontrées lors d'entretiens réels avec des analystes de données.

L'objectif n'était pas de présenter des solutions nouvelles ou complexes, mais de montrer comment les questions d'entretien peuvent être simplifiées en se concentrant sur trois éléments essentiels : la technique SQL testée, le modèle métrique sous-jacent et la section pertinente de la fiche de référence pour les analystes de données. Aborder les problèmes de cette manière facilite la réflexion sur les questions d'entretien SQL, en particulier lorsque le temps est limité.

Si vous souhaitez vous entraîner de manière structurée avec ces modèles dans le cadre d'un cours, la formation SQL pour l'analyse de données est une bonne étape suivante, car elle couvre bon nombre des scénarios de reporting et d'analyse qui apparaissent dans les entretiens d'analyste de données.

Dans la partie 2, j'appliquerai ces modèles à de vraies questions d'entretien SQL tirées de plus de 14 entretiens différents que j'ai passés au cours de l'année dernière, en montrant comment ces modèles apparaissent dans la pratique et comment les aborder étape par étape.