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).
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.
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 →