Exercice 51 / 60

Analyse de funnel — Conversion

ConsigneSur la table events (colonnes event_type, user_id), construis un funnel de conversion à 4 étapes : 'page_view' → 'signup' → 'first_order' → 'repeat_order'. Pour chaque étape affiche le libellé (step), le nombre d'utilisateurs distincts (users) et le taux de conversion en % par rapport à l'étape visite (conversion_pct).

📖 Cours

Un funnel (ou entonnoir) mesure combien d'utilisateurs franchissent chaque étape d'un parcours (vue -> panier -> achat...). Technique : count(distinct case when étape then visitor_id end) pour chaque étape.

L'entonnoir de conversion compte les visiteurs distincts à chaque étape, et le taux se rapporte soit à l'étape précédente, soit à la première
L'entonnoir de conversion compte les visiteurs distincts à chaque étape, et le taux se rapporte soit à l'étape précédente, soit à la première

Exemple (table logs) :

WITH entonnoir AS ( SELECT COUNT(DISTINCT CASE WHEN action='vue' THEN visitor_id END) AS vues, COUNT(DISTINCT CASE WHEN action='panier' THEN visitor_id END) AS paniers, COUNT(DISTINCT CASE WHEN action='achat' THEN visitor_id END) AS achats FROM logs)SELECT * FROM entonnoir;

On calcule ensuite les taux de conversion. Deux lectures sont possibles, et elles ne donnent pas le même chiffre :

- d'une étape à la suivante (étape N / étape N-1), qui mesure la perte à ce passage précis ;- par rapport à la première étape (étape N / étape 1), qui mesure ce qu'il reste depuis le départ.

L'exercice demande la seconde : chaque taux se rapporte à l'étape visite.

Rappel : union all empile les résultats de plusieurs select les uns sous les autres, ici pour lister les 4 étapes (vu à l'exercice 42).

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →