WP WordPress Gemiddeld

Predictive LTV & Churn: volledige documentatie

Handleiding voor installatie, configuratie en gebruik van de plugin voor voorspellende LTV-scoring en automatische RFM-segmentatie in WooCommerce.

Bijgewerkt Moduleversie 1.0.0

Volledige handleiding van de plugin Predictive LTV & Churn voor WooCommerce: installatie, instelling van de e-mailproviders, het dashboard lezen, en het begrijpen van het voorspellende model en de automatische RFM-segmentatie.

Overzicht

Predictive LTV & Churn is een WooCommerce-plugin die elke klant van uw winkel op twee dimensies scoort: zijn voorspelde klantwaarde (Lifetime Value) en zijn kans op afhaken (churn). Op basis daarvan deelt de plugin elke klant automatisch in bij een van de 9 bruikbare zakelijke segmenten, en synchroniseert die informatie naar Brevo, Mailchimp of Klaviyo, zodat u uw e-mailcampagnes fijnmaziger kunt aansturen.

De motor is geïnspireerd op het BG/NBD-model dat datawetenschappers gebruiken, maar werkt zonder voorafgaande configuratie: hij leert doorlopend de werkelijke basislijn van uw winkel (herhaalaankooppercentage, gemiddelde bestelwaarde, tussentijd tussen bestellingen) en geeft daardoor al vanaf de eerste bestelling redelijke voorspellingen.

Typische toepassing. Een klant plaatst een eerste bestelling. De plugin merkt die op, berekent meteen zijn voorspelde LTV (met een lage betrouwbaarheid maar een bruikbare waarde), plaatst hem in het segment “Nieuwe klant” en stuurt hem naar Brevo met de attributen DFPLC_PREDICTED_LTV en DFPLC_SEGMENT. Uw Brevo-automatisering kan dan een passende welkomstreeks starten.

Installatie

Vereisten

  • WordPress 6.2 of hoger
  • WooCommerce 7.0 of hoger (getest tot 9.4)
  • PHP 7.4 of hoger (8.x aanbevolen)
  • Een API-sleutel voor minstens één provider: Brevo, Mailchimp of Klaviyo

Installatiestappen

  1. Download het ZIP-bestand dfpredictivectvchurn.zip vanuit uw DataFirefly-account.
  2. Ga in het WordPress-beheer naar Plugins > Nieuwe plugin > Plugin uploaden.
  3. Selecteer de ZIP en klik op Nu installeren.
  4. Klik op Plugin activeren.
  5. Bij de activering maakt de plugin automatisch 3 eigen tabellen aan in uw database: wp_dfplc_customer_scores, wp_dfplc_export_queue en wp_dfplc_baseline.
De plugin verklaart uitdrukkelijk haar compatibiliteit met de High Performance Order Storage (HPOS) van WooCommerce via FeaturesUtil. Er is geen enkele directe toegang tot de tabel wp_postmeta: alles verloopt via wc_get_orders().

Eerste start en beginscore

Na de activering is uw dashboard leeg: er is nog geen enkele klant gescoord. U hebt twee mogelijkheden.

Optie 1: automatisch scoren, stap voor stap

Doe niets. De plugin scoort de klanten gaandeweg, bij elke nieuwe bestelling. Dat is de zachtste weg voor grote bestanden.

Optie 2: met terugwerkende kracht de hele historiek scoren

Ga naar Predictive LTV > Dashboard en klik op de knop Alle klanten herberekenen. De plugin doorloopt uw bestelhistoriek in blokken van 50 klanten, berekent elke score, werkt de basislijn van de winkel bij en ververst daarna de RFM-kwintielen. Afhankelijk van de omvang van uw bestand rekent u op:

  • minder dan 500 klanten: enkele seconden
  • 500 tot 5.000 klanten: 30 seconden tot 3 minuten
  • meer dan 5.000 klanten: 5 tot 15 minuten (de verwerking loopt op de achtergrond door)
Bij een winkel met meer dan 20.000 klanten is het aan te raden de optie “herberekening in realtime” tijdens de eerste scoring even uit te zetten, om dubbele belasting te vermijden.

De e-mailproviders instellen

De plugin ondersteunt drie providers tegelijk. U kunt er één, twee of alle drie inschakelen. Elke instelling vindt u in Predictive LTV > Instellingen.

Brevo (voorheen Sendinblue)

  1. Log in op uw Brevo-account en ga naar SMTP & API > API Keys.
  2. Maak een v3-sleutel aan met minstens de rechten op Contacts.
  3. Maak een aparte lijst aan (bijvoorbeeld “DataFirefly LTV”) en noteer het numerieke ID.
  4. Plak in de plugin de API-sleutel bij API-sleutel Brevo en het lijst-ID bij Lijst-ID Brevo.
  5. Klik op Verbinding testen om de gegevens te valideren.

