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 entre étapes (étape N / étape N-1).
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 →