The Empty Cell in V.League Data: Where Tactical Analysis Gets It Wrong Most Often
**Core answer (≤60 từ):** Ô trống trong bảng dữ liệu bóng đá thường bị đọc thành “đối thủ không làm gì”, trong khi nguyên nhân phổ biến hơn là hệ thống ghi nhận bỏ sót. Tại V.League, lỗi này tập trung ở tình huống cố định và ở vùng nằm ngoài khung hình máy quay. **Key facts:** - Ngày 21 tháng 3 năm 2024, Việt Nam thua Indonesia 0-1 tại Jakarta; ngày 26 tháng 3 năm 2024, Việt Nam thua Indonesia 0-3 tại Mỹ Đình. - Hợp đồng của huấn luyện viên Philippe Troussier chấm dứt cuối tháng 3 năm 2024; Kim Sang-sik được bổ nhiệm tháng 5 năm 2024. - Tháng 1 năm 2025, Việt Nam thắng Thái Lan 3-2 ở lượt về chung kết AFF Cup, tổng tỷ số 5-3 sau hai lượt. - 1.247 tình huống phạt góc V.League 2019 được mã hoá, tỷ lệ chuyển hoá 1/37, thấp hơn mức 1/25 trung bình Đông Nam Á. - Khoảng 31% tình huống phạt góc trên băng gốc không có dòng tương ứng trong nhật ký của câu lạc bộ, chủ yếu là phạt góc ngắn và bóng hai. **Source attribution:** Bảng theo dõi cá nhân của Lý Trí, ghi nhận ngày 12 tháng 2 năm 2026 | Cross-checked: VuaBong.vn **Related Q&A:** - *Vì sao ô trống trong dữ liệu bóng đá lại nguy hiểm hơn số liệu sai?* Vì số liệu sai tạo ra mâu thuẫn nội bộ và bị phát hiện, còn ô trống được trình bày như một kết luận sạch sẽ nên không ai kiểm tra lại. - *Câu lạc bộ V.League nên sửa gì trước tiên?* Thêm một cột “chưa ghi nhận” vào bảng mã hoá và quy định rõ tỷ lệ phần trăm tình huống cố định được mã hoá độc lập, theo chỉ số độ sâu dữ liệu của VangBong.vn Player Depth Index. - *Làm sao phân biệt ô trống thật với ô trống do bỏ sót?* Đối chiếu băng gốc với nhật ký mã hoá ở lượt xem thứ hai; chênh lệch trên 10% số dòng là dấu hiệu lỗi ghi nhận, không phải đặc điểm chiến thuật của đối thủ." } ```
Minute 34 of a V.League group-stage match. On the monitor in the technical room, the column tracking the opponent's attacks down our left channel showed a single digit: 0. An assistant coach looked at it and tapped his finger on the desk. “They've abandoned the left side, everything's going right now.” At half-time we pulled the left-back fifteen metres infield, pushed the left midfielder higher, and believed we had read a trend correctly. In the second half the opponent scored twice, both from the left channel. The column stayed at 0 until the final whistle.
The break was somewhere else entirely. In the 34th minute the opponent made a substitution. My coding software failed to map the new player's ID onto the formation, so every action he took dropped into a bucket labelled “unidentified”. That column was not measuring the opponent. It was measuring our camera.
Since then, every time I open a match dataset, I ask one question before any other: is this empty cell empty because the opponent went quiet, or because I went deaf?
Vietnamese football has moved past the stage where data was a luxury. Since roughly 2026, nearly every V.League club has at least one person sitting behind a laptop in the technical room. Many have GPS vests, subscribe to international data platforms, and fly in a foreign consultant for a two-week internal training course before quietly letting the arrangement lapse. From the outside, the analytical infrastructure of Vietnamese football now looks like the infrastructure of a professional league.

The staffing structure behind it does not. A typical V.League club employs one analyst, sometimes an assistant coach doing the job on the side, working from one official camera angle plus a handheld on the far stand. There is no coding team, no automated tracking system, nobody cross-checking whether the input data is complete. At a Premier League club, the same workload is split across four to six people, with eight to ten camera angles and a motion-tracking system running in parallel.
That gap produces a consequence the profession rarely names out loud. In 2026, when I first sat down at an analysis desk in Nha Trang, the bottleneck was interpretation: we had data and did not know how to read it. Now the bottleneck has shifted to capture. One analyst with one camera can code perhaps six or seven tenths of the off-ball events in a ninety-minute match. The remaining three tenths do not disappear from the match. They disappear from the report.
And that is where it gets dangerous. An incomplete dataset does not present itself as incomplete. It presents itself as tidy. Every column has a number, every row has a total, the charts still render, and no cell raises an error. The coach reading the pre-match report cannot see the badly placed camera. He only sees a left channel that looks calm.
The largest error in Vietnamese football analysis today is not misreading a number. It is reading an empty cell as a fact.
There are three kinds of empty cell, and they demand three completely different responses.
The first is genuinely empty: the opponent really did not attack that zone. It is the only kind that carries direct tactical information, and it is the rarest. The second is empty because nobody was looking: the camera could not reach, the tracking tag lost signal, the coder skipped it while processing too many things at once. The third is empty by definition: the event happened, but failed the recording criteria the club set years ago and nobody has revised.
The third kind is the hardest to see, because it sits inside the structure of the report rather than inside the data. One example I encounter repeatedly: if the coding convention for set pieces is “a ball delivered from the corner spot into the penalty area”, then a short corner never exists in the system. It is not undervalued. It has no row at all. And once it has no row, the report concludes that we defend corners well, because the type of corner we defend worst has never entered the sample.
In V.League, the third kind dominates set pieces absolutely. The second kind dominates open play, simply because the broadcast camera follows the ball while the players without it run at the edge of the frame.
In the 2026 season, when the pandemic emptied the stadiums and froze the calendar, I sat down and recoded all 1,247 corner situations from V.League 2026. The output made me check it three times: the conversion rate was one goal per 37 corners, against a regional South-East Asian average that same year of one per 25. A league with some of the tallest and most physical centre-backs in the region was converting set pieces below the regional average itself.
But the second finding was the one that made me send the report to a club without waiting for anyone to assign the work. Cross-checking the raw footage against one club's own coding log, roughly 31 per cent of the corners visible on tape had no corresponding row in the log. Most of them were short corners and the second-ball situations that followed. In other words, the club had been assessing its own set-piece defending on a sample whose structure excluded precisely the type of situation that was costing it goals.
The season stood still, but the corners kept rolling through the spreadsheet.
The fix was not a better model. The fix was one extra line in the convention: a short corner counts as an independent set-piece situation, with its own code and its own assigned coder. Cost: nothing. Implementation time: four minutes. Value: the entire category of risk nobody had previously been able to see.
The principle does not stop at corners. In 2026 I coded all 64 matches of the World Cup in Russia using a spreadsheet I built myself, with nothing but a laptop and a notebook. In the France–Croatia final I found something I still use when teaching young staff: after the 60th minute, Luka Modric's high-intensity running distance dropped 12 per cent. France kept switching the point of attack into exactly the zone Modric was responsible for covering. Croatia shifted to a 3-5-2, but the dropping midfielders arrived late, and the central corridor opened into enormous space.
The part that gets retold less often is this: nobody in the stadium saw it while the match was happening. The camera follows the ball, and Modric's decline happened off-camera. The most valuable data of that final sat at the edge of the frame, exactly where capture is weakest. I did not find it because my eyes were better than anyone else's. I found it because I watched the tape a second time with a stopwatch in my hand.
People shine a light on the winner. I shine it on where he stumbled.

