Data Engineering: Model Pipelines
A worked example of the modelling and pipeline engineering behind the Data Engineering tile: five model families, each validated before it ships. A shot-quality Danger model built on xG, a cross-outcome model, a headed-clearance landing model, and the xT and shot-clock work (the model behind this article) structured as a Markov Decision Process and turned into a repeatable pipeline.
The validation detail below is deliberately unfiltered, so you can see exactly how rigorously each model was checked before it shipped. If you'd rather skip straight to what this means for your own data, jump to what this looks like as a service.
Pipeline scale
Four seasons of Eredivisie event data, loaded and re-parsed every time the models are retrained — not a one-off export.
Danger model: shot-quality sub-model validation
Every shot passes through five sub-models before it's scored — this is their validation performance, not just the headline number.
xG model: calibration and what context adds
The Danger model's own xG sub-model, looked at two more ways: whether its predicted probabilities can be trusted at face value, and how much more it learns once post-shot context (was it on target? where was the keeper?) is added.
Cross model: four outcomes, one pipeline
Every open-play cross is scored for completion, chance creation, goal contribution and whether it's defended — four separate classifiers sharing one feature pipeline.
Clearance model: where does the header land?
A headed-clearance landing-location model, checked against a naive baseline and against a distance threshold that actually matters for what happens next.
xT model: the full grid
Before building the contextual, Bellman-fitted version, the pipeline starts from the classic fixed xT grid — the baseline every improvement gets measured against.
xT & shot-clock: modelled as a Markov Decision Process
Treating possession as a sequence of states and actions, not a lookup table — the same framework behind the xT model and the shot-clock work.
Engineering validation: does it actually converge?
A fitted Bellman model is only trustworthy if the value iteration actually settles down — this is that check, not just an assumption.
The full pipeline
All of the above, stitched into one repeatable run: from raw event state to a final action value.
As a service
Commissioned, this becomes a pipeline built for your own data, not a one-off script. Automated ingestion of whichever event and tracking feeds you already have (Opta, StatsBomb, IMPECT, SkillCorner, Wyscout), models validated the way the ones above were and retrained on a schedule, and a dashboard or report your staff open without needing to touch the code underneath. Get in touch to talk through what your own data setup needs.