Wat is anomaly detection?
Wat anomaly detection is, hoe het afwijkingen in omzetdata vindt, waarom het niet elk omzetlek ziet en hoe je voorkomt dat het alleen ruis oplevert.
Anomaly detection is het automatisch vinden van gegevens die afwijken van wat normaal is. Een systeem leert eerst het gewone patroon, bijvoorbeeld hoeveel een klant elke maand afneemt of welke korting er gemiddeld op een product wordt gegeven, en meldt daarna wat daar duidelijk buiten valt. In omzetwerk vindt het zo klanten die stilletjes minder afnemen, kortingen die ineens hoger liggen en facturen die niet passen bij het contract. Het vindt alleen wat verandert: een lek dat er altijd al was, ziet het als normaal.
Hoe werkt anomaly detection?
Het principe bestaat uit drie stappen.
- Het normale patroon bepalen. Het systeem kijkt naar de historie: wat is de gewone waarde, en hoeveel schommelt die normaal? Voor een klant die al twee jaar elke maand bestelt, is dat een gemiddelde afname met een bepaalde spreiding.
- Nieuwe waarden vergelijken. Elke nieuwe maand, factuur of order wordt naast dat patroon gelegd.
- Melden wat te ver afwijkt. Als een waarde verder van het normale ligt dan een drempel, wordt het een signaal.
Het lastige zit in de eerste stap. "Normaal" is niet één getal. Een klant die in december altijd weinig afneemt, is in december niet afwijkend. Een nieuwe klant heeft nog geen patroon. Een bedrijf dat groeit, heeft een normaal dat elk jaar verschuift. Hoe goed anomaly detection werkt, hangt af van hoe slim het normale wordt bepaald.
Drie soorten afwijkingen
Losse uitschieters. Eén waarde die sterk afwijkt: een factuur van EUR 48.000 bij een klant die normaal rond de EUR 4.800 zit. Vaak een tikfout, soms een echte eenmalige order.
Afwijkingen in context. Een waarde die op zichzelf normaal is, maar niet op dat moment of bij die klant. Een omzet van EUR 80.000 is gewoon voor november, maar laag voor maart als maart altijd je sterkste maand is. Een korting van 15 procent is normaal voor grootafnemers, maar niet voor een klant die EUR 5.000 per jaar afneemt.
Afwijkende reeksen. Geen enkele waarde is extreem, maar samen vormen ze een patroon. Drie maanden op rij iets minder afname. Een betaaltermijn die elke maand een paar dagen langer wordt. Dit is voor omzet vaak het belangrijkste type, omdat klanten zelden in één keer vertrekken.
De methodes, in gewone taal
Vaste drempels
De eenvoudigste vorm: meld alles boven of onder een grens. Korting boven 20 procent, factuur boven EUR 50.000, betaaltermijn boven 60 dagen. Duidelijk en uitlegbaar, maar dezelfde grens voor elke klant en elk product geeft veel valse meldingen bij grote klanten en mist afwijkingen bij kleine.
Statistische afwijking per reeks
Per klant, product of metric bepaal je het gemiddelde en de normale spreiding. Een waarde die meer dan een bepaald aantal keer die spreiding afwijkt, is een signaal. Dit is de kern van de meeste anomaly detection in omzetdata.
Rekenvoorbeeld: stel een klant nam de afgelopen 24 maanden gemiddeld EUR 12.000 per maand af, met een normale schommeling (standaardafwijking) van EUR 1.000. De laatste drie maanden waren EUR 9.500, EUR 9.000 en EUR 8.800. De middelste maand ligt 3.000 euro onder het gemiddelde, drie keer de normale schommeling. Eén zo'n maand kan toeval zijn: een vakantie, een uitgestelde bestelling. Drie maanden op rij ruim onder de normale bandbreedte is dat bijna nooit. Als het zo blijft, is dat ongeveer EUR 36.000 omzet per jaar die verdwijnt, en vaak het begin van een klant die vertrekt. Hoe je zulke klanten vroeg ziet, staat in hoe ontdek je klanten die stilletjes minder afnemen.
Seizoen en trend eruit halen
Voor reeksen met een seizoenspatroon vergelijk je niet met het algemene gemiddelde, maar met wat normaal is voor die maand, gecorrigeerd voor de groei. December vergelijk je met eerdere decembers, niet met oktober. Zonder die correctie krijg je elk jaar in dezelfde maanden een golf valse meldingen.
Vergelijken met gelijken
Niet alles heeft een eigen historie. Een nieuwe klant, een nieuw product. Dan vergelijk je met vergelijkbare klanten of producten. Een klant die 30 procent korting krijgt terwijl vergelijkbare klanten rond de 10 procent zitten, is een afwijking, ook als het vanaf dag één zo was. Dit is de methode die lekken vindt die er altijd al waren.
Machine learning
Modellen als isolation forest of autoencoders zoeken afwijkingen over veel kenmerken tegelijk: een combinatie van bedrag, korting, product, klanttype en verkoper die niet vaak samen voorkomt. Ze vinden patronen die een mens niet had bedacht, maar ze zijn moeilijker uit te leggen. Voor omzetdata werken ze het best als aanvulling op de eenvoudigere methodes, niet als vervanging.
Voorbeelden in B2B-omzetdata
- Afname per klant daalt geleidelijk over een paar maanden.
- Korting per product of verkoper ligt in een kwartaal duidelijk hoger dan normaal.
- Factuurbedrag wijkt af van het contract: de prijs is niet geïndexeerd, of een licentie-uitbreiding staat niet op de factuur.
- Aantal creditnota's bij een klant of productgroep stijgt.
- Betaaltermijn van een klant wordt steeds langer, vaak een vroeg signaal van problemen of ontevredenheid.
- Meerwerk per project is opvallend laag vergeleken met vergelijkbare projecten, wat kan betekenen dat het wel is uitgevoerd maar niet gefactureerd.
- Productmix verschuift: een klant koopt nog evenveel, maar alleen de goedkope producten.
Waarom anomaly detection niet elk lek vindt
Dit is het belangrijkste punt voor wie het inzet tegen omzetlekkage. Anomaly detection vindt verandering. Een lek dat er vanaf het begin was, is voor het systeem normaal.
Een klant die al drie jaar zonder indexatie wordt gefactureerd, heeft een keurig stabiel patroon. Een contract waarvan een onderdeel nooit op de factuur is gekomen, levert elke maand hetzelfde bedrag op. Geen afwijking, dus geen melding.
Daarom heb je naast anomaly detection twee andere methodes nodig: regels die vergelijken wat er zou moeten zijn met wat er is (contract tegen factuur, gewonnen deal tegen order), en vergelijken met gelijken. Samen vinden ze veel meer dan elk afzonderlijk. Hoe die methodes samenwerken, staat in hoe detecteer je revenue leakage automatisch.
En andersom: niet elke afwijking is een lek. Een klant die minder afneemt, kan gewoon minder nodig hebben. Een hoge korting kan bewust zijn gegeven voor een meerjarige deal. Een afwijking is een vraag, geen conclusie.
Waar het in de praktijk misgaat
Te veel meldingen. Het grootste risico. Een systeem dat elke week tweehonderd afwijkingen meldt, wordt na een maand genegeerd. Het gevolg is erger dan geen systeem, want de echte signalen gaan verloren in de ruis.
Drempels die niet passen. Een drempel die voor een klant van EUR 500.000 per jaar klopt, is voor een klant van EUR 5.000 te grof. Drempels horen per reeks te worden bepaald, niet voor alles tegelijk.
Seizoen niet meegenomen. Elk jaar dezelfde golf meldingen in de zomer en rond de feestdagen.
Het normale verschuift. Als een bedrijf groeit, een prijs verhoogt of een nieuw product lanceert, verandert wat normaal is. Een model dat niet wordt bijgewerkt, blijft oude patronen als maatstaf gebruiken.
Geen euro's. Een afwijking van drie standaardafwijkingen zegt een financieel directeur niets. "Deze klant neemt sinds juli EUR 3.000 per maand minder af" wel.
Hoe je het bruikbaar maakt
- Rangschik op euro-impact. Toon niet alle afwijkingen, maar de afwijkingen gerangschikt op wat ze kosten als ze zo blijven. De top tien is vaak genoeg.
- Combineer signalen. Een klant met dalende afname, langere betaaltermijn en meer supporttickets is een sterker signaal dan elk afzonderlijk.
- Toon de bron. Welke facturen, welke maanden, welke vergelijking. Een mens moet in een minuut kunnen zien of het klopt.
- Toon de zekerheid. Een signaal op basis van 24 maanden historie is zekerder dan een op basis van vier. Hoe je die zekerheid beoordeelt, staat in hoe weet je of een AI-aanbeveling betrouwbaar is.
- Leer van de reactie. Als een melding als "verklaarbaar" wordt afgesloten, moet vergelijkbare ruis daarna minder vaak terugkomen.
- Geef elke melding een eigenaar. Een afwijking zonder iemand die hem uitzoekt, blijft een getal.
Waar het past
Anomaly detection is één laag in een Revenue Intelligence-systeem, naast regels, voorspellende modellen en taalmodellen. Hoe die lagen samenwerken, lees je in hoe werkt AI binnen Revenue Intelligence. Of AI in het algemeen omzetlekkage kan vinden, en waar de grenzen liggen, staat in kan AI omzetlekkage detecteren.
Veelgestelde vragen
Hoeveel historie heb je nodig?
Voor een reeks zonder seizoen zijn twaalf datapunten een redelijk minimum, bijvoorbeeld twaalf maanden. Voor een seizoenspatroon heb je minstens twee jaar nodig. Voor nieuwe klanten of producten gebruik je vergelijking met gelijken.
Kun je anomaly detection in Excel doen?
Voor een beperkt aantal klanten wel: gemiddelde en standaardafwijking per klant berekenen en markeren wat meer dan twee of drie keer de spreiding afwijkt. Het wordt onwerkbaar zodra je veel reeksen, seizoenen en combinaties van signalen hebt.
Wat is het verschil tussen anomaly detection en een regel?
Een regel controleert iets wat je vooraf weet: elke gewonnen deal moet een factuur hebben. Anomaly detection meldt iets wat afwijkt van het normale, zonder dat je vooraf wist wat je zocht. Je hebt beide nodig.
Hoe voorkom je dat het systeem te veel meldt?
Door drempels per reeks te bepalen, seizoen mee te nemen, signalen te combineren en alleen de afwijkingen met de grootste euro-impact te tonen. Minder, betere meldingen zijn meer waard dan volledigheid.
Meer in dit cluster
- Hoe werkt AI binnen Revenue Intelligence?Begin hier
- AI architecture voor Revenue Intelligence
- Wat is predictive analytics?
- Predictive AI vs generative AI
- Wat is een AI agent?
- Wat zijn AI agents in RevOps?
- Wat is tool calling?
- Hoe geef je AI toegang tot bedrijfsdata?