Ingénierie des caractéristiques pour l'analyse de cohortes
Glissez pour afficher le menu
L’ingénierie des caractéristiques est le processus de création de nouvelles variables à partir de données brutes afin d’améliorer l’analyse, la modélisation ou la segmentation. Dans l’analyse de cohortes, une ingénierie des caractéristiques efficace permet d’extraire des informations plus approfondies sur le comportement des utilisateurs au fil du temps. Les caractéristiques typiques incluent la durée de vie de l’utilisateur (combien de temps un utilisateur est resté actif), les comptes d’activité (combien de fois un utilisateur a effectué une action spécifique) et la récence (depuis combien de temps un utilisateur a été actif pour la dernière fois). Ces caractéristiques permettent de regrouper les utilisateurs de manière plus pertinente, révélant des tendances en matière de rétention, d’engagement et d’attrition. En concevant de telles caractéristiques, il est possible d’aller au-delà de l’attribution de cohortes basique et de construire des cohortes plus riches et exploitables.
12345678910111213141516171819202122232425262728import pandas as pd # Sample user activity data data = { "user_id": [1, 1, 1, 2, 2, 3, 3, 3, 3], "activity_date": [ "2024-01-01", "2024-01-10", "2024-02-01", "2024-01-05", "2024-02-20", "2024-01-03", "2024-01-10", "2024-01-20", "2024-03-01" ] } df = pd.DataFrame(data) df["activity_date"] = pd.to_datetime(df["activity_date"]) # Calculate user lifetime (days between first and last activity) user_lifetime = df.groupby("user_id")["activity_date"].agg(["min", "max"]) user_lifetime["user_lifetime_days"] = (user_lifetime["max"] - user_lifetime["min"]).dt.days # Calculate activity count per user activity_counts = df.groupby("user_id").size().rename("activity_count") # Calculate recency (days since last activity, assuming analysis date is 2024-03-15) analysis_date = pd.to_datetime("2024-03-15") recency = df.groupby("user_id")["activity_date"].max().apply(lambda x: (analysis_date - x).days).rename("recency_days") # Combine features into a single DataFrame features = pd.concat([user_lifetime["user_lifetime_days"], activity_counts, recency], axis=1) print(features)
Les caractéristiques créées dans l’exemple de code — durée de vie de l’utilisateur, comptes d’activité et récence — sont des outils puissants pour la segmentation et l’analyse des cohortes. En mesurant la durée d’activité d’un utilisateur, la fréquence de son engagement et la date de sa dernière interaction, il est possible d’identifier des différences significatives entre les cohortes. Par exemple, les utilisateurs ayant une longue durée de vie et une activité fréquente peuvent appartenir à des cohortes très engagées, tandis que ceux présentant une forte récence pourraient être à risque d’attrition. Ces caractéristiques conçues permettent d’aller au-delà du simple regroupement temporel, offrant une segmentation multidimensionnelle qui révèle des schémas comportementaux plus profonds et soutient des stratégies commerciales plus ciblées.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion