Nu het stof wat is gaan liggen en in Gent de meeste leerlingen die volgend jaar voor het eerst naar het secundair onderwijs gaan een school van voorkeur hebben gekregen, is het tijd om wat dieper in te gaan op het gebruikte algoritme.

Contradictorisch aan wat een opiniestuk doet vermoeden, probeer ik hierbij zo dicht mogelijk bij de cijfers te blijven. Ik kreeg hiervoor toegang tot de (geanonimiseerde) Gentse data van het secundair onderwijs en deelde mijn bevindingen reeds met het kabinet van schepen Decruynaere, het LOP en de Gentse schooldirecteurs.

Tijdens de aanmeldperiode voor het secundair onderwijs werden in Gent de voorkeuren van 3081 leerlingen geregistreerd. Leerlingen waarvan een broer of zus reeds ingeschreven is bij de school van voorkeur, of waarvan de ouders in die school werken krijgen absolute voorrang en worden hier dus niet in meegerekend. Bij het aanmelden werd aangemoedigd om meerdere scholen te selecteren, maar slechts de helft volgde dat advies en selecteerde 3 of meer scholen. 720 leerlingen selecteerden slechts 1 school.

Verder zien we dat er op globaal niveau voldoende capaciteit is in Gent, maar dat dit op schoolniveau niet het geval is. Bij sommige scholen is de vraag veel groter dan het aanbod. Een algoritme zal vervolgens op basis van die voorkeuren proberen zo goed mogelijk scholen toe te wijzen. Leerlingen die een school toegewezen krijgen ontvangen hiervoor een ticket waarmee ze zich kunnen inschrijven.

Wensen

Voor we algoritmes kunnen analyseren en vergelijken, is het belangrijk om de gewenste eigenschappen van zo'n algoritme op te lijsten.

Een eerste evidente wens is dat we zo veel mogelijk kinderen hun school van eerste keuze kunnen toewijzen, of toch minstens een school uit hun top drie.

Daarnaast willen we ook zo weinig mogelijk kinderen teleurstellen door ze geen enkele school uit hun voorkeurslijst te kunnen gunnen.

We willen ook nooit een school aan een leerling toewijzen die niet in zijn lijst stond.

Minder voor de hand liggend is dat het algoritme eerlijk en 'strategieneutraal' moet zijn. Dat wil onder meer zeggen dat de toewijzingen niet mogen kunnen beïnvloed worden door het aantal scholen dat iemand opgeeft. Anders gezegd, of een leerling nu 1 school of 10 scholen opgeeft bij het aanmelden, dit mag geen invloed hebben op de kans dat die leerling een ticket voor zijn voorkeursschool krijgt.

Tot slot willen we liefst een transparante en eenvoudig uit te leggen werkwijze.

Optimalisatie eerste keuze

Een eerste voor de hand liggend algoritme is om te proberen het aantal toewijzingen van eerste keuze te maximaliseren. Dit kunnen we doen door in een eerste ronde, waar mogelijk, de eerste keuze toe te wijzen. Is bij een school de vraag groter dan het aanbod, dan kiezen we willekeurig welke leerlingen een ticket krijgen. In een tweede ronde nemen we alle leerlingen die na de eerste ronde nog geen ticket kregen, en proberen we analoog hun school van tweede keuze toe te wijzen. Deze procedure herhalen we tot iedereen een ticket heeft of tot wanneer de voorkeurslijst van alle overgebleven leerlingen uitgeput is. Als we dit algoritme toepassen, dan kunnen we aan 88,0% van de leerlingen hun school van eerste keuze geven, 3,5% krijgt zijn tweede keuze, 0,8% zijn derde en 0,1% zijn vierde keuze. De overige 7,6% kunnen we geen ticket aanbieden.

Hoe het algoritme achter het aanmeldsysteem voor het onderwijs verbeterd kan worden

Een eerste vaststelling is dat het percentage eerste keuzes geen 100% is. Dit komt door het eerder vermelde capaciteitsprobleem in sommige populaire scholen. Hieruit leren we dat we, met welk algoritme ook, steeds minstens 12% van de leerlingen moeten teleurstellen.

Een tweede vaststelling is dat, hoewel we slagen in de opzet om veel leerlingen een school van eerste keuze te geven, er helaas ook opvallend veel leerlingen zonder ticket overblijven. Een eerste verklaring hiervoor is dat bijna een kwart van de leerlingen slechts een voorkeursschool opgaf. Als zij bij de eerste ronde uit de boot vallen, dan blijven ze met lege handen achter. Het is dus uitermate belangrijk dit vooraf zeer duidelijk te communiceren. Een tweede verklaring hiervoor is dat na de eerste ronde van het algoritme, de meeste populaire scholen al vol zitten. Wie na die ronde nog geen ticket heeft, heeft dan ook bijzonder weinig kans om alsnog een ticket voor zijn tweede of verdere keuze te bemachtigen.

Een gevolg hiervan is dat het algoritme niet strategieneutraal is. Stel bijvoorbeeld dat een leerling inschat dat zijn voorkeursschool zeer populair is en hij slechts 60% kans heeft om hiervoor een ticket te bemachtigen in de eerste ronde. Als zijn tweede keuze minder populair is met bijvoorbeeld een kans op ticket in eerste ronde van 90%, dan zou hij kunnen opteren om zijn tweede keuze als eerste op te geven. Op die manier heeft hij een redelijke kans om een ticket voor die school te bemachtigen, terwijl als de voorkeuren waarheidsgetrouw werden ingevuld, de kans reëel is met lege handen achter te blijven.

De combinatie van het hoge percentage leerlingen zonder ticket en het strategieprobleem zorgt ervoor dat dit algoritme niet bruikbaar is. Het is echter wel een waardevol vergelijkingspunt om alternatieven aan af te toetsen. We willen namelijk het aantal leerlingen zonder ticket reduceren door zo weinig mogelijk van de bovengrens van 88,0% eerste keuze af te wijken.

Het huidig algoritme

De werkwijze van het huidig algoritme van het aanmeldsysteem van Gent en Antwerpen is eerder al uitvoerig besproken. Ik beperk me dan ook tot de resultaten: 78,1% krijgt de school van eerste keuze, 13,0% de school van tweede keuze, 2,7% de school van derde en 0,2% de school van vierde keuze. De overgebleven 6,0% krijgt geen ticket. Aangezien voor het secundair onderwijs de ordening van de leerlingen op basis van toeval gebeurt, kan het algoritme opnieuw uitvoeren een ander resultaat opleveren.

De verschillen in resultaten kunnen op die manier oplopen tot zo'n 2% en daarom wordt in mijn analyses het algoritme telkens honderd keer uitgevoerd en wordt hiervan het gemiddelde genomen. Dit is tevens de reden waarom deze cijfers licht afwijken van de officiële cijfers.

Het goede nieuws is dat met dit algoritme aan stuk minder leerlingen geen ticket krijgen; ongeveer 50 leerlingen extra krijgen hier wel een school toegewezen. Helaas gaat dit ten koste van het aantal leerlingen dat hun eerste keuze krijgt, zo'n 300 leerlingen extra krijgen namelijk hun tweede of derde keuze. Of deze afweging het waard is, laat ik in het midden, maar dit algoritme is in elk geval niet te beïnvloeden door het aantal gemaakte keuzes en bijgevolg strategieneutraal.

De belangrijkste, ongelukkige, bijwerking van de manier waarop dit algoritme werkt is dat de mogelijkheid bestaat dat twee leerlingen een ticket voor elkaars school van eerste keuze krijgen terwijl deze bij beiden een lagere voorkeur kreeg. Indien deze leerlingen onderling hun ticket zouden wisselen dan bekomen we een beter resultaat zonder ogenschijnlijke nadelen. Deze situatie is niet enkel hypothetisch, maar kwam ook effectief voor. Hierdoor was het zeer zichtbaar dat een beter resultaat mogelijk was.

De optimalisatiestap

Het achteraf onderling wisselen van tickets is niet toegelaten volgens de huidige regels en hier valt zeker iets voor te zeggen. Dit zou namelijk een hele ruilcarrousel op gang brengen waarbij ouders met een groot netwerk ongetwijfeld een voordeel hebben, wat dan weer niet strookt met de initiële opzet van een faire procedure.

Wat wel een mogelijkheid is, is om deze mogelijke wissels automatisch op te sporen en uit te voeren vóór de bekendmaking van de resultaten. Hierbij kan het algoritme willekeurig kiezen uit geschikte ruilpartners en blijft het algoritme zo eerlijk mogelijk. Die wissels hoeven zich overigens niet te beperken tot twee personen, tickets doorschuiven tussen drie of meer personen behoort ook tot de mogelijkheden.

De extra optimalisatiestap zorgt er dus voor dat zo'n 200 extra leerlingen de school van hun eerste keuze krijgt, zonder dat iemand hier nadeel van ondervindt.

Als we een basisversie van deze optimalisatiestap laten lopen die enkel wissels tussen twee personen uitvoert, dan krijgen we volgend resultaat: 84,6% krijgt zijn eerste keuze, 8,1% zijn tweede, en 1,3% zijn derde keuze. De 6% leerlingen zonder ticket blijft ongewijzigd omdat ze, zonder ticket, met niemand kunnen ruilen. De extra optimalisatiestap zorgt er dus voor dat zo'n 200 extra leerlingen de school van hun eerste keuze krijgt, zonder dat iemand hier nadeel van ondervindt. Bovendien komt 84,6% aardig in de buurt van de maximaal haalbare 88,0% zonder de nadelen van dat algoritme. Het lijkt dan ook een evidente aanbeveling om het algoritme voor volgend jaar uit te breiden met dergelijke optimalisatie.

Dubbele contingentering

Een ander discussiepunt van het aanmeldsysteem is de zogenaamde dubbele contingentering. Het doel hiervan is om een betere spreiding van kansarme leerlingen over de scholen te bekomen en zo concentratiescholen te vermijden. Hiervoor worden leerlingen ingedeeld in twee groepen op basis van het niet bezitten van een diploma secundair onderwijs door de moeder en het ontvangen van een schooltoelage. Indien een leerling aan een van deze voorwaarden voldoet, dan komt hij in de groep van indicatorleerlingen terecht, anders is hij niet-indicator leerling. Daarnaast wordt per school vooraf een streefpercentage indicator- en niet-indicatorleerlingen bepaald om tot een gezonde sociale mix te komen.

Het algoritme zal hier vervolgens rekening mee houden door per school de beschikbare plaatsen te verdelen tussen de twee contingenten en gescheiden (wacht)lijsten te hanteren. Indien een school uiteindelijk nog vrije plaatsen heeft binnen een contingent, maar geen leerlingen meer op de wachtlijst van dat type, dan worden die plaatsen opengesteld voor het andere contingent. De dubbele contingentering zal er dus nooit voor zorgen dat plaatsen onbenut blijven of dat indicator- (of niet-indicator-) leerlingen absolute prioriteit krijgen.

Omdat we het probleem opsplitsen in twee deelproblemen en dus eigenlijk extra voorwaarden opleggen, lijkt het intuïtief zo dat dit een negatieve impact zal hebben op het resultaat. Dit werd in eerdere opiniestukken van Wouter Rogiest en Jean Pierre Verhaeghe al uitvoerig besproken.

In de praktijk blijkt echter dat de effecten op globaal niveau minimaal zijn: het aantal tickets van eerste keuze is nagenoeg identiek en het aantal leerlingen zonder ticket is slechts een tikkeltje slechter. Op individueel niveau, zijnde wie krijgt welk ticket, zijn er natuurlijk wel verschillen. Door het toepassen van de dubbele contingentering blijkt dat een groter aantal indicatorleerlingen een school van eerste keuze krijgt en dit ten koste van de niet-indicatorleerlingen. Dit is echter erg afhankelijk van de opgegeven keuzes en kan evengoed de andere richting uitgaan.

Aangezien we door de toepassing van de dubbele contingentering een betere sociale mix per school bekomen zonder dat de globale resultaten hieronder lijden, lijkt dit een te verantwoorden keuze te zijn. Het blijft wel zaak om de vooraf opgestelde streefpercentages goed te monitoren zodat de verschillen tussen beide contingenten niet te groot worden.

De toekomst

Naar verwachting zal het aantal leerlingen in het secundair onderwijs de komende jaren alleen maar toenemen. Simulaties wijzen uit dat bij het uitblijven van equivalente capaciteitsverhogingen, door stijgende capaciteitsdruk, het huidig algoritme in toenemende mate slechter zal presteren. Het zal er dus allemaal niet direct beter op worden. Een extra optimalisatiestap kan dan wel voor een beter resultaat van het algoritme zorgen, de echte oplossing zit erin om voldoende capaciteit te voorzien om zo een echt vrije schoolkeuze te kunnen garanderen.