Op elk Brevo-contact worden automatisch de volgende attributen aangemaakt: 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 en DFPLC_LAST_ORDER.

Mailchimp

  1. Ga in Mailchimp naar Account > Extras > API keys en maak een sleutel aan.
  2. Zoek het List ID van uw audience op (bij Audience > Settings > Audience name and defaults).
  3. Plak de sleutel en het lijst-ID in de plugin.
  4. Klik op Verbinding testen.
Mailchimp beperkt de namen van merge fields tot 10 tekens. De plugin gebruikt daarom verkorte namen: DFPLTV (voorspelde LTV), DFCONF (betrouwbaarheid), DFCHURN (churn), DFSEG (segment), DFORDERS, DFSPENT en DFRFM (R, F en M samengevoegd tot 3 cijfers).

Klaviyo

  1. Ga in Klaviyo naar Account > Settings > API Keys en maak een Private API Key aan met de scopes Profiles: Full Access en Lists: Full Access.
  2. Optioneel: haal het lijst-ID op (zichtbaar in de URL /list/<LIST_ID>) als u wilt dat de plugin contacten abonneert.
  3. Plak de sleutel en eventueel het lijst-ID in de plugin.
  4. Klik op Verbinding testen.

Het voorspellende model begrijpen

De kans dat de klant nog actief is

De plugin berekent p_alive = exp(-days_since_last / expected_interval), waarbij expected_interval de gemiddelde tussentijd tussen twee bestellingen van die klant is (of de basislijn van de winkel als hij maar één bestelling heeft). Die formule daalt exponentieel: hoe langer de laatste bestelling geleden is, hoe groter de kans dat de klant “verloren” is. De churnkans is simpelweg (1 - p_alive) × 100.

De voorspelde LTV

De formule luidt: predicted_ltv = total_spent + p_alive × expected_future_orders × avg_aov_customer. Bij een nieuwe klant (één bestelling) gebruikt de plugin de basislijn van de winkel om de toekomstige bestellingen te schatten. Bij een klant met meerdere bestellingen wordt zijn eigen ritme geëxtrapoleerd over een horizon van een jaar.

De betrouwbaarheid

De betrouwbaarheidsscore combineert twee componenten: de kwaliteit van de persoonlijke historiek (hoe meer bestellingen, hoe beter) en de rijkdom van de basislijn van de winkel (hoe meer gegevens, hoe beter). De formule weegt 0,6 × history_score + 0,4 × baseline_score.

Bij een nieuwe klant van wie de eerste bestelling minder dan 30 dagen oud is, wordt de churnkans rond 50 procent geneutraliseerd, om valse alarmen te voorkomen. Er is dan nog geen betrouwbaar signaal om te zeggen of hij terugkomt.

De 9 zakelijke segmenten

De plugin plaatst elke klant in precies één segment, volgens een aflopende prioriteitslogica. De drempels gebruiken de RFM-kwintielen (percentielen 20, 40, 60 en 80) die op uw eigen bestand worden berekend.

  • Champions: klant met R ≥ 4, F ≥ 4 en M ≥ 4. De RFM-top, om vast te houden.
  • High-value at risk: voorspelde LTV ≥ p80 maar R ≤ 3 en churn ≥ 40 procent. Een kritiek alarmsignaal.
  • Churn risk: churn ≥ 70 procent en M ≥ 3. Een waardevolle klant die afdrijft.
  • New customer: 1 bestelling en minder dan 30 dagen bekend.
  • Potential loyalist: 2 bestellingen of meer, R ≥ 4. Op het punt loyaal te worden.
  • Loyal: F ≥ 4 maar M ≤ 3. Regelmatig, maar met een klein mandje.
  • Dormant: R ≤ 2 en F ≥ 2. Was goed, is dat niet meer.
  • Lost: R = 1 en churn ≥ 90 procent. Verloren, waarschijnlijk definitief.
  • Low value: voorspelde LTV ≤ p25. Weinig economisch potentieel.
Heeft uw winkel minder dan 20 gescoorde klanten, dan schakelt de segmentatie over op een “standaardmodus” en kent ze eenvoudigweg new_customer of loyal toe op basis van het aantal bestellingen. De kwintielen zijn pas boven die drempel statistisch betekenisvol.

Het beheerdersdashboard gebruiken

Dashboard

Een overzicht met vier KPI’s: het totale aantal gescoorde klanten, de gemiddelde voorspelde LTV, het gemiddelde churnpercentage en de omvang van de exportwachtrij. Daaronder staat de verdeling per segment in gekleurde balken, met de bijbehorende legende. Onderaan ziet u de basislijn van de winkel: herhaalaankooppercentage, gemiddelde bestelwaarde en gemiddelde tussentijd tussen bestellingen.

Klanten

