Partie 4 – 4. Analyse des séquences d’événements dans les interactions clients
4.4 Démarches pas à pas, avec code SQL à l’appui
Nous utilisons SQL pour extraire et quantifier les séquences d’événements. La première étape consiste à identifier le nom de l’événement précédent dans la séquence d’actions de l’utilisateur, en utilisant la fonction LAG :
SELECT user_id, event_name, event_timestamp, event_id, LAG(event_name) OVER(PARTITION BY user_id ORDER BY event_timestamp) AS prev_event FROM data
Ensuite, nous créons des paires de chaînes d’événements et les regroupons pour en compter la fréquence :
SELECT prev_event || '-' || event_name AS event_pair, COUNT(*) AS event_pair_count FROM lag_data WHERE prev_event IS NOT NULL GROUP BY event_pair ORDER BY event_pair_count DESC
Notons que pour améliorer la qualité des données analysées, nous nettoyons les données en éliminant les événements sans précédent.
Voici le résultat de la requête:
┌─────────────────────────────────────┬──────────────────┐ │ event_pair │ event_pair_count │ │ varchar │ int64 │ ├─────────────────────────────────────┼──────────────────┤ │ view_item_details-add_to_cart │ 1979 │ │ add_to_cart-complete_purchase │ 1600 │ │ home_page-search_for_items │ 411 │ │ search_for_items-view_item_details │ 411 │ │ home_page-home_page_click │ 407 │ │ home_page_click-view_item_details │ 407 │ │ home_page-promotion_click │ 403 │ │ promotion_click-view_item_details │ 403 │ │ add_to_cart-continue_shopping │ 379 │ │ continue_shopping-view_item_details │ 379 │ ├─────────────────────────────────────┴──────────────────┤ │ 10 rows 2 columns │ └────────────────────────────────────────────────────────┘