The All-Blank Data Sheet: The Data Discipline Vietnamese Football Still Lacks
The All-Blank Data Sheet: The Data Discipline Vietnamese Football Still Lacks...
The All-Blank Data Sheet: The Data Discipline Vietnamese Football Still Lacks
Saigon, June, two in the morning, a file lands in my inbox. Nine sections. Forty-one cells. Every cell carries the same line: "N/A – insufficient information." The sender is a young analyst working for a domestic sports data group, someone I know from a few conversations at a cafe on Nguyen Du Street. He wrote exactly one sentence: "See if you can write anything from this."
I printed it. Two A4 pages, mostly white space. The report had the full skeleton: tactical analysis, club finance, transfer market, rules and governance, dressing room, risk profile, media narrative, industry transmission. All of it. And every cell empty.
The same week, three other "data sheets" arrived from three fan pages. The first claimed a V-League club had a "chance conversion rate of 24.7%." The second said another team "wins 62% of home matches." The third reported that a "pressing index rose 18%," complete with a handsome blue chart and clear footnotes. None of them cited a source. None stated the sample size. None named who did the counting.
I left the four sheets side by side on my desk. One said nothing and was right. Three said a great deal and said nothing at all.
Context: my trade is counting, not narrating
I entered the profession in 2026, after graduating from the journalism academy, joining Bao Bong Da before moving to Madrid as a correspondent for Bao The Thao The Gioi. Forty-three years watching football, twenty of them through tables. I am fifty-nine now, living in Saigon, working as a sports betting analyst for the Vietnamese market. People call me a data monk; I do not argue.
My daily work is not predicting who wins. It is repricing the probability of a match and comparing it with the price the market offers. If the two diverge enough, I write. If not, I stay quiet. Every week I publish a pre-match numbers sheet for V-League fixtures and European leagues, with xG, PPDA, running distance, duel counts and a context coefficient. Every table has a source column.
Vietnamese football in 2026 is a different country from the Hang Day stadium I sat in during 2026. xG is no longer a foreign term. Broadcast graphics carry probability bars. Dozens of self-organised statistics pages exist online. Betting analysis groups appear weekly, each with thousands of followers, each publishing numbers to two decimal places. That is progress. A football culture where fans ask "what was the xG" has moved forward.
But there is a hole in that picture, and it sits exactly where it matters most: provenance. A metric without provenance is a rumour in a suit. It may be right or wrong, and the reader has no way to tell the difference. In a market where people stake real money on those numbers, being unable to tell the difference is a risk, not a detail.
The blank report is therefore the most instructive document of the month. It shows precisely what I call data discipline: the ability to say "I do not know" at the right moment, in the right technical language, instead of filling the gap with a plausible-sounding sentence.
A data table is born in four steps. Collection: who recorded what, and where. Extraction: turning match events into structured fields. Modelling: placing those fields in a frame of reference, usually the team's own past or the league average. Conclusion: producing a claim that can be tested. An error at any step produces a conclusion wrong in that step's particular way.

The young analyst's report showed one very specific signal. The skeleton was complete — nine sections, tables, evidence lines, even "hidden information" and "risk flags" blocks. The content was zero. The system had run to completion and emitted the entire schema without capturing a single information point from the source. The failure sat at the extraction layer, not the schema layer.
That matters more than a single error. A system that crashes is an honest system: it tells you it is not working. A system that runs to completion and returns a formally complete but substantively empty document is far more dangerous, because it looks like finished work. A reader skimming it sees every heading, every table, the words "risk" and "probability," and concludes there is no problem.
Zero and blank are not the same thing
In a football data table, zero is a measurement. A blank is an absence. "The player ran 0 metres" means he did not play, which is real, measurable, verifiable information. "No running-distance data" means nobody measured, which is also real information, except it describes the measurer rather than the player.
The two get merged constantly. A club that does not publish its wage bill is not a club with low wages; it is a club that does not publish. A player with no public injury record is not a fit player; he is a player nobody has documented. A league that does not publish financial compliance findings is not a healthy league; it is a league that has not published.
At V-League, most finance cells are blank in the strict technical sense. No public wage tables, no standardised revenue structure, no contract amortisation published to a common template. Anyone writing that a club spends 60% of revenue on wages either holds internal documents or is guessing. Both possibilities need to be stated.
An honest blank is worth more than a filled fabrication, because a blank still shows you the way back, and a fabrication does not.
Hang Day, 2026: the first time I counted instead of watched
In 2026, Hanoi FC hosted Quang Nam FC at Hang Day. I sat in stand B with a notebook and a pen, and I had 180 million dong on a Hanoi win.
Hanoi took 17 shots. Their xG, by the model I built afterwards, was 2.87. Quang Nam took 2 shots, xG 0.94. The score was 1-1. I lost 180 million dong and, with it, the feeling that I understood football.
That night I did not sleep. I reopened the footage, rewound every attack, and started counting. Not goals. Shot locations, distances to goal, angles, body parts, number of defenders within two metres, goalkeeper position. I did it for 112 V-League matches from round one to round fourteen.
The xG shock at Hang Day turned me from a watcher into a reader of data.
The result was not what I expected: Hanoi FC created more chances than anyone in the league, but their finishing efficiency was 23% below the league average. They shot often, from good positions, and into places where the goalkeeper was already standing. Three thousand words on this were mocked by the press for two weeks. A month later, Hanoi lost four straight.
But the real lesson was not that xG works. It was that out of 17 shots that night, I remembered exactly one — the goal. The human eye samples emotionally. It records the peak and deletes the baseline. The table samples everything, including the shots I had forgotten.

One detail from that project I rarely mention. Eleven of the 112 matches were dropped entirely, because the footage did not offer enough angles to establish shot distance and I refused to estimate by eye. Those eleven blank rows were the most important part of the project. Filling them would have made the table prettier and wronger.
Kazan, 2026: the model transferred because it was measured, not narrated
Summer 2026, World Cup in Russia. Before the group stage I audited Germany's pressing data and found two things. Average running distance per match had fallen 12.3% from the 2026 title-winning side. Their PPDA had risen from 8.2 to 11.7, meaning they were allowing opponents far more passes before making a first defensive action.
PPDA is a count, not an opinion. It does not care about a team's reputation, its stars, or its press coverage. It counts the passes an opponent completes between your defensive actions. When that count rises 42% in four years, the team has changed how it plays, whether or not the results table shows it yet.

I published a prediction that Germany would go
