AI fraud detection in e-commerce — patronen herkennen
Terug naar blog

AI fraud detection in e-commerce — patronen herkennen

AuthorRuthger Idema
15 juni 20269 min leestijd

AI fraud detection in e-commerce: hoe je velocity-signalen, device fingerprinting en ML combineert om fraude te stoppen zonder legitieme orders te blokkeren.

AI fraud detection in e-commerce — patronen herkennen

Fraude kost e-commerce bedrijven wereldwijd ruim 48 miljard dollar per jaar. Toch investeren de meeste webshops pas in serieuze fraudedetectie nadat de chargebacks binnenstromen. Op dat moment is het te laat: je PSP dreigt met hogere kosten, je marge is aangetast en je reputatie bij betaalnetwerken staat onder druk.

AI fraud detection in e-commerce is geen luxe. Het is het verschil tussen een gezonde chargeback-ratio en een escalatie naar het risicoteam van Adyen of Mollie. In dit artikel: hoe AI fraudepatronen herkent, welke signalen het meeste gewicht dragen, hoe je het integreert in een bestaande orderflow, en wanneer ML eerlijk gezegd géén zinvolle keuze is.


De drie signaalcategorieën die er écht toe doen

Fraudedetectie draait op patroonherkenning. Een menselijke medewerker controleert tien orders per uur. Een ML-model checkt er duizenden per seconde en onthoudt elk afwijkend patroon dat het ooit heeft gezien. Maar niet elk signaal is even waardevol.

Velocity signals

Velocity meet snelheid en frequentie van acties. Vijf bestellingen binnen tien minuten vanaf hetzelfde IP-adres. Drie mislukte betalingspogingen gevolgd door een succesvolle. Eén e-mailadres dat zestien accounts aanmaakt binnen een uur. Allemaal patronen die een bot of georganiseerde fraudeur verraadt.

Wij zien bij klanten dat velocity checks alleen al 30 tot 40 procent van geautomatiseerde fraude blokkeren, zonder enige ML. Het is de laagdrempeligste investering met het hoogste directe rendement. Implementeer het als eerste.

Relevante velocity-dimensies om te monitoren:

  • Orders per IP per tijdsvenster (15 min, 1 uur, 24 uur)
  • Betaalpogingen per sessie
  • Nieuwe accounts per e-maildomein
  • Afwijking van historisch bestelpatroon voor bestaande klanten

Device fingerprinting

Browser, OS, schermresolutie, geïnstalleerde fonts, GPU-renderer: samen vormen ze een fingerprint. Een legitieme klant heeft doorgaans een stabiele fingerprint. Een fraudeur roteert devices, gebruikt headless browsers of VPNs.

Bibliotheken als FingerprintJS Pro of SEON combineren tientallen device-attributen tot één risicoscore. Technisch interessant detail: zelfs als iemand cookies verwijdert of in incognito browsed, blijft de fingerprint grotendeels intact. Canvas fingerprinting en WebGL-hashing zijn bijzonder moeilijk te spoofen zonder gespecialiseerde tools.

In de praktijk zie je fraudeurs die één VPN draaien maar vergeten hun user-agent te roteren, of headless Chromium gebruiken zonder de standaard plugins die echte browsers altijd hebben. Die afwijkingen zijn detecteerbaar.

Geolocatie en IP-reputatie

Een order met een Nederlands factuuradres, een Roemeens IP, een VPN-exit node en een giftcard als betaalmiddel: elk signaal apart is onschuldig. Samen is het een hoog-risico combinatie.

IP-reputatiedatabases zoals MaxMind en IPQualityScore labelen adressen als bekend Tor-exit node, datacenter-IP of eerder frauduleus. Koppel dat aan de verzendbestemming en de delta tussen factuur- en verzendadres. Een shipping-adres dat drie landen verwijderd is van het facturerende land is een sterk signaal — zeker bij first-time buyers.


Regelgebaseerd versus ML: wat kies je wanneer?

Veel teams starten met regels omdat ze begrijpelijk en onderhoudbaar zijn. Dat is een verstandige keuze. ML is niet altijd de juiste aanpak.

CriteriumRegelgebaseerdMachine Learning
TransparantieVolledig inzichtelijkBlack box zonder explainability layer
Snelheid implementatieUren tot dagenWeken tot maanden (trainingsdata nodig)
Aanpassing aan nieuwe fraudeHandmatig updatenLeert automatisch bij
Minimale datavolumeGeen minimumReken op 10.000+ gelabelde transacties
False positive risicoHoog bij te strikte regelsLager, maar niet nul
KostenLaagHoger (compute, labels, monitoring)

De praktische aanpak: begin met een regelengine voor de meest evidente patronen. Voeg daarboven een ML-laag toe zodra je genoeg historische transactiedata hebt, inclusief gelabelde fraude en chargebacks. Zonder kwalitatieve trainingsdata is een ML-model structureel slechter dan goed getunede regels.

In de praktijk werken de beste systemen hybride: regels als harde blokkade voor bekende patronen zoals geblackliste BIN-reeksen of frauduleuze e-maildomeinen, ML als risicoschatter voor alles wat daartussenin valt.


Integratie in de orderflow

Fraudedetectie werkt alleen als het op het juiste moment in de flow zit. Te vroeg: je hebt te weinig data. Te laat: de betaling is al verwerkt en je kunt alleen nog annuleren, wat meer frictie geeft.

De ideale positie is na betaalbevestiging, vóór fulfillment. Zo beschik je over alle betalingsdata maar heb je nog niet gecommitteerd aan verzending. Zet twijfelgevallen in een review-queue in plaats van direct te blokkeren.

Een typische implementatie in Laravel ziet er zo uit:

php
// app/Services/FraudCheckService.php

namespace App\Services;

use App\Models\Order;
use Illuminate\Support\Facades\Http;

class FraudCheckService
{
    public function evaluate(Order $order): FraudResult
    {
        $payload = [
            'order_id'         => $order->id,
            'amount'           => $order->total_amount,
            'email'            => $order->customer_email,
            'ip_address'       => $order->ip_address,
            'device_id'        => $order->device_fingerprint,
            'shipping_country' => $order->shipping_country,
            'billing_country'  => $order->billing_country,
            'payment_method'   => $order->payment_method,
            'is_new_customer'  => $order->customer->isNew(),
        ];

        $response = Http::timeout(2)
            ->withToken(config('services.fraud.api_key'))
            ->post(config('services.fraud.endpoint'), $payload);

        if ($response->failed()) {
            // Bij timeout of API-fout: order markeren voor handmatige review
            return FraudResult::fallback($order->id);
        }

        return FraudResult::fromResponse($response->json());
    }
}
php
// app/Listeners/CheckOrderForFraud.php

public function handle(OrderPaid $event): void
{
    $result = $this->fraudService->evaluate($event->order);

    match ($result->action()) {
        'block'  => $event->order->flagAsFraud(),
        'review' => $event->order->flagForReview(),
        'allow'  => $event->order->approve(),
    };
}

Let op de timeout van twee seconden. Fraudedetectie mag de checkout nooit blokkeren. Gooi bij een API-timeout de order in de review-queue, niet in de blokkade. Een legitieme klant die tien seconden wacht op een fraudecheck converteert niet — of haakt gefrustreerd af.


PSP-tools: Adyen en Mollie

Goede nieuws: je hoeft niet alles zelf te bouwen. Beide grote PSPs in Nederland bieden eigen fraudetools, maar de diepte verschilt sterk.

Adyen RevenueProtect

Adyen levert RevenueProtect als onderdeel van hun platform. Het model traint op Adyen's netwerk van honderden miljarden transacties wereldwijd. Risicoscores en aanbevelingen komen terug in de /payments API-response als riskData-object:

json
{
  "resultCode": "Authorised",
  "additionalData": {
    "riskdata.score": "42",
    "riskdata.frn": "Suspicious IP",
    "riskdata.action": "REVIEW"
  }
}

Scores lopen van 0 tot 100. Boven de 70 is doorgaans automatisch review; boven de 90 blokkade. Die drempelwaarden stel je zelf in via de Risk Management UI in het Adyen Customer Area. Je kunt ook eigen risicoprofielen toevoegen — handig als je productcategorieën hebt met een structureel ander risicoprofiel.

Adyen is sterk voor grotere volumes en voor Magento-shops die de officiële Adyen-plugin gebruiken. De integratie van risicodata in die plugin vraagt wat configuratie maar is gedocumenteerd.

Mollie

Mollie is minder uitgebreid op fraudevlak. Ze bieden basiscontroles via 3DS2, CVV-verificatie en adresverificatie, maar geen uitgebreid ML-model zoals Adyen. Voor de meeste Shopify Plus of Laravel maatwerk-shops die Mollie gebruiken: combineer Mollie's betaalbevestiging met een externe fraudetool.

SEON is een goede keuze voor middelgrote volumes: transparant REST API, een gratis tier voor lage volumes en eenvoudig te integreren. Kount en Signifyd zijn steviger en enterprise-gericht maar ook fors duurder — reken op enterprise-contracten.


False positives versus chargebacks — de echte afweging

Hier gaat het bij veel teams mis: ze optimaliseren op het minimaliseren van fraude. Maar een geblokkeerde legitieme order kost ook geld — en klantvertrouwen.

Stel: je webshop verwerkt 10.000 orders per maand. Je fraudepercentage is 0,8 procent (80 orders). Je chargeback-kosten zijn gemiddeld 25 euro per geval plus productverlies.

ScenarioGeblokkeerde fraudeFalse positivesNetto impact
Agressieve regels75 fraudeorders250 legitieme ordersKlantschade, minder reviews
Gebalanceerd ML-model70 fraudeorders40 legitieme ordersAcceptabel verlies
Geen detectie0 geblokkeerd0 false positives80 chargebacks + directe kosten

Een false positive rate van meer dan 1 procent is te hoog voor de meeste shops. Handmatige review van twijfelgevallen — in plaats van automatisch blokkeren — verbetert de klantervaring significant. Stuur een verificatiemail, vraag om een extra betaalstap of bel bij grote orders. Blokkeer niet direct op basis van één signaal.

PSPs hanteren chargeback-drempels. Adyen en Mollie hanteren doorgaans een limiet van rond de 1 procent chargebacks als aandeel van transacties. Daarboven riskeer je hogere verwerkingskosten of in het ergste geval contractbeëindiging. Dát is het echte risico waartegen je optimaliseert — niet het minimaliseren van elke individuele fraudepoging.


Wanneer is AI fraud detection géén goede keuze?

Als je minder dan 500 orders per maand verwerkt, is een full ML-setup overdreven. De ROI ontbreekt en je hebt onvoldoende trainingsdata om een model betrouwbaar te trainen.

In dat geval:

  • Gebruik de ingebouwde fraudetools van je PSP (3DS2, CVV-controle, adresverificatie)
  • Voeg velocity-regels toe voor de meest evidente patronen
  • Monitor chargebacks handmatig en bouw zo een dataset op

Pas op het moment dat je zowel het volume als gelabelde historische data hebt, levert ML toegevoegde waarde. Die eerlijkheid bouwt meer vertrouwen dan een ML-oplossing verkopen die bij lage volumes simpelweg niet presteert.


Praktische roadmap voor je eerste drie maanden

Maand 1 — Fundament

Audit je huidige chargeback-data. Welke betaalmethoden, landen en ordertypes zijn oververtegenwoordigd? Implementeer velocity checks en IP-reputatiecontrole. Koppel je PSP-risicodata.

Maand 2 — Verdieping

Voeg device fingerprinting toe via SEON of FingerprintJS Pro. Bouw een review-queue in je orderbeheersysteem. Train je team om twijfelgevallen te beoordelen in plaats van ze automatisch te blokkeren.

Maand 3 — Data en optimalisatie

Label elke chargeback en elke bevestigde fraude in je systeem. Evalueer je false positive rate. Pas drempelwaarden aan op basis van productcategorie en klantsegment.

Pas na zes maanden consistent labelen is een ML-model zinvol. Eerder beginnen levert een model dat traint op ruis.


Wil je dit concreet uitwerken voor jouw orderflow? Neem contact op — we kijken graag mee hoe fraudedetectie past bij jouw tech stack en volume.


Veelgestelde vragen

Wat is het verschil tussen regelgebaseerde fraudedetectie en machine learning?

Regels zijn handmatig ingestelde condities zoals "blokkeer orders boven 500 euro vanuit een nieuw account". ML leert zelf patronen uit historische transactiedata. Regels zijn transparant en snel te implementeren; ML schaalt beter maar vereist goede trainingsdata, meer rekenkracht en actief onderhoud.

Hoe integreer ik fraudedetectie in een bestaande Magento 2 of Laravel-shop?

Voor Magento zijn er native Adyen-integraties met ingebouwde risicodata. Voor Laravel maatwerk bouw je een service-klasse die na de betaalbevestiging een externe fraud-API aanroept — zie het codevoorbeeld in dit artikel. Zorg dat de check werkt met een timeout-fallback zodat de checkout nooit blokkeert bij een trage API-respons.

Wat is een acceptabel chargeback-percentage?

PSPs hanteren doorgaans een grens van 1 procent chargebacks als aandeel van je totale transacties. Kom je structureel boven de 0,5 procent, dan is actie nodig. Onder de 0,3 procent is netjes — maar controleer of je geen hoog false positive percentage hebt om dat te bereiken. Die balans bepaalt uiteindelijk je netto resultaat.

Heeft mijn kleine webshop (minder dan 500 orders per maand) AI fraud detection nodig?

Nee, niet in de ML-betekenis. Zet in op 3DS2-verificatie via je PSP, voeg een paar velocity-regels toe en monitor chargebacks handmatig. Dat is voldoende totdat je het volume en de gelabelde data hebt voor een ML-aanpak. Eerder investeren in ML levert doorgaans meer kosten dan baten.

Ruthger Idema

Geschreven door Ruthger Idema

15+ jaar ervaring in e-commerce development. Gespecialiseerd in Magento, Shopify en Laravel maatwerk.

Meer over ons team →
Deel dit artikel:

Wil je jouw e-commerce naar het volgende niveau?

Plan een vrijblijvend gesprek met onze experts over Magento, Shopify of Laravel maatwerk.

Plan een Tech Check