Nu het stof wat is gaan liggen en in Gent de meeste leerlingen die volgend jaar voor het eerst naar het secundair onderwijs gaan een school van voorkeur hebben gekregen, is het tijd om wat dieper in te gaan op het gebruikte algoritme. Contradictorisch aan wat een opiniestuk doet vermoeden, probeer ik hierbij zo dicht mogelijk bij de cijfers te blijven. Ik kreeg hiervoor toegang tot de (geanonimiseerde) Gentse data van het secundair onderwijs en deelde mijn bevindingen reeds met het kabinet van schepen Decruynaere, het LOP en de Gentse schooldirecteurs.Tijdens de aanmeldperiode voor het secundair onderwijs werden in Gent de voorkeuren van 3081 leerlingen geregistreerd. Leerlingen waarvan een broer of zus reeds ingeschreven is bij de school van voorkeur, of waarvan de ouders in die school werken krijgen absolute voorrang en worden hier dus niet in meegerekend. Bij het aanmelden werd aangemoedigd om meerdere scholen te selecteren, maar slechts de helft volgde dat advies en selecteerde 3 of meer scholen. 720 leerlingen selecteerden slechts 1 school. Verder zien we dat er op globaal niveau voldoende capaciteit is in Gent, maar dat dit op schoolniveau niet het geval is. Bij sommige scholen is de vraag veel groter dan het aanbod. Een algoritme zal vervolgens op basis van die voorkeuren proberen zo goed mogelijk scholen toe te wijzen. Leerlingen die een school toegewezen krijgen ontvangen hiervoor een ticket waarmee ze zich kunnen inschrijven.WensenVoor we algoritmes kunnen analyseren en vergelijken, is het belangrijk om de gewenste eigenschappen van zo'n algoritme op te lijsten. Een eerste evidente wens is dat we zo veel mogelijk kinderen hun school van eerste keuze kunnen toewijzen, of toch minstens een school uit hun top drie. Daarnaast willen we ook zo weinig mogelijk kinderen teleurstellen door ze geen enkele school uit hun voorkeurslijst te kunnen gunnen. We willen ook nooit een school aan een leerling toewijzen die niet in zijn lijst stond. Minder voor de hand liggend is dat het algoritme eerlijk en 'strategieneutraal' moet zijn. Dat wil onder meer zeggen dat de toewijzingen niet mogen kunnen beïnvloed worden door het aantal scholen dat iemand opgeeft. Anders gezegd, of een leerling nu 1 school of 10 scholen opgeeft bij het aanmelden, dit mag geen invloed hebben op de kans dat die leerling een ticket voor zijn voorkeursschool krijgt. Tot slot willen we liefst een transparante en eenvoudig uit te leggen werkwijze.Optimalisatie eerste keuzeEen eerste voor de hand liggend algoritme is om te proberen het aantal toewijzingen van eerste keuze te maximaliseren. Dit kunnen we doen door in een eerste ronde, waar mogelijk, de eerste keuze toe te wijzen. Is bij een school de vraag groter dan het aanbod, dan kiezen we willekeurig welke leerlingen een ticket krijgen. In een tweede ronde nemen we alle leerlingen die na de eerste ronde nog geen ticket kregen, en proberen we analoog hun school van tweede keuze toe te wijzen. Deze procedure herhalen we tot iedereen een ticket heeft of tot wanneer de voorkeurslijst van alle overgebleven leerlingen uitgeput is. Als we dit algoritme toepassen, dan kunnen we aan 88,0% van de leerlingen hun school van eerste keuze geven, 3,5% krijgt zijn tweede keuze, 0,8% zijn derde en 0,1% zijn vierde keuze. De overige 7,6% kunnen we geen ticket aanbieden.Een eerste vaststelling is dat het percentage eerste keuzes geen 100% is. Dit komt door het eerder vermelde capaciteitsprobleem in sommige populaire scholen. Hieruit leren we dat we, met welk algoritme ook, steeds minstens 12% van de leerlingen moeten teleurstellen.Een tweede vaststelling is dat, hoewel we slagen in de opzet om veel leerlingen een school van eerste keuze te geven, er helaas ook opvallend veel leerlingen zonder ticket overblijven. Een eerste verklaring hiervoor is dat bijna een kwart van de leerlingen slechts een voorkeursschool opgaf. Als zij bij de eerste ronde uit de boot vallen, dan blijven ze met lege handen achter. Het is dus uitermate belangrijk dit vooraf zeer duidelijk te communiceren. Een tweede verklaring hiervoor is dat na de eerste ronde van het algoritme, de meeste populaire scholen al vol zitten. Wie na die ronde nog geen ticket heeft, heeft dan ook bijzonder weinig kans om alsnog een ticket voor zijn tweede of verdere keuze te bemachtigen.Een gevolg hiervan is dat het algoritme niet strategieneutraal is. Stel bijvoorbeeld dat een leerling inschat dat zijn voorkeursschool zeer populair is en hij slechts 60% kans heeft om hiervoor een ticket te bemachtigen in de eerste ronde. Als zijn tweede keuze minder populair is met bijvoorbeeld een kans op ticket in eerste ronde van 90%, dan zou hij kunnen opteren om zijn tweede keuze als eerste op te geven. Op die manier heeft hij een redelijke kans om een ticket voor die school te bemachtigen, terwijl als de voorkeuren waarheidsgetrouw werden ingevuld, de kans reëel is met lege handen achter te blijven.De combinatie van het hoge percentage leerlingen zonder ticket en het strategieprobleem zorgt ervoor dat dit algoritme niet bruikbaar is. Het is echter wel een waardevol vergelijkingspunt om alternatieven aan af te toetsen. We willen namelijk het aantal leerlingen zonder ticket reduceren door zo weinig mogelijk van de bovengrens van 88,0% eerste keuze af te wijken.De werkwijze van het huidig algoritme van het aanmeldsysteem van Gent en Antwerpen is eerder al uitvoerig besproken. Ik beperk me dan ook tot de resultaten: 78,1% krijgt de school van eerste keuze, 13,0% de school van tweede keuze, 2,7% de school van derde en 0,2% de school van vierde keuze. De overgebleven 6,0% krijgt geen ticket. Aangezien voor het secundair onderwijs de ordening van de leerlingen op basis van toeval gebeurt, kan het algoritme opnieuw uitvoeren een ander resultaat opleveren. De verschillen in resultaten kunnen op die manier oplopen tot zo'n 2% en daarom wordt in mijn analyses het algoritme telkens honderd keer uitgevoerd en wordt hiervan het gemiddelde genomen. Dit is tevens de reden waarom deze cijfers licht afwijken van de officiële cijfers.Het goede nieuws is dat met dit algoritme aan stuk minder leerlingen geen ticket krijgen; ongeveer 50 leerlingen extra krijgen hier wel een school toegewezen. Helaas gaat dit ten koste van het aantal leerlingen dat hun eerste keuze krijgt, zo'n 300 leerlingen extra krijgen namelijk hun tweede of derde keuze. Of deze afweging het waard is, laat ik in het midden, maar dit algoritme is in elk geval niet te beïnvloeden door het aantal gemaakte keuzes en bijgevolg strategieneutraal.De belangrijkste, ongelukkige, bijwerking van de manier waarop dit algoritme werkt is dat de mogelijkheid bestaat dat twee leerlingen een ticket voor elkaars school van eerste keuze krijgen terwijl deze bij beiden een lagere voorkeur kreeg. Indien deze leerlingen onderling hun ticket zouden wisselen dan bekomen we een beter resultaat zonder ogenschijnlijke nadelen. Deze situatie is niet enkel hypothetisch, maar kwam ook effectief voor. Hierdoor was het zeer zichtbaar dat een beter resultaat mogelijk was.Het achteraf onderling wisselen van tickets is niet toegelaten volgens de huidige regels en hier valt zeker iets voor te zeggen. Dit zou namelijk een hele ruilcarrousel op gang brengen waarbij ouders met een groot netwerk ongetwijfeld een voordeel hebben, wat dan weer niet strookt met de initiële opzet van een faire procedure. Wat wel een mogelijkheid is, is om deze mogelijke wissels automatisch op te sporen en uit te voeren vóór de bekendmaking van de resultaten. Hierbij kan het algoritme willekeurig kiezen uit geschikte ruilpartners en blijft het algoritme zo eerlijk mogelijk. Die wissels hoeven zich overigens niet te beperken tot twee personen, tickets doorschuiven tussen drie of meer personen behoort ook tot de mogelijkheden.Als we een basisversie van deze optimalisatiestap laten lopen die enkel wissels tussen twee personen uitvoert, dan krijgen we volgend resultaat: 84,6% krijgt zijn eerste keuze, 8,1% zijn tweede, en 1,3% zijn derde keuze. De 6% leerlingen zonder ticket blijft ongewijzigd omdat ze, zonder ticket, met niemand kunnen ruilen. De extra optimalisatiestap zorgt er dus voor dat zo'n 200 extra leerlingen de school van hun eerste keuze krijgt, zonder dat iemand hier nadeel van ondervindt. Bovendien komt 84,6% aardig in de buurt van de maximaal haalbare 88,0% zonder de nadelen van dat algoritme. Het lijkt dan ook een evidente aanbeveling om het algoritme voor volgend jaar uit te breiden met dergelijke optimalisatie.Een ander discussiepunt van het aanmeldsysteem is de zogenaamde dubbele contingentering. Het doel hiervan is om een betere spreiding van kansarme leerlingen over de scholen te bekomen en zo concentratiescholen te vermijden. Hiervoor worden leerlingen ingedeeld in twee groepen op basis van het niet bezitten van een diploma secundair onderwijs door de moeder en het ontvangen van een schooltoelage. Indien een leerling aan een van deze voorwaarden voldoet, dan komt hij in de groep van indicatorleerlingen terecht, anders is hij niet-indicator leerling. Daarnaast wordt per school vooraf een streefpercentage indicator- en niet-indicatorleerlingen bepaald om tot een gezonde sociale mix te komen.Het algoritme zal hier vervolgens rekening mee houden door per school de beschikbare plaatsen te verdelen tussen de twee contingenten en gescheiden (wacht)lijsten te hanteren. Indien een school uiteindelijk nog vrije plaatsen heeft binnen een contingent, maar geen leerlingen meer op de wachtlijst van dat type, dan worden die plaatsen opengesteld voor het andere contingent. De dubbele contingentering zal er dus nooit voor zorgen dat plaatsen onbenut blijven of dat indicator- (of niet-indicator-) leerlingen absolute prioriteit krijgen.Omdat we het probleem opsplitsen in twee deelproblemen en dus eigenlijk extra voorwaarden opleggen, lijkt het intuïtief zo dat dit een negatieve impact zal hebben op het resultaat. Dit werd in eerdere opiniestukken van Wouter Rogiest en Jean Pierre Verhaeghe al uitvoerig besproken. In de praktijk blijkt echter dat de effecten op globaal niveau minimaal zijn: het aantal tickets van eerste keuze is nagenoeg identiek en het aantal leerlingen zonder ticket is slechts een tikkeltje slechter. Op individueel niveau, zijnde wie krijgt welk ticket, zijn er natuurlijk wel verschillen. Door het toepassen van de dubbele contingentering blijkt dat een groter aantal indicatorleerlingen een school van eerste keuze krijgt en dit ten koste van de niet-indicatorleerlingen. Dit is echter erg afhankelijk van de opgegeven keuzes en kan evengoed de andere richting uitgaan.Aangezien we door de toepassing van de dubbele contingentering een betere sociale mix per school bekomen zonder dat de globale resultaten hieronder lijden, lijkt dit een te verantwoorden keuze te zijn. Het blijft wel zaak om de vooraf opgestelde streefpercentages goed te monitoren zodat de verschillen tussen beide contingenten niet te groot worden.Naar verwachting zal het aantal leerlingen in het secundair onderwijs de komende jaren alleen maar toenemen. Simulaties wijzen uit dat bij het uitblijven van equivalente capaciteitsverhogingen, door stijgende capaciteitsdruk, het huidig algoritme in toenemende mate slechter zal presteren. Het zal er dus allemaal niet direct beter op worden. Een extra optimalisatiestap kan dan wel voor een beter resultaat van het algoritme zorgen, de echte oplossing zit erin om voldoende capaciteit te voorzien om zo een echt vrije schoolkeuze te kunnen garanderen.