Correcte data bestaan niet
Het is nu 2003! Het blijkt te gaan om een wettelijke bijdrage. Aha. Even de administratie erbij, hmm op alle andere polissen betaal ik al een wettelijke bijdrage. Dan maar eens gebeld, want ik heb niets aangepast. Nadat alle standaard gevallen die het callcenter kon bedenken afvielen, werd ik doorverbonden met de echte geleerden. Die waren het er niet over eens: "Tja, wij snappen het ook niet!", sprak een vertwijfelde stem. "Is het goed als we u nog even terugbellen?", klonk het.
Een paar dagen later. Ja, men had het gevonden. Ik zou drie jaar in het buitenland gewoond hebben en daarom was ik vrijgesteld van de ene wettelijke bijdrage, niet van de andere. "Wij snappen ook niet waarom u als woonachtig in het buitenland bent aangemerkt. Maar dat was dus een foutje, vandaar dat u nog 250 euro moet betalen." Omdat dit zo’n ijzersterke smoes is, betaal ik. Maar eigenlijk klopt hier natuurlijk geen moer van. Iemand raakt een knopje aan, schrijft iets verkeerd weg en hop je bent een ander.
Hier viel nog wel mee te leven, maar echt kafkaesk werd het toen een aantal hertrouwde weduwen en gescheiden vrouwen, woonachtig in het Waterschap Rivierenland, een stembiljet in de bus kreeg waarin de vrouwen werden aangesproken met de naam van hun overleden of exechtgenoot. Voordat deze uiterst pijnlijke fout ontdekt werd, waren er al 200 duizend enveloppen verstuurd, waaronder zo’n duizend van dit soort heel foute stembiljetten.
De door de gemeenten aangeleverde gegevensbank bevatte niet alleen de relevante data van de stemgerechtigden, maar ook irrelevante mededelingen. Wellicht was niet helemaal de juiste ‘query’ over de database gehaald, met dit tot gevolg. Natuurlijk zie je niet meteen de problemen als je 700.000 records uitspuugt. Maar je weet: correcte data bestaan niet. Dus je verzint een list: sorteer de records eens op lengte, en inspecteer de langste paar, of doe iets anders om het kaf van het ka te scheiden.
De verwerkende software had kennelijk met een doopceelrecord geen rekening gehouden. Omdat er geen correcte gegevens bestaan, vertrouw je nooit zomaar de input, en doe je daarop ‘sanity checks’. Feit is dat in zevenduizend gevallen de oudste in plaats van de meest recente gegevens werden afgedrukt, met het gewraakte resultaat tot gevolg. ‘Gelukkig’ werden er 500 duizend biljetten met de hand gecontroleerd (waar kennen we dat toch van?), en zijn er nog een slordige zesduizend uitgefilterd, dus de schade bleef beperkt tot zo’n duizend waterlandende stemmers. Handig, dat ‘high volume’ bètatesten in een productieomgeving.
Het wordt pas echt een feest als we die incorrecte gegevensbanken eens vrolijk gaan koppelen. Enige jaren geleden was al bekend dat door zo’n koppeling de Amsterdamse Sociale Dienst maar liefst 41 duizend belastingsignalen te verwerken kreeg: mogelijke fraudeurs die in dat jaar zowel een uitkering als werk hadden gehad. Wat bleek: tweederde van de gevallen was valspositief. Over het hele land gemeten bleek dit 90 procent onzingevallen op te leveren. Dat lijkt dus op iedereen controleren, waarvoor ik die koppeling niet nodig had. Erger, omdat je dan ineens te maken krijgt met rechters, advocaten, bewijslast en dat soort details, moet je zaak ineens waterdicht zijn. Dus moet alles met de hand nagekeken worden. Want ook de wetgever weet dat er geen correcte gegevensbanken bestaan. Bijvoorbeeld voor de Gemeentelijke Basis Administratie gaat de wetgever ervan uit dat de afnemer de verkregen gegevens niet zonder meer voor juist aanneemt, maar indien nodig wel degelijk verifieert. Koppeling leidt dus tot meer werk, en dat terwijl Den Haag dit ziet als een efficiënte methode om fraude aan te pakken.
Prof. dr. Chris Verhoef is hoogleraar informatica aan de Vrije Universiteit in Amsterdam. Hij schrijft maandelijks een column in AG II.
Voor vragen en reacties mail naar x@cs.vu.nl