Predictive LTV & Churn — Documentation complète
Guide d'installation, configuration et utilisation du plugin de scoring LTV prédictif et segmentation RFM automatique pour WooCommerce.
Guide complet du plugin Predictive LTV & Churn pour WooCommerce : installation, configuration des Email Service Providers, lecture du tableau de bord, compréhension du modèle prédictif et de la segmentation RFM automatique.
Vue d’ensemble
Predictive LTV & Churn est un plugin WooCommerce qui score chaque client de votre boutique selon deux dimensions : sa valeur vie prédite (Lifetime Value) et sa probabilité de churn (perte). Sur cette base, il classe automatiquement chaque client dans l’un des 9 segments business exploitables, puis synchronise ces informations vers Brevo, Mailchimp ou Klaviyo pour piloter vos campagnes emailing avec finesse.
Le moteur s’inspire du modèle BG/NBD utilisé par les data scientists, mais il fonctionne sans configuration préalable : il apprend en continu la baseline réelle de votre boutique (taux de réachat, panier moyen, intervalle entre commandes) pour donner des prédictions raisonnables dès la première commande.
Installation
Prérequis
- WordPress 6.2 ou supérieur
- WooCommerce 7.0 ou supérieur (testé jusqu’à 9.4)
- PHP 7.4 ou supérieur (8.x recommandé)
- Une clé API pour au moins un ESP parmi Brevo, Mailchimp ou Klaviyo
Étapes d’installation
- Téléchargez le fichier ZIP
dfpredictivectvchurn.zipdepuis votre compte DataFirefly. - Dans l’admin WordPress, allez dans Extensions > Ajouter une extension > Téléverser une extension.
- Sélectionnez le ZIP puis cliquez sur Installer maintenant.
- Cliquez sur Activer l’extension.
- À l’activation, le plugin crée automatiquement 3 tables dédiées dans votre base :
wp_dfplc_customer_scores,wp_dfplc_export_queue,wp_dfplc_baseline.
FeaturesUtil. Aucun accès direct aux tables wp_postmeta, tout passe par wc_get_orders().
Premier lancement et scoring initial
Après activation, votre tableau de bord est vide : aucun client n’a encore été scoré. Deux options s’offrent à vous.
Option 1 : scoring incrémental automatique
Ne faites rien. Le plugin va scorer les clients au fur et à mesure des nouvelles commandes. C’est la voie la plus douce pour les grosses bases.
Option 2 : scoring rétroactif de l’historique complet
Rendez-vous dans Predictive LTV > Tableau de bord et cliquez sur le bouton Recalculer tous les clients. Le plugin va parcourir votre historique de commandes par batchs de 50 clients, calculer chaque score, mettre à jour la baseline boutique, puis rafraîchir les quintiles RFM. Selon la taille de votre base, comptez :
- Moins de 500 clients : quelques secondes
- 500 à 5 000 clients : 30 secondes à 3 minutes
- Plus de 5 000 clients : 5 à 15 minutes (le traitement continue en arrière-plan)
Configuration des Email Service Providers
Le plugin supporte trois ESP simultanément. Vous pouvez en activer un, deux ou les trois. Chaque configuration se fait dans Predictive LTV > Réglages.
Brevo (ex-Sendinblue)
- Connectez-vous à votre compte Brevo, allez dans SMTP & API > API Keys.
- Créez une clé v3 avec les permissions Contacts minimum.
- Créez une liste dédiée (par exemple « DataFirefly LTV »), notez son ID numérique.
- Dans le plugin, collez la clé API dans Clé API Brevo et l’ID de liste dans ID de liste Brevo.
- Cliquez sur Tester la connexion pour valider les identifiants.
Les attributs suivants seront créés automatiquement sur chaque contact Brevo : DFPLC_PREDICTED_LTV, DFPLC_LTV_CONF, DFPLC_CHURN_PROB, DFPLC_SEGMENT, DFPLC_TOTAL_ORDERS, DFPLC_TOTAL_SPENT, DFPLC_RFM_R, DFPLC_RFM_F, DFPLC_RFM_M, DFPLC_LAST_ORDER.
Mailchimp
- Dans Mailchimp, allez dans Account > Extras > API keys, créez une clé.
- Repérez le List ID de votre audience (dans Audience > Settings > Audience name and defaults).
- Dans le plugin, collez la clé et l’ID de liste.
- Cliquez sur Tester la connexion.
DFPLTV (LTV prédite), DFCONF (confiance), DFCHURN (churn), DFSEG (segment), DFORDERS, DFSPENT, DFRFM (concaténation R+F+M sur 3 chiffres).
Klaviyo
- Dans Klaviyo, allez dans Account > Settings > API Keys, créez une Private API Key avec les scopes Profiles: Full Access et Lists: Full Access.
- Optionnel : récupérez l’ID de la liste (visible dans l’URL
/list/<LIST_ID>) si vous voulez que le plugin abonne les contacts. - Dans le plugin, collez la clé et éventuellement l’ID de liste.
- Cliquez sur Tester la connexion.
Comprendre le modèle prédictif
La probabilité que le client soit encore actif
Le plugin calcule p_alive = exp(-days_since_last / expected_interval), où expected_interval est l’intervalle moyen entre deux commandes de ce client (ou la baseline boutique s’il n’a qu’une commande). Cette formule décroît exponentiellement : plus le temps passe depuis la dernière commande, plus la probabilité qu’il soit « perdu » augmente. La probabilité de churn est simplement (1 - p_alive) × 100.
La LTV prédite
La formule est : predicted_ltv = total_spent + p_alive × expected_future_orders × avg_aov_customer. Pour un nouveau client (une seule commande), le plugin utilise la baseline boutique pour estimer les commandes futures. Pour un client avec plusieurs commandes, il extrapole son rythme personnel sur un horizon d’un an.
La confiance
Le score de confiance combine deux composantes : la qualité de l’historique personnel (plus le client a de commandes, mieux c’est) et la richesse de la baseline boutique (plus la boutique a de données, mieux c’est). La formule pondère 0,6 × history_score + 0,4 × baseline_score.
Les 9 segments business
Le plugin classe chaque client dans exactement un segment selon une logique de priorité descendante. Les seuils utilisent les quintiles RFM (percentiles 20, 40, 60, 80) calculés sur votre base réelle.
- Champions : client avec R ≥ 4, F ≥ 4 et M ≥ 4. Top RFM à fidéliser.
- High-value at risk : LTV prédite ≥ p80 mais R ≤ 3 et churn ≥ 40 %. Signal d’alerte critique.
- Churn risk : churn ≥ 70 % et M ≥ 3. Client à valeur qui s’éloigne.
- New customer : 1 commande et moins de 30 jours d’ancienneté.
- Potential loyalist : 2 commandes ou plus, R ≥ 4. Sur le point de devenir loyal.
- Loyal : F ≥ 4 mais M ≤ 3. Régulier mais petit panier.
- Dormant : R ≤ 2 et F ≥ 2. A été bon, ne l’est plus.
- Lost : R = 1 et churn ≥ 90 %. Perdu, probablement définitivement.
- Low value : LTV prédite ≤ p25. Faible potentiel économique.
Utilisation du tableau de bord admin
Tableau de bord
Vue synthétique avec quatre KPI : nombre total de clients scorés, LTV moyenne prédite, taux de churn moyen, taille de la file d’export. En dessous, la distribution par segment est affichée en barres colorées, avec la légende associée. La baseline boutique est visible en bas : taux de réachat, panier moyen, intervalle moyen entre commandes.
Clients
Liste paginée avec filtres par segment, tri par LTV prédite, par churn, par nombre de commandes ou par date de dernière commande. Chaque ligne affiche l’email, le segment (avec pastille colorée), la LTV prédite, la confiance, le pourcentage de churn, le score RFM, le nombre de commandes, le CA total et la date de dernière commande.
Exports
Un panneau par ESP configuré, avec deux actions : Tester la connexion pour vérifier les identifiants, et Synchroniser tous les clients pour queuer l’ensemble de la base vers l’ESP en question. Un bouton global Traiter la file d’attente permet de forcer le traitement immédiat (sans attendre le cron horaire).
Réglages
Configuration générale (recalcul temps réel, auto-export, segments à auto-exporter, seuils de churn et de high-value) puis un panneau par ESP avec clé API et ID de liste.
Tâches planifiées
Le plugin programme deux tâches WP-Cron dès son activation.
dfplc_daily_recalculation: tourne chaque jour à 3h00. Recalcule la baseline boutique, rafraîchit les quintiles RFM, et rescore jusqu’à 500 clients dont le score date de plus de 24 heures.dfplc_hourly_export: tourne chaque heure. Dépile 100 lignes de la file d’export et pousse les données vers les ESP configurés. Les lignes en échec sont retentées jusqu’à 3 fois avant d’être marquées comme définitivement échouées.
wp-cron.php --disable_wp_cron), assurez-vous que votre planification appelle bien WordPress au moins une fois par heure, sinon la file d’export s’accumule.
API REST
Le plugin expose un namespace REST complet dfplc/v1, protégé par la capability manage_woocommerce. Utilisable pour des tableaux de bord externes, des scripts d’automation, ou des dashboards BI.
GET /wp-json/dfplc/v1/stats: statistiques globales (totaux, distribution par segment, file d’export, baseline).GET /wp-json/dfplc/v1/customers: liste paginée des clients scorés avec filtres et tri.POST /wp-json/dfplc/v1/recalculate: déclenche un recalcul par batch.POST /wp-json/dfplc/v1/exporter/{provider}/test: teste la connexion d’un ESP.POST /wp-json/dfplc/v1/exporter/{provider}/sync-all: queue toute la base vers un ESP.POST /wp-json/dfplc/v1/queue/process: force le traitement de la file d’export.
L’authentification se fait via un nonce wp_rest pour les appels depuis l’admin WordPress, ou via l’authentification standard REST WordPress (Application Passwords, JWT, etc.) pour les appels externes.
Multilingue et traduction
Le plugin est livré avec cinq catalogues de traduction : français, anglais, espagnol, allemand et italien. Le textdomain est dfpredictivectvchurn. Les fichiers .po se trouvent dans languages/ ; vous pouvez les éditer avec Poedit ou Loco Translate pour ajouter d’autres langues ou personnaliser certaines chaînes.
.mo compilés à chaque sauvegarde. C’est la méthode la plus simple si vous n’êtes pas à l’aise avec la ligne de commande.
Désinstallation
Le fichier uninstall.php est déclenché automatiquement par WordPress lorsque vous supprimez le plugin depuis l’écran Extensions. Il effectue les opérations suivantes :
- Suppression des 3 tables custom (
dfplc_customer_scores,dfplc_export_queue,dfplc_baseline) - Suppression de toutes les options préfixées
dfplc_ - Suppression du transient
dfplc_quintiles - Déprogrammation des deux tâches WP-Cron
Aucune donnée résiduelle ne subsiste après désinstallation.
Dépannage
« Les scores ne se mettent pas à jour »
Vérifiez que WP-Cron est actif (option DISABLE_WP_CRON non définie dans wp-config.php) ou qu’un cron système appelle bien wp-cron.php régulièrement. Vous pouvez aussi forcer un recalcul manuel depuis le tableau de bord.
« La file d’export s’accumule »
Testez la connexion de chaque ESP configuré. Si la clé API est expirée ou révoquée, les appels échouent silencieusement dans le cron. Consultez la colonne last_error de la table wp_dfplc_export_queue pour identifier la cause exacte.
« Mes chiffres semblent incohérents »
Assurez-vous que la baseline a bien été recalculée après votre scoring initial. Si vous avez importé un gros lot de commandes historiques, forcez un recalcul complet depuis le tableau de bord pour rafraîchir toutes les statistiques.
Ressources
- Support technique : datafirefly.com/support
- Contact commercial : contact@datafirefly.com
- Changelog complet : voir la fiche produit