$ cd ~/portfolio/confirmed-auditroute

Eén cijfer om op te sturen: kilometers per audit

Auditplanning voor een auditbedrijf waarvan de auditors dagelijks het land door rijden. Adressen naar echte rijafstanden over de weg, de goedkoopste dagvolgorde exact uitgerekend binnen de toegezegde tijdvakken, een mobiele dagweergave om af te vinken, en afspraakvoorstellen die per mail de deur uit gaan en zichzelf inboeken als het antwoord eenduidig is.

Type
Planningssysteem
Stuurt op
Kilometers per audit
Dagvolgorde
Exact, niet geschat
Inloggen
Authenticator verplicht

De aanleiding

Een auditor rijdt het land door, en wat een audit werkelijk kost zit niet in het uur op locatie maar in de kilometers ernaartoe. Die kilometers stonden nergens: afspraken werden gemaakt in de volgorde waarin ze binnenkwamen, en pas achteraf bleek wat een dag aan rijden had gekost.

Het afspreken zelf was de tweede helft van het werk. Een datum voorstellen, een antwoord afwachten, een tegenvoorstel lezen, opnieuw voorstellen — per bedrijf, het hele jaar door.

En er zat een harde eis onder: wat het systeem over een route beweert, moet kloppen. Een geschat getal dat eruitziet als een meting is erger dan helemaal geen getal, want niemand controleert het daarna nog.

Wat er gebouwd is

De dagvolgorde wordt exact uitgerekend, niet geschat. Tot en met tien stops worden alle deeltoestanden beoordeeld, dus de uitkomst is aantoonbaar de beste volgorde — en een auditordag telt er drie tot zes, dus dat is de normale situatie en niet de uitzondering. Een toets vergelijkt de uitkomst op vijfentwintig willekeurige matrices met brute kracht over álle volgordes; die moeten exact gelijk zijn. Er wordt daarbij op rijtijd geoptimaliseerd en niet op kilometers, want rijtijd maakt capaciteit vrij — de kilometers worden wél overal meegerekend en gerapporteerd, zodat de kostenkant zichtbaar blijft.

Een adressendienst die altijd iets teruggeeft is de gemeenste val in zo'n systeem. Vraag je om een Belgisch adres, dan antwoordt de Nederlandse dienst met het dichtstbijzijnde dat er vaag op lijkt — Antwerpen wordt Doetinchem — en meldt daarbij netjes dat hij het gevonden heeft. De routemotor rekent dan maandenlang vanaf de verkeerde plek en niemand merkt het. Het systeem controleert daarom of de gevonden plaats ook de gevráágde plaats is, en geeft anders liever niets terug.

De dagweergave is voor onderweg gebouwd: de kaart boven, de stops in een blad eronder dat je omhoog trekt. De lijn is de werkelijk gereden route over de weg en niet hemelsbreed — dat zou precies de leugen zijn die dit systeem moet uitbannen. Die lijn is bij de routeserver vijfduizend punten en wordt vóór verzending met ruim tachtig procent uitgedund, want dit scherm laadt op een provinciale weg. Navigeren opent de kaart-app die de auditor toch al gebruikt.

Eén week per maand vertrekken de auditors niet van huis maar vanaf een hotel in Antwerpen. Dat is geen filter op wélke audits meedoen maar een ánder vertrekpunt, en het is de enige plek waar een dagroute ophoudt een rondrit te zijn: maandag werkt naar Antwerpen toe, vrijdag naar huis. Zonder die regel zijn twee van de drie dagen in zo'n week niet duur maar onmogelijk — ze gaan over de rijtijdgrens van de auditor heen.

Het voorstel per mail stelt een gesloten vraag: twee of drie genummerde opties die allemaal op een dag liggen waarop er toch al een auditor in de buurt is. Daarmee is een antwoord herkennen geen taalprobleem meer maar een vergelijking met een set die we zelf hebben opgesteld. Automatisch inboeken gebeurt alleen als álles klopt — één eenduidige keuze, geen voorbehoud, geen ontkenning, een bekend afzenderadres, het slot nog vrij. Valt er één ding weg, dan gaat het naar de goedkeurrij met het conceptantwoord er al bij.

Of die herkenning deugt, is gemeten in plaats van aangenomen: zestig echte Nederlandse antwoordmails liggen vast als toetsmateriaal, mét de verwachte uitkomst. Er is een taalmodel naast gelegd en het viel af — de regels lazen dertig van de eenendertig lastige gevallen goed, de drie beproefde modellen negentien tot drieëntwintig, en hun fouten zaten in de gevaarlijke richting: een voorbehoud werd weggelezen en 'niet B' werd een akkoord op optie B. Het meelezen staat daarom uit. Dat is geen voorzichtigheid, dat is de uitslag.

Speelt er bij jou iets vergelijkbaars?

Vertel wat er nu handmatig gaat of waar het vastloopt. Je hoort meestal dezelfde dag wat er mogelijk is.