04 · Data to report

PIRlo: from player data to a report people can read.

A large youth and professional soccer database became the source for readable player reports through a deliberately separated flow: deterministic checks and prepared findings first, narrative generation and review second.

Public PIRlo professional report showing a narrative summary and player profile
A professional report from the public PIRlo showcase.

Problem

Player reports had to make a lot of structured information useful to a player, family or coach. The system needed to turn computed findings into a clear narrative while keeping the source of each important claim visible.

The hard part was not asking a model to write. It was deciding what the model was allowed to see, what had already been checked, and what should stop for a person’s review.

Approach

I separated data validation, narrative writing and numeric checks, so each stage could change without breaking the others. Because the engine reads straight from the database, a report can be generated on demand for any player or rendered and stored. Minors’ data was handled to COPPA requirements, with signed consent records, privacy filters and retention limits.

  1. Source dataLineage
  2. Validate + prepareDeterministic checks
  3. Narrative generationReader voice
  4. Numeric checksDeterministic gate
  5. RenderOn demand or stored
The system keeps source data, prepared findings and writing decisions in view as the report takes shape.

What changed

The engine produced more than 2,000 youth reports and several hundred professional reports, generated on demand or rendered and stored.

During writing trials, the target moved from around twenty numbers to roughly four in the player version and six in the coach version, with charts carrying the detail. Automated numeric checks screened narratives for unsupported numbers and banned language.

What makes a report useful?

A reader needs more than a table of numbers. The report should help them understand the question, find the evidence behind an answer and recognise what still needs another look.

  1. Start with the questionWhat is the reader trying to understand?
  2. Follow the evidenceKeep the relevant findings and charts within reach.
  3. Review the uncertaintyMake room for a person to check unresolved claims.

This reading guide describes the purpose of the report. The system flow above shows how the findings and narrative were prepared and reviewed.

The same challenge shows up in business reporting.

A team working from exports or spreadsheets may face a similar problem: plenty of information, but an unclear route from the source to a useful summary. The reporting question, source definitions and review responsibility need to be settled before automating the writing.

That is a possible starting point for a business reporting project. We would begin with the report your team already uses, identify a narrow improvement and agree how to check it. The soccer case demonstrates my approach; it does not establish that your systems are already connected.

What information is your team trying to make sense of?

Tell me who reads the report, where the information comes from and which part keeps taking manual work. We can work out whether a clearer report, a data check or a focused tool would be useful.

Talk through your reporting problem