Smart Bundle Engine: documentatie
Installatie, analyse van gezamenlijk voorkomen, margecontrole en weergave van WooCommerce-bundels.
Overzicht
Smart Bundle Engine analyseert de historiek van uw WooCommerce-bestellingen om producten te vinden die daadwerkelijk samen worden gekocht, maakt automatisch de bijbehorende bundels aan en toont ze op de productpagina, in de winkelwagen en in de e-mail na aankoop, met een margecontrole die de korting zo nodig automatisch aftopt.
Installatie
- Download het bestand
df-smart-bundle.zipvanuit uw DataFirefly-klantaccount. - Ga in uw WordPress-beheer naar Plugins → Nieuwe plugin → Plugin uploaden.
- Selecteer de ZIP, klik op Nu installeren en activeer de plugin.
- Er verschijnt een nieuw menu Smart Bundles in de beheerzijbalk.
Vereisten: WordPress 6.0+, WooCommerce 7.0+, PHP 7.4+. De compatibiliteit met HPOS (High-Performance Order Storage) is ingebouwd verklaard.
Bij activering maakt de plugin 4 eigen tabellen aan (df_sbe_cooccurrence, df_sbe_bundles, df_sbe_bundle_items, df_sbe_analysis_state) en plant ze de analysecron in.
Snel aan de slag
- Ga naar Smart Bundles → Analyse en klik op Analyse nu starten.
- Zodra de analyse klaar is, toont de tabel Beste koopaffiniteiten de gevonden paren met hun cijfers (aantal keer samen, betrouwbaarheid, lift).
- Staat de automatische generatie aan (standaard), dan worden de bundels automatisch aangemaakt. Bekijk ze in Smart Bundles → Bundels.
- Bezoek een betrokken productpagina in de winkel: het blok “Vaak samen gekocht” verschijnt onder de productsamenvatting.
Tip: de analyse heeft minstens enkele tientallen bestellingen met meerdere producten nodig om bruikbare affiniteiten op te leveren. Is uw historiek mager, verlaag dan tijdelijk de drempel voor het minimum aantal keer samen naar 2 in de instellingen.
Analyse van gezamenlijk voorkomen
De motor doorloopt de voltooide en in behandeling zijnde bestellingen binnen het ingestelde analysevenster (standaard 180 dagen), in blokken van 200 bestellingen. Bij elke bestelling met meerdere producten worden alle paren geëxtraheerd en geteld.
De drie cijfers
- Aantal keer samen: het aantal bestellingen met het paar A plus B.
- Betrouwbaarheid: P(B|A) in procenten, oftewel in welk percentage van de bestellingen met A ook B voorkomt. Een betrouwbaarheid van 20 betekent dat B in 20 procent van de bestellingen met A opduikt.
- Lift: de verhouding tussen de waargenomen frequentie van het paar en de frequentie die te verwachten zou zijn als A en B los van elkaar stonden. Een lift boven 1 wijst op een echte affiniteit; boven 2 op een sterke affiniteit.
Planning
De analyse draait automatisch via WP-Cron (hook df_sbe_run_analysis). Elke uitvoering verwerkt tot 25 blokken van 200 bestellingen en gaat bij de volgende cyclus verder dankzij een blijvende cursor, zodat geen enkele bestelling twee keer wordt verwerkt. De knop Status resetten maakt de analysetabellen leeg en begint opnieuw.
Let op: is WP-Cron op uw server uitgeschakeld (DISABLE_WP_CRON), zorg er dan voor dat een systeemcron wp-cron.php regelmatig aanroept, anders draait de analyse alleen bij handmatige uitvoering.
Automatisch bundels genereren
Na elke volledige analyse selecteert de motor de paren die uw drempels overschrijden en maakt hij de bijbehorende bundels aan. Drie instellingen sturen die selectie aan:
- Minimum aantal keer samen (standaard 3): het minimum aantal bestellingen met dat paar.
- Minimale betrouwbaarheid (standaard 10 procent): de drempel waaronder het paar wordt genegeerd.
- Maximum aantal bundels per product (standaard 3): voorkomt dat één product oververtegenwoordigd raakt.
De weerhouden paren worden gerangschikt op score (lift maal aantal keer samen). Automatisch aangemaakte bundels krijgen de herkomst “Auto”; bestaande bundels met dezelfde producten worden nooit gedupliceerd. Handmatige bundels blijven bij een nieuwe analyse altijd behouden.
Bundels beheren
Het scherm Smart Bundles → Bundels toont alle bundels met hun producten, korting, minimummarge, weergavecontexten, vertoningen en conversies. U kunt filteren op status, herkomst (automatisch of handmatig) of vrij zoeken.
Een bundel aanmaken of wijzigen
- Klik op Nieuwe bundel of op Bewerken bij een bestaande bundel.
- Zoek en voeg de producten toe (minstens 2). Het aantal per artikel is instelbaar en de volgorde wijzigt u met slepen en neerzetten.
- Bepaal de korting (percentage of vast bedrag) en de minimummarge.
- Vink de gewenste weergavecontexten aan: productpagina, winkelwagen, e-mail.
- De prioriteit bepaalt de weergavevolgorde wanneer meerdere bundels in aanmerking komen (hoger betekent eerder).
Bij een bestaande bundel toont een tabel Prijsoverzicht live het subtotaal, de geschatte kostprijs, de gevraagde tegenover de toegepaste korting, de eindprijs en de werkelijke marge.
Margecontrole
Elke bundel heeft een drempel voor de minimummarge (in procent van de eindprijs). De motor berekent de bijbehorende bodemprijs:
min_eindprijs = totale_kostprijs / (1 − min_marge / 100)
Zou de gevraagde korting de eindprijs onder die bodem brengen, dan wordt ze automatisch afgetopt op de hoogst mogelijke veilige korting. De korting die in de winkel wordt getoond, is dus altijd veilig.
Bron van de kostprijs
De kostprijs van elk product wordt in deze volgorde bepaald:
- Productmeta: standaard de sleutel
_df_cost_price, instelbaar in de instellingen (compatibel met Cost of Goods en andere kostprijsplugins). - Terugvalverhouding: bij producten zonder ingevulde kostprijs wordt een percentage van de verkoopprijs aangenomen (standaard 50 procent).
Tip: vul de werkelijke kostprijzen eerst in bij uw best verkochte producten. De margeaftopping klopt dan precies bij de bundels die het meest opleveren.
Weergave in de winkel
Productpagina
Het blok wordt ingevoegd op de hook woocommerce_after_single_product_summary met een instelbare prioriteit (standaard 15, net vóór de gerelateerde producten). Het toont de productminiaturen verbonden door plustekens, het doorgestreepte subtotaal, de bundelprijs en de knop om alles in één klik toe te voegen.
Winkelwagen
De suggesties verschijnen onder de winkelwagentabel (woocommerce_after_cart_table). Bundels waarvan alle producten al in de winkelwagen zitten, worden automatisch verborgen.
E-mail na aankoop
Er wordt een suggestieblok ingevoegd in de e-mails Bestelling voltooid en Bestelling in behandeling (alleen naar klanten), in een HTML- en een platte-tekstvariant, met een directe link terug naar de winkel.
Elke context is afzonderlijk in te schakelen en de titel ervan is aanpasbaar in de instellingen.
De korting toepassen
De plugin wijzigt nooit de prijzen van de producten. Wordt een bundel aan de winkelwagen toegevoegd, dan krijgt elk artikel een interne markering; zodra alle artikelen van de bundel aanwezig zijn, wordt de korting toegepast als een negatieve fee van WooCommerce (“Bundelkorting”). Die aanpak:
- behoudt de regelprijzen en de verkooprapporten;
- blijft compatibel met btw, verzendkosten en kortingscodes;
- haalt de korting automatisch weg zodra een artikel uit de bundel de winkelwagen verlaat.
Prestaties volgen
Elke weergave van een bundel verhoogt de teller van de vertoningen; elke bestelling met een volledige bundel verhoogt de conversies (bij de overgang naar “in behandeling” of “voltooid”, met een beveiliging tegen dubbeltelling). Het conversiepercentage per bundel staat in het bundeloverzicht, en het scherm Analyse toont de algemene cijfers: geanalyseerde bestellingen, gevonden paren, actieve bundels, cumulatieve vertoningen en conversies.
Overzicht van de instellingen
Analyse van gezamenlijk voorkomen
- Analysevenster (dagen): standaard 180. Voltooide en in behandeling zijnde bestellingen binnen die periode.
- Minimum aantal keer samen: standaard 3.
- Minimale betrouwbaarheid (procent): standaard 10.
- Automatisch bundels genereren: standaard aan.
- Maximum aantal bundels per product: standaard 3.
Prijs en marge
- Standaardkorting (procent): 10, toegepast op automatisch gegenereerde bundels.
- Standaard minimummarge (procent): 20.
- Metasleutel van de kostprijs:
_df_cost_price. - Terugvalverhouding kostprijs (procent): 50.
Weergave
- Contexten: productpagina, winkelwagen en e-mail, afzonderlijk in te schakelen.
- Prioriteit van de hook op de productpagina: standaard 15.
- Titels: een aanpasbare titel per context.
Meertaligheid
De plugin wordt geleverd met 5 talen (FR, EN, ES, DE, IT) in .po– en .mo-formaat, plus een .pot-bestand voor uw eigen vertalingen (text domain df-smart-bundle). Compatibel met Polylang en WPML: de getoonde taal volgt de locale van de site of van de gebruiker.
Verwijderen
De plugin deactiveren haalt alleen de ingeplande cron weg; uw gegevens blijven behouden. Het verwijderen van de plugin (via Plugins → Verwijderen) voert uninstall.php uit, dat de 4 tabellen, alle opties en de door de plugin aangemaakte bestelmetagegevens definitief wist (compatibel met HPOS).
Probleemoplossing
Er wordt geen enkele bundel gegenereerd
- Controleer of de analyse wel heeft gedraaid: Smart Bundles → Analyse moet een aantal geanalyseerde bestellingen boven nul tonen.
- Verlaag de drempels (minimum aantal keer samen, minimale betrouwbaarheid) als uw historiek beperkt is.
- Controleer of de automatische generatie in de instellingen aan staat.
De bundel verschijnt niet in de winkel
- De bundel moet actief zijn en de betreffende context moet aangevinkt zijn.
- Een bundel waarvan de berekende korting nul is (volledige margeaftopping) wordt op de productpagina verborgen.
- In de winkelwagen wordt een al volledige bundel bewust verborgen.
- Leeg de paginacache als u een cacheplugin gebruikt.
De toegepaste korting is lager dan de ingestelde korting
Dat is de margeaftopping die ingrijpt: de totale kostprijs van de bundel laat de gevraagde korting niet toe zonder onder de minimummarge te zakken. Controleer de kostprijzen van de producten of pas de margedrempel van de bundel aan.
Veelgestelde vragen
Werkt de plugin met variabele producten?
De analyse en de bundels werken op het niveau van het bovenliggende product. Variaties van hetzelfde product worden samen geteld.
Kan ik bepaalde producten van de analyse uitsluiten?
Niet in versie 1.0.0. Verwijder of deactiveer eenvoudigweg de ongewenste bundels; ze worden niet opnieuw aangemaakt als u ze verwijdert nadat u de automatische generatie hebt uitgeschakeld.
Zijn de bundels compatibel met kortingscodes?
Ja. De bundelkorting is een negatieve fee die losstaat van de WooCommerce-coupons; beide stapelen.
Wat is de impact op de prestaties?
De analyse draait op de achtergrond in blokken. Aan winkelzijde zijn de bundelqueries licht (geïndexeerde tabellen) en worden de assets alleen op de product- en winkelwagenpagina’s geladen.