Product

A Report Engine, Not a Template

A Report Engine, Not a Template

2026-07

A static template is the fastest way to build a report generator, and the fastest way to make it look wrong on the first defender you open. A centre-back with one take-on all season doesn't need a "how dangerous are his carries?" section any more than a winger needs a defensive-actions heatmap built on three tackles. Yet a fixed template shows both, because a fixed template doesn't know what it's looking at.

The redesign treats every candidate section as a module in a small ontology: the football question it answers, which positions it's relevant to and how strongly, a minimum sample size below which the module is statistically meaningless, and a reliability weight. A utility score — position relevance × role fit × usage × reliability — ranks every module for the specific player in front of it, and anything under threshold is hidden rather than padded out with a near-empty chart.

Open Pau Cubarsí's report and eleven of fourteen candidate modules survive the gate, in an order led by build-up and defending; his one career take-on doesn't get a section. Open a winger's report and the ranking flips — carrying and creation lead, and the build-up module drops toward the bottom. The report doesn't just look different by position; it's structurally different, generated fresh per player rather than filled into the same fifteen boxes. A visible line at the bottom of every report lists exactly which modules were hidden and why — not silently, so the omission itself is auditable.