Een gepagineerde lijst met filters per segment en sortering op voorspelde LTV, op churn, op aantal bestellingen of op datum van de laatste bestelling. Elke regel toont het e-mailadres, het segment (met gekleurd bolletje), de voorspelde LTV, de betrouwbaarheid, het churnpercentage, de RFM-score, het aantal bestellingen, de totale omzet en de datum van de laatste bestelling.

Exports

Eén paneel per ingestelde provider, met twee acties: Verbinding testen om de gegevens te controleren, en Alle klanten synchroniseren om het hele bestand naar die provider in de wachtrij te zetten. Met de algemene knop Wachtrij verwerken forceert u een onmiddellijke verwerking, zonder op de uurlijkse cron te wachten.

Instellingen

De algemene configuratie (herberekening in realtime, automatische export, welke segmenten automatisch worden geëxporteerd, drempels voor churn en voor high value) plus één paneel per provider met API-sleutel en lijst-ID.

Geplande taken

De plugin plant bij de activering twee WP-Cron-taken in.

  • dfplc_daily_recalculation: draait elke dag om 3.00 uur. Herberekent de basislijn van de winkel, ververst de RFM-kwintielen en scoort tot 500 klanten opnieuw van wie de score ouder is dan 24 uur.
  • dfplc_hourly_export: draait elk uur. Verwerkt 100 regels uit de exportwachtrij en stuurt de gegevens naar de ingestelde providers. Mislukte regels worden tot 3 keer opnieuw geprobeerd voordat ze als definitief mislukt worden gemarkeerd.
Gebruikt u een systeemcron (via wp-cron.php --disable_wp_cron), zorg er dan voor dat uw planning WordPress minstens één keer per uur aanroept, anders loopt de exportwachtrij op.

REST API

De plugin biedt een volledige REST-namespace dfplc/v1, beschermd door de capability manage_woocommerce. Bruikbaar voor externe dashboards, automatiseringsscripts of BI-tools.

  • GET /wp-json/dfplc/v1/stats: algemene statistieken (totalen, verdeling per segment, exportwachtrij, basislijn).
  • GET /wp-json/dfplc/v1/customers: gepagineerde lijst van gescoorde klanten, met filters en sortering.
  • POST /wp-json/dfplc/v1/recalculate: start een herberekening in blokken.
  • POST /wp-json/dfplc/v1/exporter/{provider}/test: test de verbinding met een provider.
  • POST /wp-json/dfplc/v1/exporter/{provider}/sync-all: zet het hele bestand richting een provider in de wachtrij.
  • POST /wp-json/dfplc/v1/queue/process: forceert de verwerking van de exportwachtrij.

De authenticatie verloopt via een nonce wp_rest voor aanroepen vanuit het WordPress-beheer, of via de standaard REST-authenticatie van WordPress (Application Passwords, JWT en dergelijke) voor externe aanroepen.

Meertaligheid en vertaling

De plugin wordt geleverd met vijf vertaalcatalogi: Frans, Engels, Spaans, Duits en Italiaans. Het text domain is dfpredictivectvchurn. De .po-bestanden staan in languages/; u kunt ze met Poedit of Loco Translate bewerken om andere talen toe te voegen of bepaalde teksten aan te passen.

Loco Translate maakt bij elke opslag automatisch de gecompileerde .mo-bestanden aan. Dat is de eenvoudigste manier als u niet vertrouwd bent met de opdrachtregel.

Verwijderen

Het bestand uninstall.php wordt automatisch door WordPress uitgevoerd wanneer u de plugin verwijdert via het scherm Plugins. Het doet het volgende:

  • de 3 eigen tabellen verwijderen (dfplc_customer_scores, dfplc_export_queue, dfplc_baseline);
  • alle opties met het voorvoegsel dfplc_ verwijderen;
  • de transient dfplc_quintiles verwijderen;
  • de twee WP-Cron-taken uit de planning halen.

Er blijven na het verwijderen geen resterende gegevens achter.

Probleemoplossing

“De scores worden niet bijgewerkt”

Controleer of WP-Cron actief is (de optie DISABLE_WP_CRON staat niet in wp-config.php) of dat een systeemcron wp-cron.php regelmatig aanroept. U kunt ook vanaf het dashboard een handmatige herberekening forceren.

“De exportwachtrij loopt op”

Test de verbinding van elke ingestelde provider. Is de API-sleutel verlopen of ingetrokken, dan mislukken de aanroepen stilzwijgend in de cron. Raadpleeg de kolom last_error van de tabel wp_dfplc_export_queue om de precieze oorzaak te vinden.

“Mijn cijfers lijken niet te kloppen”

Controleer of de basislijn na uw eerste scoring wel opnieuw is berekend. Hebt u een grote partij historische bestellingen geïmporteerd, forceer dan vanaf het dashboard een volledige herberekening om alle statistieken te verversen.

Bronnen

Was deze pagina nuttig?

Loopt u nog vast? Neem contact op met support