Analyse systèmeAnalyste produit

Décrivez l'approche pour isoler l'effet causal du programme de parrainage sur la LTV à long terme en présence d'endogénité de l'auto-sélection et de retards dans la conversion des utilisateurs invités.

Réussissez les entretiens avec l'assistant IA Hintsage

Réponse à la question

Le principal problème dans l'évaluation des programmes de parrainage est l'endogénité de l'auto-sélection : les utilisateurs très engagés ont déjà une LTV plus élevée et invitent plus souvent des amis, créant l'illusion d'une grande efficacité de ce canal. Pour une évaluation correcte, nous appliquons des méthodes d'inférence causale : Propensity Score Matching (PSM) pour éliminer le biais lié aux caractéristiques observables, ou Instrumental Variables (IV), s'il existe un instrument randomisé (par exemple, un affichage aléatoire de la bannière).

Pour prendre en compte les délais temporels entre l'envoi de l'invitation et la conversion du parrainage, nous utilisons Survival Analysis (modèle de Kaplan-Meier ou Cox Proportional Hazards) au lieu d'une simple analyse de cohortes. Cela permet de traiter correctement les données censurées (right-censoring), lorsque certains utilisateurs n'ont pas encore terminé leur cycle de vie. La LTV est calculée en intégrant la courbe de rétention avec un discount ou en utilisant la méthode BTYD (Pareto/NBD) pour prédire les transactions futures.

Situation de la vie réelle

Contexte : Dans une application mobile de livraison de nourriture, un programme de parrainage avec bonus bilatéraux a été lancé. Trois mois après, le rapport dans Tableau a montré que les utilisateurs ayant activé le lien de parrainage avaient une LTV 40 % supérieure à la moyenne de la plateforme. Le Product Manager a demandé à augmenter le budget, mais l'équipe d'analyse soupçonnait que la différence était due non pas au programme, mais aux caractéristiques fondamentales des super-utilisateurs.

Problème : Il était impossible de séparer l'effet réel incrémental de la corrélation avec l'engagement. L'utilisation de simples requêtes SQL pour comparer les groupes fournissait une estimation biaisée en raison de facteurs confondants (fréquence des commandes, temps passé dans le produit). Sans une évaluation correcte, l'entreprise risquait de surpayer pour un canal avec une marge bénéficiaire négative ou proche de zéro.

Solution 1 : Comparaison directe des cohortes via SQL

Nous avons comparé la cohorte "Inviteurs" (traitement) et "Non-inviteurs" (contrôle) en utilisant l'agrégation dans BigQuery, en calculant l'ARPU et la rétention au 90ème jour.

Avantages : Mise en œuvre instantanée, visualisation claire pour les parties prenantes, faibles exigences en ressources.

Inconvénients : Erreur critique d'auto-sélection (self-selection bias) et erreur de survie. Les utilisateurs qui prévoyaient déjà de rester dans le produit utilisent plus souvent les références. Le résultat est surestimé et inutilisable pour la prise de décisions.

Solution 2 : Propensity Score Matching sur des données historiques

Dans Python (scikit-learn), nous avons construit un modèle de régression logistique pour estimer le propensity score - la probabilité de participation au programme basé sur des caractéristiques prétraitement (âge du compte, historique des commandes, montant moyen). Nous avons ensuite appliqué Nearest Neighbors pour faire un appariement paire à paire 1:1 et comparé la LTV uniquement dans des sous-groupes comparables.

Avantages : Élimine le biais par rapport aux variables observables (observable confounders), fonctionne sur des données rétrospectives sans besoin d'expérience. Permet d'obtenir rapidement une estimation de l'ATT (Average Treatment Effect on the Treated).

