Le contexte historique remonte à l'évolution des modèles freemium des limites statiques (5 Go fixes dans le cloud) vers des restrictions dynamiques et adaptatives basées sur le Machine Learning. Les approches classiques d'évaluation de l'efficacité de telles interventions rencontrent une endogénéité fondamentale : le système limite intentionnellement les utilisateurs avec une forte propension prédite à la conversion, créant un fort biais de sélection. Les premières méthodes d'analyse corrélationnelle fournissaient des estimations biaisées car elles ignoraient le confounding by indication, conduisant à une surestimation de l'effet de 200 à 300%.
La formulation du problème nécessite de mesurer le Local Average Treatment Effect (LATE) dans des conditions où l'attribution de la limite est corrélée à la motivation latente de l'utilisateur. Le modèle prédit la probabilité de conversion $P(conv|X)$ et attribue une limite lorsque $P > \tau$, ce qui rend les groupes incomparables à des caractéristiques observables et non observables. La comparaison directe des utilisateurs avec et sans limite conduit à une surestimation, car le groupe traité est initialement "plus chaud" et prêt à payer.
La solution détaillée est basée sur le Regression Discontinuity Design (RDD) à la limite $\tau$ du modèle de scoring. Dans le voisinage de la limite (bandwidth $h$), l'attribution de la limite est quasi-aléatoire, car les utilisateurs avec $P = \tau - \epsilon$ et $P = \tau + \epsilon$ sont statistiquement indistinguables. Une régression continue du résultat sur le score de scoring est construite avec une estimation du saut (jump) au point $\tau$. Pour augmenter la précision, une Causal Forest est utilisée pour estimer l'hétérogénéité de l'effet, et lors d'une mise en œuvre progressive, une méthode Difference-in-Discontinuities est utilisée pour contrôler les tendances temporelles. Alternativement, il est possible d'appliquer le Inverse Propensity Weighting (IPW) avec une estimation du propensity score via Random Forest, mais cela nécessite la condition de unconfoundedness, qui est rarement pleinement satisfaite.
Problème
Dans un produit B2B SaaS pour la gestion des tâches, une limite dynamique a été mise en œuvre sur le nombre de projets actifs pour les comptes gratuits. Un modèle ML a analysé plus de 50 caractéristiques comportementales et a bloqué la création de nouveaux projets, prédisant une probabilité de conversion supérieure à 0,75. L'équipe produit a observé une augmentation de la conversion de 40 % parmi les utilisateurs "limités", mais n'a pas pu isoler l'effet de la limitation de l'auto-sélection des utilisateurs motivés. Par ailleurs, l'interdiction totale des limites pour le test était impossible, car cela signifierait une perte de 200 000 $ de MRR par mois d'expérience.
Option 1 : Comparaison naïve avec des données historiques
Comparer la conversion des utilisateurs actuels avec une limite par rapport à la cohorte de deux mois avant l'implémentation de la fonctionnalité. Avantages : nécessite des coûts d'infrastructure minimaux, évaluation rapide sans changements techniques. Inconvénients : ignore complètement la saisonnalité (une baisse d'activité autour des fêtes de fin d'année), la tendance générale de croissance de conversion (le produit devenait plus mature) et l'effet de nouveauté ; donne une estimation biaisée en faveur d'une surestimation de 35 à 40 % en raison du biais de sélection.
Option 2 : Test A/B classique avec désactivation du modèle ML
Désactiver aléatoirement l'attribution des limites pour 15 % des utilisateurs, leur permettant d'utiliser le produit sans limites indépendamment du scoring. Avantages : standard d'or de la causalité, mesure directe de l'Average Treatment Effect (ATE). Inconvénients : catégoriquement rejeté par le niveau C en raison du risque de perte des utilisateurs "chauds", qui dans le groupe de contrôle ne recevraient pas de déclencheur à la conversion ; crée des coûts d'opportunité significatifs et des conflits éthiques (pourquoi à certains on permet tout, et pas à d'autres).
Option 3 : Regression Discontinuity Design avec approche hybride
Utiliser le seuil naturel du scoring (0,75) comme point de rupture, en comparant les utilisateurs avec une probabilité de conversion de 0,74 et 0,76 comme groupes localement randomisés (~5000 utilisateurs dans la fenêtre ±0,05). Compléter avec la Synthetic Control Method pour les régions où l'implémentation est retardée d'un mois. Avantages : conserve la logique commerciale pour 95 % des utilisateurs ; donne une estimation non biaisée de l'effet local (LATE) pour les utilisateurs "limites" ; permet d'utiliser la variation naturelle sans nuire aux revenus. Inconvénients : nécessite une grande taille d'échantillon autour du seuil (>2000 observations) ; l'estimation n'est applicable qu'à un sous-groupe avec $P(conv) \approx 0,75$, et non à toute la population ; sensible à la manipulation du seuil (nécessite le McCrary test sur la densité de répartition).
Solution choisie et résultat
RDD a été choisie avec une largeur de fenêtre optimale selon la méthode Calonico-Cattaneo-Titiunik (CCT bandwidth), complétée par une Causal Forest pour rechercher des sous-populations avec un effet négatif. L'analyse a révélé qu'une limite stricte donne +12 % à la conversion pour les utilisateurs "moyens" (autour du seuil), mais -8 % à la rétention pour les utilisateurs puissants (fort engagement, mais scoring juste en dessous du seuil). Sur cette base, un mode hybride a été mis en œuvre : des limites souples (uniquement un avertissement) pour les utilisateurs puissants, des limites strictes (hard cap) pour les utilisateurs moyens. Le résultat final : une augmentation de la conversion de 8 % tout en maintenant une rétention à 30 jours au niveau de 96 % du niveau de base, ce qui a rapporté 450 000 $ de chiffre d'affaires récurrent annuel supplémentaire en un trimestre sans perte des utilisateurs clés.
Comment distinguer l'effet de la restriction elle-même de l'effet de "rappel" (reminder effect) de la version payante ?
Les candidats interprètent souvent l'augmentation de la conversion comme un résultat uniquement de la restriction financière, ignorant que la notification même de la limite agit comme un point de contact marketing. Pour isoler, un groupe de contrôle supplémentaire avec une notification "douce" (simplement des informations sur le premium sans blocage de fonction) ou une analyse du temps entre l'affichage de la limite et la conversion est nécessaire. Si la conversion se produit instantanément (dans l'heure) — cela est probablement un reminder effect, si c'est après 3 à 7 jours après plusieurs tentatives d'atteindre la limite — c'est l'effet réel de la restriction. Il est également possible d'utiliser une variable instrumentale sous la forme d'une latence technique de l'affichage de la notification comme une variation aléatoire de l'intensité du rappel, appliquant une régression 2SLS.
Comment prendre en compte les effets de réseau dans les produits collaboratifs (Notion, Figma), où la restriction d'un utilisateur affecte la collaboration des collègues ?
Dans le B2B SaaS, la restriction d'un membre d'équipe crée des effets d'entraînement : les collègues peuvent soit agréger les ressources dans un seul compte, soit migrer vers un concurrent. Le RDD classique ignore ces effets externes, violant le SUTVA (Stable Unit Treatment Value Assumption). La solution consiste en un cluster-RDD au niveau de l'équipe/espace de travail, où le traitement est défini par la part d'utilisateurs "limités" au sein de l'équipe, ou d'utiliser les deux étapes de moindres carrés (2SLS) avec le nombre de voisins limités dans le graphe réseau comme instrument. Il est important de mesurer les violations à travers l'analyse de l'activité réseau (matrice d'adjacence réseau) entre les utilisateurs avec différents statuts de limites, vérifiant l'hypothèse sur l'homophilie dans les équipes.
Comment séparer l'effet véritable de la restriction d'une fonction spécifique du décalage d'utilisation vers des fonctions moins précieuses (substitution bias) ?
Les utilisateurs, confrontés à une restriction sur la fonction A, peuvent migrer vers la fonction B (par exemple, des tableaux aux documents texte), créant l'illusion d'une forte rétention, mais diminuant effectivement la adhérence au produit et la profondeur d'adoption des fonctionnalités. Pour mesurer, une analyse de l'entropie de Shannon de l'utilisation des fonctionnalités (mesurant la diversité d'utilisation) ou une analyse de données compositionnelles (CODA) est nécessaire. Si l'entropie diminue après la restriction, cela signifie qu'il y a eu cannibalisation au sein du produit. La politique optimale devrait maximiser non seulement la conversion, mais aussi la valeur à vie attendue (LTV) en tenant compte de l'évolution du modèle d'utilisation, ce qui nécessite une modélisation via un Processus de Décision de Markov (MDP) ou un bandit contextuel avec une fonction de récompense tenant compte de la profondeur d'adoption des fonctionnalités et de la vitesse d'engagement, et non seulement le fait de la conversion.