# RFM-klantsegmentatie voor PrestaShop: documentatie

> De module geeft elke klant een score van 1 tot 5 op recentheid, frequentie en bestedingswaarde van zijn bestellingen, plaatst hem in een van de 11 RFM-segmenten, berekent zijn churnrisico…

- Pagina: <https://www.datafirefly.com/nl/documentation/dfrfmsegment/>
- Taal: nl
- Bijgewerkt op: 2026-09-24
- Andere talen: [fr](https://www.datafirefly.com/documentation/dfrfmsegment/index.md), [en](https://www.datafirefly.com/en/documentation/dfrfmsegment/index.md), [es](https://www.datafirefly.com/es/documentation/dfrfmsegment/index.md), [de](https://www.datafirefly.com/de/documentation/dfrfmsegment/index.md), [it](https://www.datafirefly.com/it/documentation/dfrfmsegment/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfrfmsegment/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfrfmsegment/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

De module geeft elke klant een score van 1 tot 5 op recentheid, frequentie en bestedingswaarde van zijn bestellingen, plaatst hem in een van de 11 RFM-segmenten, berekent zijn churnrisico en laat u gemeten campagnes met controlegroep uitvoeren. Deze pagina behandelt de installatie, de instellingen en elk scherm van de module.

## Installatie

1. Open in de back-office **Modules > Modulebeheer** en klik op **Een module uploaden**.
2. Upload het ZIP-bestand `dfrfmsegment`. De installatie maakt de tabellen van de module aan en drie items in het menu **Klanten**: **RFM-segmentatie** (dashboard), **RFM-klantscores** (lijst) en **RFM-campagnes**.
3. Open **Klanten > RFM-segmentatie** en klik op **Scores nu berekenen**. De eerste berekening analyseert de volledige bestelgeschiedenis: enkele seconden, tot een minuut bij een zeer groot klantenbestand.

Compatibel met PrestaShop 8.0 tot 9.x met hetzelfde ZIP-bestand. Upload voor een update vanaf een eerdere versie gewoon het nieuwe ZIP-bestand: de updatescripts maken de nieuwe tabellen aan zonder uw scores te verliezen.

## Instellingen

De instellingen opent u via de knop **Configureren** van de module of de knop **Instellingen** op het dashboard. Velden die niet van toepassing zijn, worden verborgen op basis van uw keuzes. Start na een wijziging de berekening opnieuw om de nieuwe parameters toe te passen.

### Gegevensbron

- **Analyseperiode**: aantal maanden voor frequentie en bestedingswaarde (standaard 24, 0 voor de volledige geschiedenis). Recentheid gebruikt altijd de laatste geldige bestelling, ook als die ouder is.
- **Bestedingswaarde**: producten excl. btw min kortingen (standaard), totaal betaald excl. btw of incl. btw. Bedragen worden omgerekend naar de standaardvaluta. Alleen geldige bestellingen tellen mee.
- **Gastaccounts meenemen**: standaard uitgeschakeld.
- **Realtime bijwerken**: herberekent een klant zodra de status van een van zijn bestellingen wijzigt, met de drempels van de laatste volledige berekening.
- **CSV-scheidingsteken**: puntkomma voor Excel in Europa, komma of tab.
- **Meetperiode van campagnes**: periode waarin bestellingen meetellen in de resultaten van een campagne (standaard 30 dagen).
- **Voorvoegsel kortingscodes**: RFM geeft bijvoorbeeld codes als RFM-7KQ2M9XA.

### Score van 1 tot 5

Elke dimensie werkt in **automatische** modus (klanten worden verdeeld in vijf even grote groepen) of **handmatige** modus (vier oplopende drempels). Voor recentheid krijgt een klant van wie de laatste bestelling binnen de eerste waarde valt een 5. Voor frequentie en bedrag geeft het bereiken van de vierde waarde een 5. Frequentie staat standaard op handmatig (2, 3, 5, 10 bestellingen), omdat de meeste klanten maar één bestelling hebben en kwintielen dan weinig zeggen.

### Churnrisico

De risicoratio deelt het aantal dagen sinds de laatste bestelling door de gebruikelijke tijd tussen twee bestellingen van de klant. Voor een eenmalige koper gebruikt de module de mediane herhaalaankooptijd van de winkel. Standaard gaat de klant bij 1,5 naar **Opvolgen**, bij 2,5 naar **Churnrisico** en bij 4 naar **Kritiek**.

## De 11 segmenten

| Segment | Profiel | Aanbevolen campagne |
| --- | --- | --- |
| Kampioenen | Recente aankoop, vaak, hoge winkelmand | Vroege toegang, VIP-voordelen, vragen om reviews en doorverwijzingen |
| Trouwe klanten | Kopen regelmatig met een goede winkelmand | Loyaliteitsbeloningen, upsell |
| Potentieel trouwe klanten | Recent, meer dan één bestelling | Loyaliteitsprogramma, persoonlijke aanbevelingen |
| Nieuwe klanten | Recente eerste bestelling | Welkomstreeks, stimulans voor een tweede bestelling |
| Veelbelovend | Recent, kleine winkelmand | Merkcontent, drempel voor gratis verzending |
| Aandacht nodig | Gemiddelde klanten, laatste bestelling al even geleden | Tijdelijke aanbieding op basis van eerdere aankopen |
| Bijna inactief | Lage waarde, afnemende activiteit | Populaire producten, bescheiden korting |
| Risico | Kochten regelmatig, komen niet meer terug | Persoonlijke win-back e-mail met een sterk aanbod |
| Niet verliezen | Voormalige topklanten die niet meer bestellen | Persoonlijk contact, enquête, beste aanbod |
| Slapend | Lage waarde, laatste bestelling lang geleden | Goedkope reactivatie, nieuwe producten |
| Verloren | Overal de laagste scores | Laatste poging, daarna uitsluiten van betaalde campagnes |

Een eenmalige koper met een recentheidsscore van 4 of 5 wordt altijd ingedeeld bij Nieuwe klanten.

## Dashboard

**Klanten > RFM-segmentatie** toont de volledige stand van uw klantenbestand. Een navigatiebalk leidt naar elke sectie.

- **Kerncijfers**: beoordeelde klanten en omzet van de periode, aandeel terugkerende klanten, omzet in gevaar, gebruikelijke herhaalaankooptijd.
- **Segmenten**: aantal en aandeel klanten, omzetaandeel, gemiddelde winkelmand, gemiddeld aantal dagen sinds de laatste bestelling, evolutie van het aandeel over 30 dagen, instroom in 7 dagen. De knoppen **Bekijken** en **CSV** openen of exporteren het segment.
- **Evolutie van de segmenten**: aandeel van elk segment over 30, 90 of 365 dagen. De grafiek verschijnt na twee berekeningen op verschillende dagen.
- **Kaart recentheid en waarde**: rijen = recentheidsscore, kolommen = gemiddelde van frequentie- en waardescore. Klik op een cel om de klanten te openen.
- **Churnrisico**: klanten en omzet per niveau, met lijst en export.
- **Verschuivingen in de laatste 30 dagen**: overgangen tussen segmenten, groene pijl voor een stijging, rode voor een daling, CSV-export per verschuiving.
- **Integraties**: status van de klantgroepen en van de laatste verzending naar Brevo of Klaviyo.
- **Waardevolle terugkerende klanten die afhaken**: de 10 klanten met risico die het zwaarst wegen.

## Klantenlijst en klantpagina

**Klanten > RFM-klantscores** toont alle beoordeelde klanten met segment, vorig segment, RFM-code, R- en FM-score, dagen sinds de laatste bestelling, bestellingen en omzet van de periode, risico en nieuwsbriefinschrijving. Elke kolom kan worden gefilterd en gesorteerd. Vink klanten aan en kies **Selectie exporteren naar CSV** in de bulkacties.

Op de pagina van een klant (**Klanten > Klanten > Bekijken**) toont de kaart **RFM-profiel** segment, scores, risico, gebruikelijke tijd tussen bestellingen, vorig segment, laatste campagne en kortingscode, gebruikt of niet.

## Campagnes

### Een campagne aanmaken

1. Open **Klanten > RFM-campagnes**.
2. Begin met een sjabloon (Afhakende klanten terugwinnen, Tweede bestelling van nieuwe klanten, Trouwe klanten die zijn gezakt, Kampioenen belonen, Slapende klanten reactiveren) of stel uw doelgroep samen: segmenten, herkomstsegment, risiconiveau, recente segmentwijziging, nieuwsbrieftoestemming.
3. De samenvatting rechts toont live het aantal overeenkomende klanten, doelklanten en controleklanten.
4. Klik op **Aanmaken en CSV downloaden**, of op **Aanmaken en verzenden naar Brevo** of **Klaviyo** als de integratie actief is. Het campagnerapport opent en het bestand wordt gedownload.

Vink **Resultaten meten** uit voor een eenmalige export zonder de lijst op te slaan of iets te meten.

### Controlegroep

De schuifregelaar **Controlegroep** (0 tot 50 %, standaard 10 %) houdt een willekeurig deel van de lijst apart. Deze klanten staan niet in de CSV en worden niet naar Brevo of Klaviyo verzonden. Door hun aankopen te vergelijken met die van de doelklanten ziet u het echte effect van de campagne. Mik op minstens 100 controleklanten voor een betrouwbare conclusie.

### Persoonlijke kortingscodes

Vink **Maak voor elke klant een persoonlijke kortingscode** aan en kies type (percentage of bedrag), waarde, geldigheid, minimale bestelling en eventueel gratis verzending. Elke doelklant krijgt een winkelwagenregel voor eenmalig gebruik, voorbehouden aan zijn account. De code staat in de CSV en in de attributen die naar Brevo of Klaviyo gaan. De limiet is 10.000 codes per campagne.

### Campagnerapport

Het rapport vergelijkt doelklanten en controlegroep tijdens de meetperiode: conversie, bestellingen, omzet excl. btw, omzet per klant, stijging in conversiepunten, geschatte extra omzet en gebruikte codes. Een toets op twee proporties op 95 % geeft aan of het verschil significant is, en een bericht vat de conclusie samen. Bij het verwijderen van een campagne worden de ongebruikte codes verwijderd; gebruikte codes blijven bewaard voor de bestelgeschiedenis.

## Klantgroepen

Schakel in de instellingen, sectie **Klantgroepen**, de synchronisatie in en koppel een groep aan elk segment, of klik op **Eén groep per segment aanmaken** om de 11 groepen "RFM - ..." met een naam in elke taal aan te maken. Een optionele groep kan alle klanten boven een risiconiveau verzamelen. De synchronisatie draait na elke volledige berekening en elke realtime update.

Gebruik aparte groepen: leden die niet meer bij het segment passen, worden eruit verwijderd. De standaardgroep van de klant en de standaardgroepen Bezoeker, Gast en Klant worden nooit gewijzigd. In PrestaShop gelden specifieke prijzen per groep alleen voor de standaardgroep: gebruik winkelwagenregels voor kortingen per segment.

## Brevo en Klaviyo

### Brevo

1. Kies in de instellingen, sectie **E-mailmarketing synchronisatie**, voor Brevo en plak uw API-sleutel (Brevo > SMTP en API > API-sleutels).
2. Klik op **Verbinding testen**: uw Brevo-lijsten verschijnen met hun ID. Vul het ID in van de lijst die de contacten ontvangt.
3. Kies de naamattributen: FIRSTNAME / LASTNAME, of PRENOM / NOM voor oudere Franse accounts.

Automatisch aangemaakte attributen: RFM_SEGMENT, RFM_CODE, RFM_CHURN_LEVEL, RFM_REVENUE, RFM_ORDERS, RFM_LAST_ORDER, RFM_PREV_SEGMENT, RFM_CAMPAIGN, RFM_VOUCHER en RFM_VOUCHER_END.

### Klaviyo

Kies Klaviyo, plak een privé API-sleutel met schrijfrechten voor Profiles en Lists en vul eventueel een lijst-ID in. Verzonden eigenschappen: rfm_segment, rfm_code, rfm_r, rfm_f, rfm_m, rfm_churn_level, rfm_revenue, rfm_orders, rfm_last_order, rfm_previous_segment, rfm_campaign, rfm_voucher en rfm_voucher_expires.

### Hoe de verzending werkt

Alleen contacten waarvan de gegevens sinds de vorige verzending zijn gewijzigd, worden verstuurd. Standaard alleen nieuwsbriefabonnees. De kortingscode wordt alleen verzonden zolang hij bruikbaar is. Maak daarna dynamische segmenten in uw tool, bijvoorbeeld RFM_SEGMENT gelijk aan `at_risk`, of RFM_CAMPAIGN gelijk aan de campagnenaam. De verzending start via de knop **Naar ... verzenden** op het dashboard, bij het aanmaken van een campagne, of automatisch na elke cron als de optie actief is. De link **Alle contacten opnieuw verzenden** forceert een volledige verzending.

## De berekening automatiseren

Plan een dagelijkse berekening om de scores actueel te houden en de geschiedenis op te bouwen. De cron-URL met token staat op het dashboard en op de configuratiepagina. Hij werkt ook als de winkel in onderhoudsmodus staat. Voorbeeld van een cPanel-taak om 3 uur 's nachts:

```
0 3 * * * curl -s "https://www.uw-winkel.nl/index.php?fc=module&module=dfrfmsegment&controller=cron&token=UW_TOKEN" > /dev/null
```

Via de opdrachtregel, in de hoofdmap van PrestaShop:

```
php modules/dfrfmsegment/cli.php
php modules/dfrfmsegment/cli.php --esp
php modules/dfrfmsegment/cli.php --esp-force
```

`--esp` verstuurt na de berekening de gewijzigde contacten naar Brevo of Klaviyo, `--esp-force` verstuurt alle contacten opnieuw.

## Kolommen van het CSV-bestand

De kolommen houden Engelse namen, zodat u ze maar één keer hoeft te koppelen in uw e-mailtool: email, firstname, lastname, company, language, newsletter, optin, segment, segment_label, rfm_code, r_score, f_score, m_score, orders_total, orders_period, revenue_period, avg_basket, first_order, last_order, recency_days, churn_level, churn_label, churn_score, previous_segment, segment_changed_at, id_customer, campaign, voucher_code en voucher_expires. Het bestand is in UTF-8 met BOM, zodat het correct opent in Excel.

## Veelgestelde vragen en probleemoplossing

### Een klant staat niet in de scores

Hij heeft geen geldige bestelling, het is een gastaccount terwijl de optie uit staat, of de berekening is sinds zijn bestelling niet opnieuw uitgevoerd. Controleer in multistore ook de winkelcontext.

### De evolutiegrafiek is leeg

Hij heeft minstens twee berekeningen op verschillende dagen nodig. Plan de dagelijkse cron.

### De test met Brevo of Klaviyo mislukt

Controleer de API-sleutel en, voor Klaviyo, de schrijfrechten voor Profiles en Lists. De PHP-extensie cURL moet actief zijn op de server. De details van de laatste fout staan in het paneel Integraties van het dashboard.

### De klantgroepen blijven leeg

Controleer of de synchronisatie is ingeschakeld en of elk segment aan een groep is gekoppeld, en start de berekening opnieuw. De groepen Bezoeker, Gast en Klant worden bewust geweigerd.

### Verwijderen

Bij het verwijderen van de module worden scores, geschiedenis en campagnes gewist. De aangemaakte klantgroepen en de al gegenereerde winkelwagenregels blijven bestaan, omdat ze in uw prijsregels of bestellingen gebruikt kunnen worden.