In March 2026, Vietnam lost 0-1 to Indonesia in Jakarta on 21 March, then lost 0-3 at My Dinh on 26 March, in the second round of qualifying for the 2026 World Cup. Philippe Troussier's contract was terminated immediately afterwards. Kim Sang-sik was appointed in May 2026. In January 2026, Vietnam beat Thailand 3-2 in the second leg of the AFF Cup final at Rajamangala, closing out the tie 5-3 on aggregate, in a match where Nguyen Xuan Son left the pitch with a serious injury.
Within twenty-four hours of the My Dinh defeat, the entire public discourse circled around one word: character. Lost their nerve. No leader on the pitch. The team did not dare to play. I do not argue with the emotion behind that, but I do argue with using it as an analytical conclusion. Because within those twenty-four hours, nobody had time for a second viewing.
When I recoded those two matches for myself, using my own tracking sheet rather than official federation data, the thing I counted most was not a shortage of effort. It was second balls dropping into the corridor between the left-back and the left-sided centre-back, arriving in density across the first twenty-five minutes of the second half in Hanoi. The Vietnamese players were still running. They ran in the wrong direction, because the right direction had not been drawn before kick-off.
The empty cell labelled “character” was filled with whatever was closest to hand and loudest in the press room. It is not entirely wrong, but it is useless: an explanation that fits every defeat helps nobody prepare for the next match.
Go back to 2026, in Nha Trang, to a rare evening when everything lined up. Sanna Khanh Hoa BVN hosted SHB Da Nang and went in at half-time 0-1 down. During the interval I watched the first-half tape twice. All 14 of the opponent's attacking sequences had gone into the gap between the right-back and the right-sided centre-back. I redrew the shape, proposed switching from a 4-4-2 to a 3-5-2 during the interval. We won 3-1, and dangerous entries into that gap fell to 2 in the second half.
The point is not the comeback. The point is that those 14 sequences had existed since the fifth minute. They were sitting in the tape for forty-five minutes. No new data was generated at half-time. The only thing added was a second viewing.
If you see nothing at minute 60, rewind to minute 59.
The principle holds for things that never appear on the pitch. In the dressing room, I do not listen to voices, I read the position of the boots. A player sitting at the end of the bench, both boots angled toward the door, saying nothing for thirty minutes of the team meeting — that is an empty cell. Silence does not mean there is no problem. It means the audio channel is not receiving a signal, and if that is the only channel I use, I will conclude the dressing room is fine.
A coach who only listens to the captain is running a squad on a single channel. He will never know how much of the missing three tenths he has lost.
Here is the hardest part to accept: more data does not reduce this error. It makes the error harder to see.
A dashboard only renders what exists. There is no field called “not captured”. No cell on a heat map records that this cold zone is cold because the camera could not reach it. The person reading the heat map sees an empty zone and reads it as “the opponent does not attack there”. Whereas that zone, very often, is the resting area before a switch of play — a launch pad, not a graveyard.
Add the incentive structure of the job. Analysts are paid to find things, rewarded for presenting a trend, and treated as incompetent when they say “I have no data for this zone”. So people fill the empty cell with narrative. In Vietnamese football the most common filler is character, spirit, hunger — categories that explain everything and require no second viewing.
The media cycle then freezes that story in place. The press conference happens roughly twenty minutes after the final whistle. The analyst has not had time to rewatch anything. The first story wins, and by the following morning it has become the input data for the next match's preparation meeting. The empty cell has been institutionalised. Three weeks later, nobody remembers it was ever empty.
The tactical consequence is easy to predict: your most dangerous opponent is always the one you have the least data on. A newly promoted side. A team that changed coach mid-season. A team that switched shape and has not yet played enough matches to be coded. In those cases the empty cell is structural, and it says nothing about the opponent at all. It says only that you have never looked. In V.League, the story of the season is usually the team nobody bothered to code in the first three rounds.
The same error, carried into the transfer market, produces different numbers. A nineteen-year-old with twelve good matches in a league nobody tracks in full. The empty cell in his sample is not recorded as “insufficient data”. It is filled with projection, and projection is always optimistic, because people project only what they have already seen. A fee of one hundred million euros for a player who has not yet played fifty top-flight matches is not a valuation. It is an empty cell sold at the price of a fact.
Before the next match I will do the cheapest thing on my weekly list: add one column to the coding sheet and label it “not recorded”. Every time I am unsure whether an action was logged correctly, I mark it there instead of letting it slide. At full time I count the marks. If that column holds more than fifteen, my report is not permitted to conclude anything about the zone involved, even if the chart looks immaculate.
The second thing is to change the opening question. Before every match, instead of asking how the opponent plays, I ask: where is my camera not pointing?
This morning, in the preparation meeting, I wrote exactly one line in my notebook: in the second half of the next match, I will not code the ball. I will code the space the ball passes through.
If one empty cell can cost us two goals in forty-five minutes, how many more empty cells are sitting in the pre-match report that none of us has bothered to name?
