Verzuimduur voorspellen

Zou het niet handig zijn als je als werkgever kan zien hoelang een werknemer verwacht ziek te zijn op het moment dat hij of zij zich ziek meldt? Verzuim is nooit leuk, niet voor de werknemer en ook niet voor de werkgever. Het helpt natuurlijk wel als je kunt inschatten hoe lang het verzuim gaat duren. Als werknemer is dit soms makkelijk aan te geven, bijvoorbeeld bij een griepje of een gebroken been. Maar wat nu als de oorzaak complexer is? Valt er dan iets zinnigs te zeggen over de duur van het verzuim? Dat is een vraagstuk dat wij binnen Visma Verzuim hebben beetgepakt tijdens onze innovatieweek.

Tijdens deze week voor Visma Verzuim R&D is er ruimte voor allerhande projecten, om interessante concepten te onderzoeken of nieuwe dingen uit te proberen. Zo zijn wij met een aantal collega’s gaan onderzoeken of we kunnen voorspellen hoe lang het verzuim gaat duren op basis van machine learning.

Machine learning is een concept gericht op het laten leren van computers op basis van data en daarmee voorspellingen te doen. En als je iets wilt voorspellen op basis van verzuimdata ben je bij Visma Verzuim aan het juiste adres! Hoe hebben we dit nou aangepakt? Op basis van onze zoekvraag hebben we een aantal modellen onderzocht, waarbij we rekening moesten houden met de vraag, de data en de tijd om het uit te werken. Uiteindelijk zijn we terecht gekomen bij het model Decision Tree. Dit is een concept waarbij je op basis van vragen door een boom wordt geleid, waarbij je uiteindelijk naar een antwoord gaat.

mceclip1.png

Binnen Visma Verzuim werken we met de programmeertaal Python om te werken met data en data analyse. Python is een taal die werkt met zogenaamde packages die met specifieke use cases worden gebouwd, zo zijn er ook verschillende packages voor het werken met Machine Learning modellen. In dit geval hebben we gewerkt met SKLearn.

Na het uitkiezen van het model en de programmeermethode, hadden we data nodig. Om een goed model te bouwen heb je veel data nodig. Op basis van 100.000 werknemers hebben we een aantal anonieme gegevens gebruikt om als onderdeel van ons model te fungeren. De leeftijd, de lengte van het dienstverband en de verzuimhistorie. Met deze factoren zijn we ons model gaan bouwen. Op basis van de verzuimhistorie hebben we voor iedere verzuimmelding bepaald hoelang de werknemer voorafgaand aan het verzuim ‘gezond’ was, en hoe lang het verzuim duurde. Om een model te trainen splits je de data die je hebt in 2 delen, ongeveer 70-30. Met 70% ga je het model trainen, met 30% ga je het model vervolgens testen.

Op basis daarvan hebben we tegen ons model gezegd, hoe lang gaat de betreffende werknemer ziek zijn, als hij hiervoor 342 dagen niet ziek was? Door bovengenoemde anonieme data van deze 100.000 werknemers in te laden en het model hierop te trainen, komen we tot de boom in het volgende plaatje:

 

mceclip0.png

 

Als we vervolgens met een testset aan data een test runnen, blijkt dat we na een aantal dagen op een correctheid percentage van 43% komen.
Uiteindelijk hebben we een hele leerzame week gehad en nemen we deze nieuw vergaarde kennis mee naar de toekomst!

Was dit artikel nuttig?
Aantal gebruikers dat dit nuttig vond: 0 van 0