Hoe vaak kom je het tegen; een probleem waar meerdere oplossingsscenario’s mogelijk zijn? Denk bijvoorbeeld aan logistieke of voorraad gerelateerde vraagstukken. Het doorrekenen/beschrijven van deze scenario’s is een tijdrovende klus, waar in veel gevallen enorm veel scenario’s mogelijk zijn. Kortom, dit roept om een efficiënte en simpele benadering. Alteryx biedt met de Optimization tool een slimme manier om dit soort complexe vraagstukken op een simpele manier op te lossen. In het blog Optimaliseren in Alteryx kon je al lezen hoe je door middel van een stappenplan dit zelf toe kunt passen. Ik werd geënthousiasmeerd om het voor één keer niet alleen bij onze klanten toe te passen, maar om gebruik te maken van optimalisatie in combinatie met twee grote passies van me: voetbal én data.

Update: Deze blog wordt nog steeds erg goed gelezen en ik krijg hier nog steeds veel reacties op. Dit triggerde me om ook voor het seizoen 2022-2023 weer mee te doen en om opnieuw de Alteryx logica hier op los te laten om een voorspelling voor het komende seizoen te doen. Lees hier mijn nieuwe blog

Coach van het jaar

Ieder jaar doe ik met vrienden mee aan het fantasy football spel “Coach van het jaar”. Het doel van dit spel is om met een vastgesteld budget een zo sterk mogelijk team samen te stellen. Bijkomende spelregel is dat je van elke club maximaal één speler mag selecteren. Elke speelronde behaalt de geselecteerde speler punten voor hoe hij in de echte wedstrijd presteert. Scoort hij, levert dit punten op maar loopt hij tegen een gele kaart aan, krijgt hij daar strafpunten voor.

Blog Coach van het jaar - scorelijst

Elk jaar wordt aan het begin van het seizoen de spelerslijst met de behaalde punten van het voorgaande seizoen beschikbaar gesteld. Ik vroeg me zelf af of deze lijst een goed vertrekpunt zou zijn voor het huidige seizoen. Omdat er bij het samenstellen van het team best wat afhankelijkheden om doe hoek komen kijken leek het mij een goed plan om deze vraag met Alteryx op te lossen. In Alteryx heb je de Optimization tool. Het doel van deze tool is om een bepaald coëfficiënt (in dit geval het totaal aantal punten) te optimaliseren rekening houdend met bepaalde constraints (restricties/voorwaarden, denk hierbij aan het budget en dat je maximaal één speler per club mag opstellen).

Team Optimizer workflow

Allereerst heb ik de spelerslijst met de gegevens van het voorgaande seizoen ingeladen. Een aantal data preparatie stappen uitgevoerd om de data op te schonen. Het heeft natuurlijk geen zin om spelers die niet meer actief zijn in het nieuwe seizoen of momenteel geblesseerd zijn mee te nemen in de analyse. Vervolgens heb ik de constraints opgesteld. Een aantal liggen voor de hand zoals het budget, van elke club maximaal één speler en een team mag uit niet meer dan 11 spelers bestaan. Over andere constraints moest wat beter nagedacht worden. Je kunt in het spel je team namelijk met 5 verschillende opstellingen laten spelen. Met andere woorden de constraints voor de posities moeten dynamisch zijn zodat de workflow tevens de meest optimale opstelling kiest. Dit heb ik gedaan door per positie met ranges te werken. Bijvoorbeeld, het aantal middenvelders mag variëren van 3 tot en met 5 maar er is altijd maar één keeper.

Blog Coach van het jaar - constraint

Na het definiëren van de constraints en de datapreparatie is de dataflow gereed om de Optimization tool in te gaan. De Optimization tool rekent uit wat de meest ideale opstelling is (lees in welke opstelling de meeste punten behaald worden).

Blog Coach van het jaar - Alteryx flow

In het vervolg van de flow voeg ik de dimensies [Team], [Positie], [Prijs] en [Punten] hieraan toe en laat ik de Alteryx workflow een lijst in Excel genereren waarin het ideale team zichtbaar is.

Nu heb ik een lijst met spelers die op basis van de gegevens van het vorige seizoen een goede uitgangspositie zou moeten zijn voor het huidige seizoen.

Wissel Optimizer workflow

Direct stelde ik mijzelf de vervolg vraag, als dit het beste uitgangspunt is? Hoe zorg ik er dan voor dat ik iedere week de beste wissel uitvoer? Na iedere speelronde mag je namelijk één speler uit je team wisselen. Ik besloot een vervolg workflow te bouwen die naast de data van het vorige seizoen ook de data van het huidige seizoen meeneemt. Maar hoe kom ik aan de data van het huidige seizoen? Middels een web API was ik in staat om een JSON file met de gegevens van het huidige seizoen te downloaden. Met wat datapreparatiestappen in Alteryx was deze prima te gebruiken voor mijn vervolg workflow de “Wissel Optimizer”.

Analytical app

Echter wanneer je van plan bent om de workflow voor elke speelronde te draaien moet er op een dynamische manier rekening gehouden worden met de geblesseerde spelers. Om te bewerkstelligen heb ik een analytical app voor mijn workflow gemaakt. Hierdoor krijgt de eindgebruiker een user interface waarop hij gemakkelijk in kan voeren welke (geblesseerde) spelers uitgesloten moeten worden van de analyse. Daarnaast heb ik een paar optionele paramaters toegevoegd om de constraints te tweaken.

Blog Coach van het jaar - Alteryx wissel optimizer

Resultaten

Om de proef op de som te nemen speel ik dit jaar mee met mijn eigen account waarbij ik het team samen heb gesteld op basis van mijn “boerenverstand” en met een account dat volledig leunt op de “Team Optimizer” en de “Wissel Optimizer” workflows. Na de eerste speelronde stond het optimization account op plek 269 en mijn “boerenverstand” account op plek 12.626 in het algemeen klassement van de in totaal 28.301 spelers.

Blog Coach van het jaar - Algemeen klassement

Op het moment van schrijven staat het optimization account op plek 14.646 en mijn “boerenverstand” account op plek 12.107 in het algemeen klassement. Dit lijkt een groot gat maar het verschil tussen de twee teams bedraagt “slechts” 11 punten. “The devil is in the detail” laten we maar zeggen. Ik kijk met spanning uit naar wat de klassering van beide teams is aan het eind van het seizoen.

Conclusie

Het blijft uiteindelijk lastig om een voetbalcompetitie te voorspellen. Er gebeuren onverwachte dingen en er is altijd een dosis geluk in het spel. Wel zorgt de “Team Optimizer” voor een goed startelftal. Daarnaast wordt in de “Wissel Optimizer” de ideale wissel binnen enkele seconde berekend, iets wat je handmatig veel meer tijd zal kosten. Kortom zoals de Infotopics “Circle of analytical excellence” (zie onderstaande afbeelding) ook aangeeft: “Technology” alleen is niet voldoende er komt ook áltijd een stuk “People” bij kijken, echter helpt “Technology” in dit geval in de vorm van Alteryx met een gigantische tijdsbesparing. Ik heb dit nu toegepast voor een fantasy football spel maar deze principes zijn ook in te zetten voor logistiek- en voorraad gerelateerde vraagstukken. Ik denk dat daar bij veel bedrijven en organisaties winst te behalen valt.

Zelf optimaliseren met Alteryx? Download de Alteryx trial of neem contact op!