---
Nous allons maintenant apprendre le type d'analyse de cohortes le plus populaire - les cohortes temporelles. Nous allons segmenter les clients en cohortes d'acquisition en fonction du mois où ils ont effectué leur premier achat. Nous allons ensuite attribuer l'indice de cohorte à chaque achat du client. Cela représentera le nombre de mois écoulés depuis la première transaction.
Les cohortes basées sur le temps regroupent les clients par le moment où ils ont effectué leur première activité.
Dans cette leçon, nous allons regrouper les clients en cohortes en fonction du mois de leur premier achat. Ensuite, nous marquerons chaque transaction en fonction de sa période relative depuis le premier achat. Dans cet exemple, nous allons calculer le nombre de mois écoulés depuis l'acquisition. À l'étape suivante, nous allons calculer des indicateurs tels que le taux de rétention ou la valeur moyenne des dépenses, et construire cette carte thermique.
Par exemple, ce chiffre signifie que 24 % de la cohorte qui s'est inscrite en août 2011 était active 4 mois plus tard.
La première colonne ici est le mois du premier achat, donc le taux de rétention est de 100 %. C'est par définition, car les clients devaient être actifs ce mois-là pour être assignés à cette cohorte.
Un petit mot sur les données. Nous allons utiliser un échantillon aléatoire de 20 % d'un ensemble de données de vente au détail en ligne avec un demi-million de transactions.
C'est un ensemble de données réaliste avec des transactions clients couramment utilisé dans la segmentation.
Regardons les 5 premières lignes.
Les données contiennent 7 colonnes avec des transactions clients. Les principales que nous allons utiliser sont la date, le prix et le customerID.
Maintenant que nous avons chargé les données, construisons un tableau de cohortes simple pour les cohortes basées sur le temps.
Tout d'abord, nous créons une fonction qui tronque un objet date donné au premier jour du mois.
Ensuite, nous l'appliquons à la date de facture et créons une colonne InvoiceMonth.
Ensuite, nous créons un objet groupby() avec CustomerID et utilisons la colonne InvoiceMonth pour d'autres manipulations.
Enfin, nous utilisons transform() avec une fonction min() pour attribuer la plus petite valeur d'InvoiceMonth à chaque client. Avec cela, nous avons attribué le mois d'acquisition de la cohorte à chaque client.
Regardons les données. Nous avons ajouté deux colonnes - InvoiceMonth et CohortMonth. Maintenant, calculons le décalage temporel !
Avant de pouvoir calculer le décalage temporel, nous allons d'abord créer une fonction d'aide qui extraira les valeurs entières de l'année, du mois et du jour d'un objet datetime().
Maintenant, nous allons calculer le nombre de mois entre toute transaction et la première transaction pour chaque client. Nous utiliserons les valeurs d'InvoiceMonth et de CohortMonth pour cela.
Nous commencerons par créer deux objets avec les valeurs entières d'année et de mois à partir de chacune des variables InvoiceMonth et CohortMonth. Ensuite, nous allons calculer les différences en années et en mois entre elles.
Enfin, nous allons convertir la différence totale en mois en multipliant la différence d'années par 12 et en les additionnant.
Vous pouvez voir qu'il y a un "+1" à la fin. Nous faisons cela pour que le premier mois soit marqué comme 1 au lieu de 0 pour une interprétation plus facile.
Vous pouvez voir que la nouvelle colonne est ajoutée. Maintenant, tirons quelques indicateurs !
Nous allons maintenant calculer le nombre de clients actifs mensuels dans chaque cohorte.
Tout d'abord, nous allons créer un objet groupby avec CohortMonth et CohortIndex.
Ensuite, nous allons compter le nombre de clients dans chaque groupe en appliquant la fonction nunique() de pandas.
Puis, nous réinitialisons l'index et créons un tableau croisé dynamique pandas avec CohortMonth dans les lignes, CohortIndex dans les colonnes, et les comptes de CustomerID comme valeurs.
Jetons un coup d'œil à notre tableau.
Voici le résultat ! Nous avons créé un tableau qui servira de base pour le reste de ce chapitre.
Dans la prochaine leçon, nous allons apprendre à calculer le taux de rétention - c'est très simple et il ne reste que quelques lignes de code à écrire ! Maintenant - c'est à votre tour de construire des cohortes !