Work
Quantitative Modelling and Decision Support
My professional interests lie at the intersection of quantitative modelling, finance and data.During a corporate-finance internship at Fugro (summer 2025), I built and evaluated forecasting systems for planning and liquidity, working on model choice, honest validation and the step that turns a forecast into a decision.

Financial Forecasting
Corporate Finance · Fugro
Statistical models + ML
Method matched to the data
Short- and Long-Horizon Forecasting
Long-range planning and daily cash
Decision Support
From models to usable outputs
Two forecasting problems
Corporate finance poses very different forecasting problems at different timescales.
Long-term planning asks how revenue will develop over time; treasury needs to know what the cash position will look like on a particular day. The underlying data are fundamentally different, and so are the models that make sense.
All numerical examples and visualisations below use synthetic illustrative data; no internal Fugro figures are shown.
Long horizon · Planning
A few years of monthly history
Approximately forty monthly observations
- Monthly aggregates, not transactions.
- Strong and repeating seasonality.
- A leading indicator that moves first.
- Few enough points to count.
Short horizon · Liquidity
Many thousands of invoices
Settlement delay in days →
One mark per invoice
- Transactions, not aggregates.
- Settlement behaviour per counterparty.
- High-cardinality categorical structure.
- Far too many points to count.
Same company, same internship, different modelling problems.
The structure of the data determined the approach.
01 · Planning
Long-horizon planning
The question was never which model fit the history best. It was which model remained credible once it had to produce a real forecast — at a specific point in time, using only the information available then.
Long-term revenue planning relied on a short monthly history, strong seasonality and a small set of candidate external drivers.
The interval widens with the horizon. A forecast twelve months out is not the same object as a forecast one month out, and evaluating it as though it were is where most of the honesty is lost.
The constraint that shapes everything
A model that uses external drivers cannot be evaluated as though their future values are already in hand.
If a driver has to be an input at decision time, it has to be forecast under the same information conditions as the thing it is helping to predict. Skip that step and you are evaluating a model that could never exist in practice — one with access to information from the future.
Deployment-consistent
The driver is forecast first, then fed to the model. The result is what the model would have produced on the day, which is the only number worth reporting.
Unrealistic
The driver keeps its realised values past the origin. The model is scored on information it could not have had, and it scores well — which is exactly why the mistake survives review.
What came out
On this task the simpler statistical approach proved more reliable than the tuned machine-learning alternatives.
The useful lesson is not that one model class is better than another. It is that sparse seasonal data with a genuine leading indicator rewards a disciplined time-series model — and that the ranking only became visible once the drivers were forecast rather than assumed.
02 · Liquidity
Short-horizon liquidity
Short-term liquidity forecasting looks similar in name, but it is a fundamentally different problem.
The relevant unit is not a monthly aggregate but a single invoice, and the target is not a level but a date: when that invoice is likely to settle, given the invoice itself and the counterparty's past behaviour.
Why the modelling approach differs
At the invoice level there are orders of magnitude more observations, and the structure is categorical as much as temporal — who, on what terms, with what history behind them.
That is the setting in which machine-learning methods start to earn their complexity, and on this task they outperformed the operational benchmark they were compared against.
How predictions become decisions
The model is only the first half of the problem; the interesting part begins when those predictions have to become decisions.
The model predicts when one invoice settles. Nobody makes a decision about one invoice. Summed by day, the same predictions become a net cash position; sorted by exposure and predicted delay, they become a list of who to chase first.
Predicted settlement · one mark per invoice
Aggregated by day ↓
Daily inflow, outflow and net cash position
Receivables follow-up · worklist
- INV-1042Counterparty ADue06 MarPredicted27 MarDelay+21 dExposure€ 120,000PriorityHigh
- INV-1178Counterparty BDue11 MarPredicted28 MarDelay+17 dExposure€ 80,000PriorityHigh
- INV-1256Counterparty CDue18 MarPredicted29 MarDelay+11 dExposure€ 55,000PriorityMedium
- INV-1314Counterparty DDue21 MarPredicted27 MarDelay+6 dExposure€ 90,000PriorityMedium
- INV-1390Counterparty EDue25 MarPredicted27 MarDelay+2 dExposure€ 30,000PriorityLow
Priority is not a column the model produces. It is exposure weighted by predicted delay — a rule someone has to choose, and the point at which a forecast becomes an instruction about who to call first.
How the models were judged
A model is only useful if it is evaluated under the conditions in which it will be used.
On the planning problem that meant running evaluation forward through time: the model was fitted on history up to a chosen moment and scored only on the period after it, at the horizon the forecast would really be made for. On the liquidity problem it meant scoring on invoices held out of training and comparing against the settlement rule already in operational use. Every result was reported against a reference approach. A number with nothing beside it is not a result.
Rolling origin
Time →
- Fold 1
- Fold 2
- Fold 3
- Fold 4
A single train/test split can give a misleadingly favourable result.
By advancing the forecast origin through time and evaluating the same horizon repeatedly, you get a sequence of results that can be compared with one another and with a benchmark. A model that wins only once has not really won.
What I took from it
Validation changes which model you pick
Strong in-sample fit is weak evidence of forecasting performance.
The ranking of candidates moves once they are judged on unseen periods, at the horizon the forecast is actually made for — and it moved on both of these problems.
Complexity has a cost
A more flexible model is not automatically a better one.
With only a few years of monthly data, extra flexibility can add variance faster than it adds predictive accuracy.
Analysis has to survive translation
A technically correct result is worth nothing until it is something someone can act on.
A planning input. A daily cash position. A list of who to call first.
That last step is not admin. It is where the work becomes useful.
Other professional work
Communication
Talks and Workshops
I have given talks and led sessions for companies, events and climbing groups.
Adapting both technical and experience-based material to different audiences.

Photograph: 2021
Building
Designed, Built and Delivered
Climbing chalk brush
I designed a climbing brush from the object geometry upward, modelled it in CAD, developed the physical product and distributed finished brushes directly to climbing gyms.
The project taught me the gap between a design that looks right and one that has to be made, used and distributed.

Showing: Finished
Design
From drawing to object


