Werk

Kwantitatief modelleren voor beslissingen

Ik pas statistische en computationele methoden toe op praktische financiële vraagstukken.Tijdens een stage bij Corporate Finance van Fugro (zomer 2025) bouwde en evalueerde ik prognosesystemen voor planning en voor liquiditeit: modelkeuze, eerlijke validatie en de stap die van een prognose een beslissing maakt.

Portret van Leto Cavé in pak met stropdas

Financiële prognoses

Corporate Finance · Fugro

Klassiek + ML

Methode volgt het dataregime

Twee horizonnen

Langetermijnplanning en dagelijkse kaspositie

Beslissingen

Van model naar bruikbaar resultaat

Twee prognose­vraagstukken

Corporate finance stelt op verschillende horizonnen verschillende prognosevragen. Planning wil weten hoe de omzet zich in de tijd ontwikkelt. Treasury wil weten hoe de kaspositie er op een bepaalde dag uitziet. Achter die twee vragen zit niet dezelfde data, en de modelkeuze volgt de data.

Lange horizon · Planning

Zes jaar maandelijkse historie

Achtenzeventig maandelijkse waarnemingen

  • Maandtotalen, geen transacties.
  • Sterke, terugkerende seizoensinvloed.
  • Een voorlopende indicator die eerst beweegt.
  • Weinig genoeg punten om te tellen.

Korte horizon · Liquiditeit

Tienduizenden facturen

Betalingsvertraging in dagen →

Eén markering per factuur

  • Transacties, geen totalen.
  • Betaalgedrag per tegenpartij.
  • Categorische structuur met veel niveaus.
  • Veel te veel punten om te tellen.

Zelfde bedrijf, zelfde stage, tegengestelde antwoorden.

Het dataregime bepaalde de methode.

01 · Planning

Planning op lange termijn

Omzetplanning op langere termijn draaide op een beperkte maandelijkse historie, sterke seizoensinvloeden en een handvol mogelijke externe verklarende variabelen. De vraag was nooit welk model de historie het best beschreef. De vraag was welk model geloofwaardig bleef zodra het een echte prognose moest zijn — gemaakt op een bepaald moment, met wat op dat moment bekend was.

WaargenomenPrognosePrognosemoment

Het interval wordt breder met de horizon. Een prognose twaalf maanden vooruit is niet hetzelfde object als een prognose één maand vooruit, en hem beoordelen alsof dat wel zo is, is waar de meeste eerlijkheid verloren gaat.

Illustratief voorbeeld met synthetische data — geen Fugro-data getoond.

De randvoorwaarde die alles bepaalt

Een model met externe verklarende variabelen kun je niet evalueren alsof hun toekomstige waarden al bekend zijn. Als zo'n variabele op het beslismoment een invoer moet zijn, moet hij onder dezelfde informatiecondities worden voorspeld als datgene wat hij helpt voorspellen. Sla je dat over, dan meet de evaluatie een model dat nooit zal bestaan — een model met een kopie van het antwoord.

Consistent met gebruik

Exogene variabelePrognoseDoelvariabelePrognosemoment

De variabele wordt eerst voorspeld en dan aan het model gegeven. Het resultaat is wat het model op de dag zelf zou hebben opgeleverd — het enige getal dat het rapporteren waard is.

Onrealistisch

Exogene variabeleGerealiseerdDoelvariabelePrognosemoment

De variabele houdt voorbij het prognosemoment zijn gerealiseerde waarden. Het model wordt beoordeeld op informatie die het niet kon hebben, en het scoort goed — precies waarom de fout een review overleeft.

Illustratief voorbeeld met synthetische data — geen Fugro-data getoond.

Wat eruit kwam

Op deze taak bleek de eenvoudigere klassieke aanpak betrouwbaarder dan de afgestemde machine-learning-alternatieven. De les is niet dat de ene modelklasse beter is dan de andere. De les is dat schaarse seizoensdata met een echte voorlopende indicator een gedisciplineerd tijdreeksmodel beloont — en dat de rangorde pas zichtbaar werd toen de verklarende variabelen werden voorspeld in plaats van aangenomen.

02 · Liquiditeit

Liquiditeit op korte termijn

Kasprognoses op korte termijn zijn een andere vraag in vergelijkbare woorden. De relevante eenheid is geen maandtotaal maar één factuur, en wat voorspeld moet worden is geen niveau maar een datum: wanneer deze factuur daadwerkelijk wordt betaald, gegeven hoe deze tegenpartij zich eerder gedroeg.

Waarom het modelregime verschilt

Op factuurniveau zijn er ordes van grootte meer waarnemingen, en de structuur is evenzeer categorisch als temporeel — wie, onder welke voorwaarden, met welke geschiedenis. Dat is de setting waarin machine-learning-methoden hun complexiteit beginnen te verdienen, en op deze taak presteerden ze beter dan de operationele benchmark waarmee ze werden vergeleken.

Hoe voorspellingen beslissingen worden

Het model voorspelt wanneer één factuur wordt betaald. Niemand neemt een beslissing over één factuur. Per dag opgeteld worden dezelfde voorspellingen een netto kaspositie; gesorteerd op blootstelling en verwachte vertraging worden ze een lijst van wie je het eerst moet bellen. Het modelleren houdt op het interessante deel te zijn, precies waar die vertaling begint.

Verwachte betaling · één markering per factuur

Per dag opgeteld ↓

Dagelijkse instroom, uitstroom en netto kaspositie

Geld inGeld uitNettopositieTwee weken
Illustratief voorbeeld met synthetische data — geen Fugro-data getoond.

Opvolging debiteuren · werklijst

  • INV-0412Tegenpartij A
    Vervalt12 mrt
    Verwacht09 apr
    Vertraging+28 d
    Blootstelling€ 184.000
    PrioriteitHoog
  • INV-0389Tegenpartij B
    Vervalt05 mrt
    Verwacht24 mrt
    Vertraging+19 d
    Blootstelling€ 96.500
    PrioriteitHoog
  • INV-0437Tegenpartij C
    Vervalt19 mrt
    Verwacht31 mrt
    Vertraging+12 d
    Blootstelling€ 71.200
    PrioriteitMiddel
  • INV-0451Tegenpartij D
    Vervalt22 mrt
    Verwacht27 mrt
    Vertraging+5 d
    Blootstelling€ 130.400
    PrioriteitMiddel
  • INV-0468Tegenpartij E
    Vervalt26 mrt
    Verwacht27 mrt
    Vertraging+1 d
    Blootstelling€ 42.900
    PrioriteitLaag

Prioriteit is geen kolom die het model produceert. Het is blootstelling gewogen met verwachte vertraging — een regel die iemand moet kiezen, en het punt waarop een prognose een instructie wordt over wie je het eerst belt.

Voorbeeld ter illustratie — geen interne gegevens getoond.

Hoe de modellen zijn beoordeeld

Een model is alleen bruikbaar als het wordt geëvalueerd onder de omstandigheden waarin het gebruikt gaat worden. Voor het planningsvraagstuk betekende dat evaluatie vooruit in de tijd: het model werd gefit op de historie tot een gekozen moment en alleen beoordeeld op de periode daarna, op de horizon waarvoor de prognose echt gemaakt zou worden. Voor het liquiditeitsvraagstuk betekende het beoordelen op facturen die buiten de training waren gehouden, en vergelijken met de betaalregel die al operationeel in gebruik was. Elk resultaat werd gerapporteerd tegenover een referentieaanpak. Een getal zonder iets ernaast is geen resultaat.

Rolling origin

Tijd →

  1. Fold 1
  2. Fold 2
  3. Fold 3
  4. Fold 4
Gefit opBeoordeeld opNiet gezien door deze fold

Met één enkele train/test-splitsing kun je geluk hebben. Door het prognosemoment door de reeks te laten opschuiven en telkens over dezelfde horizon te beoordelen, ontstaat een reeks getallen die met elkaar en met een benchmark te vergelijken zijn — en een model dat maar op één moment wint, heeft niet gewonnen.

Illustratief voorbeeld met synthetische data — geen Fugro-data getoond.

Wat ik eruit meenam

Validatie verandert welk model je kiest

Een sterke in-sample fit is geen bewijs. De rangorde van kandidaten verschuift zodra ze worden beoordeeld op ongeziene periodes, op de horizon waarvoor de prognose daadwerkelijk wordt gemaakt — en ze verschoof bij allebei deze vraagstukken.

Complexiteit heeft een prijs

Een flexibeler model is niet automatisch een beter model. Met zes jaar maanddata koopt extra capaciteit variantie in plaats van nauwkeurigheid, en het eenvoudigere model is het model dat volgend kwartaal nog steeds werkt.

Een analyse moet de vertaling overleven

Een technisch correct resultaat is niets waard totdat iemand ermee aan de slag kan: een invoer voor de planning, een dagelijkse kaspositie, een lijst van wie je het eerst belt. Die laatste stap is geen administratie. Het is waar het werk nuttig wordt.

Overig professioneel werk

Communicatie

Lezingen en workshops

Ik heb lezingen gegeven en sessies geleid voor bedrijven, evenementen en klimgroepen, en daarbij geleerd technische en ervaringsgerichte stof af te stemmen op verschillende publieken.

Leto Cavé presenteert voor een zittend bedrijfspubliek

Bouwen

Ontworpen, gebouwd en geleverd

Klimborstel

Ik ontwierp een klimborstel vanaf de geometrie van het object, modelleerde hem in CAD, ontwikkelde het fysieke product en leverde de afgewerkte borstels rechtstreeks aan klimhallen.

Het project leerde me het verschil tussen een ontwerp dat er goed uitziet en een ontwerp dat gemaakt, gebruikt en geleverd moet worden.

Twee afgewerkte houten klimborstels op een donker spiegelend oppervlak, één met een ingestempeld logo

Weergegeven: Afgewerkt

Ontwerp

Van tekening naar object

Hetzelfde zij- en bovenaanzicht, uitgewerkt als houten borstel met lichte haren
Technische tekening van de klimborstel, zijaanzicht boven bovenaanzicht, in dun zwart lijnwerk
Technische tekeningOntwerp

Op zoek naar de volledige achtergrond?

Bekijk het volledige cv, of neem contact op.