Analyser le parcours client avec SQL

Partie 3
Chapitre 4 sur 5
Partie 3 – 3. Quel est le parcours le plus courant qui mène les clients aux achats?

3.4 Démarches pas à pas, avec code SQL à l’appui

Pour déterminer le parcours le plus courant menant à un achat, nous suivons les étapes suivantes :

3.4.1 Identification des séquences d’événements aboutissant à un achat

Nous utilisons des requêtes SQL pour repérer les séquences d’événements qui se terminent par un achat.

Pour ce faire, nous réutilisons la CTE de la partie précédente qui permet d’obtenir une séquence d’évènements grâce à la fonction LEAD. Ensuite, nous identifions les différentes voies empruntées par les clients avant de finaliser un achat:

WITH lag_data as (
SELECT
user_id,
event_name,
event_timestamp,
event_id,
LEAD(event_name) OVER(PARTITION BY user_id ORDER BY event_timestamp) AS following_event,
LEAD(event_name, 2) OVER(PARTITION BY user_id ORDER BY event_timestamp) AS two_following_event,
LEAD(event_name, 3) OVER(PARTITION BY user_id ORDER BY event_timestamp) AS three_following_event,
LEAD(event_name, 4) OVER(PARTITION BY user_id ORDER BY event_timestamp) AS four_following_event
FROM query
)

3.4.2 Comptage des occurrences de chaque séquence

Une fois les séquences identifiées, nous les comptons pour déterminer leur fréquence d’apparition dans notre ensemble de données.

SELECT 
path, 
COUNT(*) AS occurrence 
FROM purchase_paths 
GROUP BY path

3.4.3 Identification du parcours le plus courant

Enfin, nous extrayons le parcours le plus fréquent en triant les résultats précédents par ordre décroissant et en limitant le résultat à une seule entrée.

SELECT 
path, 
COUNT(*) AS occurrence 
FROM purchase_paths 
GROUP BY path 
ORDER BY occurrence DESC 
LIMIT 1;

Voici le résultat de la requête: