Strategy
Support-ticket routing: classifier bouwen of per token betalen
Drie getallen bepalen of je een classifier van 50 regels traint voor je support-inbox of elk ticket naar een frontier-model stuurt. Volume, drift en wie 'm maandag opnieuw traint.

Dinsdagmiddag. De ops lead bij een Nederlandse SaaS van veertien mensen opent haar routing-dashboard. Vorige week kwamen er zeshonderd tickets binnen. Een stuk of zestig zijn in de verkeerde queue beland. De CTO heeft gevraagd of ze het niet “gewoon met AI” kunnen oplossen. Twee voorstellen liggen op haar bureau: zelf een kleine classifier bouwen, of elk ticket door een frontier-model halen. Geen van beide antwoorden is duidelijk. Het verkeerde kost ongeveer 18.000 euro in het eerste jaar.
Dit is een vraag waar we ongeveer eens per kwartaal bij worden gehaald. Het leest als een build-versus-buy-keuze. Dat is het niet. Het is een scorevraag met drie variabelen, en die variabelen staan meestal al in een spreadsheet dat het bedrijf gewoon heeft.
De twee wegen
Weg één is een kleine supervised classifier. fastText, logistische regressie op TF-IDF, of een gedistilleerde encoder. Train 'm op zes maanden eerdere tickets die al een categorie hebben. Draaien op één CPU. Kosten per inference zijn een fractie van een cent aan compute, plus ops-tijd om opnieuw te trainen als de data verschuift.
Weg twee is een frontier-model dat per ticket wordt aangeroepen. Geef het de tickettekst en een prompt met je queues. Krijg een queue-naam terug. Kosten per inference liggen ergens tussen 0,001 en 0,02 euro, afhankelijk van contextgrootte en tier. Geen training. Geen hertraining. Je erft de roadmap van de leverancier.
Allebei werken ze op dag één. De interessante vraag is welke over achttien maanden nog goedkoop en correct is.
De drie assen
We scoren de keuze op drie getallen die het bedrijf al kent.
Volume. Tickets per dag. Zo uit elke helpdesk te trekken.
Drift-risico. Hoe vaak verandert de queue-structuur of de taal van inkomende tickets? Heeft marketing vorig kwartaal een productlijn hernoemd? Is het bedrijf net in Duitsland gestart? Komt er elke maand een nieuwe feature uit die de eerste week door niemand goed wordt gecategoriseerd?
Hertrainings-capaciteit. Wie binnen het ops-team kan de classifier daadwerkelijk opnieuw trainen als de accuracy zakt naar 84%? Als het eerlijke antwoord is “we zouden een ticket aanmaken bij onze dev shop”, dan is dat een reëel getal. Het is het aantal weken tussen drift-detectie en een fix.
Let op waar we niet op scoren: accuracy op dag één. Beide wegen starten boven de 90% op een goed gedefinieerde queue-set. Het gevecht zit in maand drie tot en met twaalf.
De scoremethode
Geef elke as een score van 1 tot 3 voor elke weg, en tel de kolommen op.
Volume. Onder de 200 tickets per dag: 1 voor classifier, 3 voor frontier. Kosten per ticket zijn afrondingsruis en je bespaart het trainingswerk. 200 tot 2.000 per dag: 2 om 2. Boven de 2.000 per dag: 3 voor classifier. Bij dat volume is zelfs 0,003 euro per call al 180 euro per dag, ongeveer 5.500 euro per maand. Een classifier op één t4g.small heeft zichzelf binnen drie weken terugverdiend.
Drift-risico. Stabiele taxonomie, geen grote taalverschuiving verwacht: 3 voor classifier, 1 voor frontier. Twee keer per jaar hertrainen en klaar. Gemiddelde drift, product breidt uit: 2 om 2. Hoge drift, elk kwartaal nieuwe queues, meertalige uitrol bezig: 1 voor classifier, 3 voor frontier. De accuracy van de classifier zakt in en de hertrain-cyclus houdt het niet bij.
Hertrainings-capaciteit. Iemand intern kan een Jupyter-notebook draaien en een confusion matrix lezen: 3 voor classifier. Ops kan nieuwe voorbeelden labelen maar heeft hulp nodig bij de echte hertraining: 2 om 2. Niemand kan het: 1 voor classifier, 3 voor frontier. Bouw niets dat staat te rotten.
Tel de kolommen op. Hoogste wint.
Het frontier-model is het juiste antwoord voor teams met laag volume, hoge drift en geen ML-capaciteit. De classifier wint vrijwel overal anders, vaak met flinke marge.
Een uitgewerkt voorbeeld
Een Nederlandse HR-tech SaaS van negen mensen, ongeveer 1,2 miljoen euro ARR, 450 support-tickets per dag verdeeld over zes queues. Stabiel product. Trage taxonomieverandering. Hun head of customer ops heeft ooit voor de lol een Streamlit-dashboard opgeleverd.
Volume: 2 om 2. Drift: 3 om 1. Hertraining: 3 om 1. Classifier wint met 8 tegen 4.
We trainden een logistische regressie op TF-IDF features over Nederlands en Engels gecombineerd, op achttien maanden historische tickets. Tweeëntwintig minuten compute. Accuracy op een holdout-set: 91,4%. Kosten om te draaien: één VPS van 6 euro per maand. Kosten om elk kwartaal opnieuw te trainen: ongeveer drie uur van de ops lead, plus een checklist.
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
pipe = Pipeline([
("tfidf", TfidfVectorizer(ngram_range=(1, 2), min_df=3, max_features=50_000)),
("clf", LogisticRegression(max_iter=2000, class_weight="balanced")),
])
pipe.fit(tickets_train.text, tickets_train.queue)
print(pipe.score(tickets_test.text, tickets_test.queue))
Tegenvoorbeeld. Een legal-tech startup van vier mensen, 60 tickets per dag, drie nieuwe productvlakken gepland dit jaar, geen ML'er aan boord. Volume: 3 om 1. Drift: 1 om 3. Hertraining: 1 om 3. Frontier wint 7 om 5. Bij 60 tickets per dag is 0,004 euro per classificatie 7 euro per maand. Een classifier was het tragere, duurdere antwoord geweest.
Waar de methode breekt
Twee faalmodes komen vaak genoeg voor om te benoemen.
De eerste: mensen scoren volume op het cijfer van vandaag en vergeten geprojecteerde groei. Een SaaS met 200 tickets per dag deze maand die year-over-year verdrievoudigt, is over achttien maanden een classifier-bedrijf. Scoor 'm zo.
De tweede: ze overschatten de ops-capaciteit. “Iemand kan 'm opnieuw trainen” blijkt vaak te betekenen “de CTO doet het twee keer op een zaterdag”. Dat is geen onderhoudsplan. Als de hertrain-score onzeker is, rond 'm naar beneden af.
Een classifier die je niet opnieuw kunt trainen, is erger dan geen classifier. Hij verliest stilletjes accuracy terwijl iedereen denkt dat de routing prima loopt.
De hybride die de scoremethode verbergt
Er is een derde optie die de scoring versluiert: route de zekere 80% met een classifier en escaleer de staart met lage zekerheid naar een frontier-model. De classifier doet het volume. Het frontier-model vangt drift en edge cases. We hebben dit patroon twee keer in productie gezet. Het werkt alleen als je team een confidence-histogram kan lezen en een drempel kan tunen. Kan dat niet, kies dan één baan.
Op Hacker News werd deze week gediscussieerd of de capability-winst van frontier-modellen afvlakt. Of dat aan de top echt zo is of niet, voor ticket-routing maakt het weinig uit. Prijzen per token blijven zakken. Classifier-kosten zitten al bijna op nul. De keuze gaat nog steeds over jouw data en jouw team, niet over welke kant de capability-curve dit kwartaal op wijst.
Wat je deze week kunt doen
Toen we dit voorjaar de support-router bouwden voor een Nederlandse HR-tech SaaS, was accuracy niet het probleem. Het probleem was de ops lead een hertrain-notebook geven die ze zonder ons kon draaien. We eindigden met een script van 40 regels dat de tickets van afgelopen maand ophaalt, het model opnieuw traint en een confusion matrix als PDF oplevert. Dat soort onsexy detail bepaalt of een kleine AI-agent zijn tweede jaar haalt.
Het kleinste wat je vandaag kunt doen: haal de tickets van afgelopen maand uit je helpdesk, tel ze, tel hoeveel er in de verkeerde queue zijn beland, en scoor je eigen team eerlijk op de drie assen. Het antwoord is binnen een halfuur meestal duidelijk.
Kern
Het frontier-model wint bij laag volume, hoge drift en geen capaciteit om te hertrainen. De classifier wint vrijwel overal anders, vaak met flinke marge.
FAQ
Welke accuracy mag je verwachten van een kleine classifier?
Een getunede logistische regressie op TF-IDF over zes maanden gelabelde tickets landt meestal tussen de 88% en 93% op een holdout-set. Een gedistilleerde encoder kan dat naar 94 of 95% trekken.
Hoe vaak moeten we 'm opnieuw trainen?
Bij een stabiel product is één keer per kwartaal normaal. Bij een product dat uitbreidt naar nieuwe markten of features: elke zes tot acht weken. Koppel het schema aan drift in je confusion matrix, niet aan een kalender.
Kunnen we een frontier-model alleen voor onzekere gevallen gebruiken?
Ja. Route de zekere classifier-voorspellingen direct en escaleer de onderste 10 tot 20% naar het grotere model. Het werkt als je ops-team een confidence-histogram kan lezen.
Is latency belangrijk voor ticket-routing?
Zelden. Een classifier antwoordt binnen 50 ms. Een frontier-model doet er 500 ms tot 3 seconden over. De mens die het ticket leest, is bijna altijd de bottleneck.