Suivre l'Évolution de la Segmentation Client avec la Matrice de Passage dans BigQuery et Looker Studio

Dans le domaine du marketing digital et de l'e-commerce, comprendre les comportements des clients est essentiel. Une approche efficace pour suivre l'évolution de cette segmentation est d'utiliser une matrice de passage. Cet article explore comment mettre en place une matrice de passage pour suivre l'évolution des segments de clients à l'aide de SQL sur BigQuery.

Pourquoi la Segmentation Client est-elle Importante ?

La segmentation client permet aux entreprises de classer leurs clients en groupes basés sur des comportements d'achat, des préférences et des caractéristiques démographiques. Cela aide les entreprises à :

Qu'est-ce qu'une Matrice de Passage ?

Une matrice de passage est un outil qui permet de suivre les mouvements des clients entre différents segments au fil du temps. Cela aide les entreprises à identifier les tendances et à ajuster leurs stratégies marketing en conséquence. Par exemple, un client peut passer d'un segment de « Client à Haute Valeur » à un segment de « Client à Risque » si sa fréquence d'achat diminue.

<aside> 💡

Dans un premier temps, nous analyserons les changements semaine par semaine. L'objectif principal est de calculer la segmentation pour chaque semaine depuis le début de l'année. Looker Studio permettra de visualiser les variations entre les segments grâce à une comparaison de dates.

</aside>

Mise en Place de la Matrice de Passage dans BigQuery

Nous allons créer une table qui enregistre les segments de chaque client pour chaque semaine depuis le début de l'année, permettant d'analyser comment les clients se déplacent entre les segments.

Dans une première étape, nous allons uniquement regarder les évolutions des indices par segments.

Étape 1 : Créer la Table des Segments Clients

Nous allons d'abord créer une table pour stocker les informations des segments clients. Voici la requête SQL pour créer cette table :


CREATE OR REPLACE TABLE `projet.analyse_ecom.client_segments_history` (
    user_id STRING OPTIONS(description="L'identifiant unique de l'utilisateur."),
    email STRING OPTIONS(description="L'adresse email de l'utilisateur."),
    gender STRING OPTIONS(description="Le genre de l'utilisateur."),
    country STRING OPTIONS(description="Le pays de résidence de l'utilisateur."),
    age INT64 OPTIONS(description="L'âge de l'utilisateur."),
    recency INT64 OPTIONS(description="Nombre de jours depuis la dernière commande de l'utilisateur."),
    frequency INT64 OPTIONS(description="Nombre total de commandes passées par l'utilisateur."),
    monetary FLOAT64 OPTIONS(description="Montant total dépensé par l'utilisateur."),
    segment STRING OPTIONS(description="Catégorie à laquelle l'utilisateur appartient (ex. Clients à Haute Valeur, Clients Récents)."),
    segment_date DATE OPTIONS(description="Date du début de la semaine pour laquelle les données sont enregistrées."),
    is_current_week INT64 OPTIONS(description="Indique si les données correspondent à la semaine actuelle (1 pour oui, 0 pour non).")
);

Explication des colonnes :