Inconvénients : N'élimine pas les caractéristiques non observables (unobserved confounders), telles que l'extraversion ou le capital social. En cas de données déséquilibrées (peu d'invitants), des problèmes de soutien commun (common support) se posent, et une partie de l'échantillon est rejetée, réduisant la puissance.

Solution 3 : Variables instrumentales et Survival Analysis

Nous avons trouvé un examen naturel : 50 % des utilisateurs ont vu par hasard une bannière du programme de parrainage sur l'écran d'accueil (instrument Z), ce qui influençait la probabilité de participation (X), mais pas directement la LTV (Y). Nous avons évalué l'effet à l'aide de 2SLS (Two-Stage Least Squares) dans la bibliothèque linearmodels pour Python, obtenant le LATE (Local Average Treatment Effect). Pour prendre en compte les retards, nous avons appliqué Survival Analysis : construit une fonction de risque (hazard function) pour le temps jusqu'à la première commande du parrainage et ajusté la LTV en fonction de la probabilité de conversion à chaque moment.

Avantages : La méthode IV élimine à la fois les facteurs confondants observables et non observables, fournissant une évaluation causale. L'analyse de survie traite correctement les données incomplètes et permet de modéliser la dynamique temporelle.

Inconvénients : Nécessite un instrument valide (pertinence et exogénéité), ce qui est difficile à prouver. Diminution de la puissance statistique des estimations IV (intervalles de confiance larges). L'interprétation du LATE diffère de l'ATE (effet moyen uniquement pour les "complianceurs").

Solution choisie :

Nous avons opté pour une approche hybride : nous avons utilisé la randomisation de la bannière pour l'évaluation IV de l'effet pur de la participation, puis nous avons appliqué un modèle non linéaire Survival Analysis (Cox avec des covariables variant dans le temps) pour calculer la LTV attendue en tenant compte du temps de conversion des parrainages. Cela a permis de séparer l'effet du programme de l'effet de l'auto-sélection.

Résultat :

L'effet incrémental réel s'élevait à +12 % de LTV pour le groupe des complianceurs, et non à +40 % comme dans le rapport initial. L'analyse des délais a montré que 85 % des conversions de parrainage se produisent dans les 14 premiers jours après le clic, ce qui a permis de réduire l'horizon d'évaluation de l'efficacité de 90 à 30 jours. L'entreprise a révisé la survie unitaire, réduisant le coût d'acquisition (CAC) de 18 % en abandonnant des attentes de rétention longues.

Souvent omis par les candidats

Question 1 : Comment vérifier l'hypothèse SUTVA (absence d'intervention entre les unités) dans un programme de parrainage où il existe des effets de réseau entre les, inviteurs ?

SUTVA est violée si la densité des invitations dans le cercle social influence la probabilité de conversion (par exemple, saturation ou effet viral). Pour vérifier, nous utilisons la clustering : divisons les utilisateurs en clusters géographiques ou segments par graphes sociaux grâce à l'Analyse de Graphes (NetworkX).

Nous appliquons ensuite le Difference-in-Differences, en comparant les clusters avec une forte et une faible pénétration des liens de parrainage. Si l'effet dans les clusters denses diffère significativement (plus bas en raison de la saturation ou plus haut en raison de la preuve sociale), SUTVA est violée et des modèles avec interactions intergroupes (modèles spatiaux) doivent être utilisés ou l'analyse doit être limitée à des segments isolés.

Question 2 : Pourquoi ne peut-on pas utiliser une régression linéaire ordinaire (OLS) pour prédire la LTV dans des conditions de données censurées, lorsque certains utilisateurs n'ont pas encore subi de churn ?

L'OLS ignore le fait de la censure (right-censoring), traitant la LTV actuelle comme finale, ce qui entraîne une sous-estimation systématique des estimations pour les utilisateurs "jeunes". À la place, nous utilisons Survival Analysis pour évaluer la courbe de rétention ( S(t) ), puis la intégrons pour obtenir la durée de vie attendue.

Alternativement, nous utilisons des modèles probabilistes de réachats (BTYD), tels que Pareto/NBD ou Gamma-Gamma, implémentés dans la bibliothèque lifetimes pour Python. Ces modèles tiennent compte des transactions invisibles grâce à des distributions probabilistes de fréquence et de temps entre les achats, fournissant une estimation non biaisée de la future LTV même pour les utilisateurs actifs.

Question 3 : Comment distinguer les invitations incrémentales (invitations qui n'auraient eu lieu que grâce au programme) des invitations organiques (qui auraient eu lieu même sans stimulant) lors de l'évaluation de l'effet ?

Nous utilisons le cadre de Principal Stratification, séparant la population en quatre groupes (strates) : Always-takers (inviteraient toujours), Compliers (n'ont invité que grâce au programme), Never-takers et Defiers. Grâce à l'analyse IV avec un instrument binaire (par exemple, a vu / n'a pas vu la bannière), nous évaluons le LATE - l'effet uniquement pour les Compliers.

Pour une segmentation plus détaillée, nous appliquons des méthodes Causal Machine Learning (EconML, CausalML en Python), telles que Causal Forest ou Meta-learners (S-Learner, T-Learner), pour évaluer l'Effet de Traitement Conditionnel Moyen (CATE) pour différents segments. Cela permet de comprendre pour quels utilisateurs (par exemple, faible / haut montant) le programme génère des invitations incrémentales, et pour lesquels il ne fait que capter le partage organique.