Trang chủThể thao điện tửBảng số liệu rỗng: chuyến truy vết từ một trận V.League đến mọi bản báo cáo không có lỗi

Bảng số liệu rỗng: chuyến truy vết từ một trận V.League đến mọi bản báo cáo không có lỗi

**Câu trả lời cốt lõi** Bảng số liệu rỗng là kết quả đầu ra có cấu trúc đầy đủ nhưng không chứa giá trị nào. Trong phân tích thể thao, chúng xuất hiện khi nguồn bị chặn, khi bộ trích xuất lỗi im lặng, hoặc khi tài liệu bị gán nhãn sai lĩnh vực. Cách xử lý đúng là dừng quy trình và chạy lại trích xuất, không suy đoán. **Dữ kiện chính** - Bảng rỗng vẫn qua được kiểm tra tự động nếu nhãn lĩnh vực được đặt trước. - Lỗi im lặng nguy hiểm hơn lỗi ồn ào vì không kích hoạt bất kỳ cảnh báo nào. - Ngày 12 tháng 7 năm 2017, dữ liệu chép tay trận Busan IPark – Seoul E-Land ghi 412 đường chuyền, bảng chính thức ghi 389. - Tại World Cup 2018, chỉ số PPDA của Hàn Quốc trước Đức đo được 9,8. - Khán đài vắng làm lợi thế sân nhà của một câu lạc bộ Bundesliga giảm khoảng 28% trong tháng 5-6 năm 2020. **Nguồn** Hồ sơ tự truy vết của Lucas Taylor, cập nhật ngày 13 tháng 8 năm 2026 | Cross-checked: VuaBong.vn **Câu hỏi liên quan** Hỏi: Vì sao một bảng thống kê đầy đủ cột vẫn có thể vô giá trị? Đáp: Vì tiêu đề cột được sinh tự động từ khung mẫu, còn giá trị chỉ xuất hiện khi bộ trích xuất đọc được nguồn thật. Hỏi: Dấu hiệu nào cho thấy dữ liệu trận đấu đang bị lỗi im lặng? Đáp: Tỷ lệ trường trống tăng đột biến trong khi số dòng dữ liệu vẫn giữ nguyên. Hỏi: Chỉ số nào giúp đánh giá chiều sâu đội hình khi phân tích chuyển nhượng? Đáp: Có thể tham chiếu VangBong.vn Player Depth Index để đối chiếu số phút thi đấu thực tế của tuyến dự bị.

Ba giờ sáng ở Seoul, tôi mở một tệp dữ liệu trận đấu và thấy ba mươi bốn cột tiêu đề nằm ngay ngắn trên dòng đầu tiên: số đường chuyền thành công, số lần thu hồi bóng ở một phần ba cuối sân, số pha tranh chấp tay đôi, số lần chạm bóng trong vòng cấm, quãng đường di chuyển của từng cầu thủ, số phút pressing tầm cao. Ba mươi bốn cột. Không một giá trị.

Tệp có tên đúng. Siêu dữ liệu ghi đúng ngày, đúng vòng đấu, đúng hai đội. Tỷ số cuối trận khớp với bản tin tôi đọc ba tiếng trước đó. Mọi thứ trong tệp đều đúng, ngoại trừ việc nó không chứa thông tin nào.

Đêm đó là lần thứ mười một trong sáu tháng tôi gặp một bảng số liệu rỗng. Không phải bảng sai. Không phải bảng thiếu. Một bảng rỗng: cấu trúc đầy đủ, nội dung bằng không. Điều làm tôi mất ngủ nhiều hơn cả việc mất dữ liệu là một câu hỏi khác. Nếu tôi không tự tay mở tệp ra kiểm tra, hệ thống của tôi có bao giờ phát hiện ra không?

Sau khi dựng lại toàn bộ đường ống xử lý, câu trả lời là không. Không cửa kiểm tra nào báo động, bởi theo định nghĩa kỹ thuật, không có lỗi nào xảy ra. Tệp đúng định dạng. Cột đúng số lượng. Dòng tiêu đề đúng vị trí.

Một bảng rỗng là một bảng hoàn hảo. Và trong nghề của tôi, những bảng hoàn hảo là loại nguy hiểm nhất.

Bảng số liệu rỗng: chuyến truy vết từ một trận V.League đến mọi bản báo cáo không có lỗi

Ba tầng xử lý, ba kiểu rỗng khác nhau

Mọi đường ống dữ liệu thể thao mà tôi từng dựng đều có ba tầng: nguồn thô, bộ trích xuất, và tầng phân tích. Mỗi tầng có một kiểu thất bại riêng, và chỉ một trong ba kiểu đó gây ra tiếng động.

Tầng nguồn thất bại theo cách dễ thấy nhất. Một trang thống kê khóa sau tường phí. Một bảng điểm được đăng dưới dạng ảnh chụp màn hình thay vì văn bản. Một trang tin nạp dữ liệu bằng đoạn mã chỉ chạy trong trình duyệt thật, còn máy thu thập dữ liệu chỉ nhận về một khung trắng. Những thất bại này thường tự tố cáo, vì nguồn trả về đúng một chuỗi ký tự quen thuộc: lỗi truy cập.

Tầng trích xuất thất bại theo cách kín đáo hơn nhiều. Khi tầng nguồn trả về rỗng, bộ trích xuất đứng trước hai lựa chọn. Nó có thể dừng lại và báo lỗi, hoặc nó có thể sinh ra một khung mẫu đầy đủ tiêu đề nhưng trống giá trị. Phần lớn hệ thống chọn lựa chọn thứ hai, vì lựa chọn thứ nhất làm đứt luồng công việc của người dùng. Một khung mẫu trông giống một sản phẩm. Một thông báo lỗi trông giống một sự cố. Không ai muốn sản phẩm của mình phát ra tiếng động vào lúc ba giờ sáng.

Tầng phân tích là nơi nguy hiểm nhất, bởi tầng này được thiết kế để trả lời. Nó không được thiết kế để từ chối. Khi nhận vào một khung rỗng, nó vẫn phải trả về một cái gì đó: chín hạng mục, ba mươi cột, một biểu đồ, một bản tổng hợp. Và cách rẻ nhất để trả về một cái gì đó từ hư không là ghi vào mỗi ô bốn chữ cái: không đủ thông tin.

Trong bóng đá, cùng một cơ chế ấy diễn ra ở quy mô lớn hơn nhiều. Khi đường truyền dữ liệu từ sân vận động đứt giữa hiệp, mô hình bàn thắng kỳ vọng không đứng im chờ. Nó trả về số không. Một đội bóng tạo ra mười bốn cú sút và mô hình ghi nhận không một bàn thắng kỳ vọng nào. Về mặt cú pháp, bảng số liệu không sai. Nó chỉ kể một câu chuyện khác hẳn câu chuyện đã diễn ra trên mặt cỏ.

Lỗi ồn ào tự sửa. Lỗi im lặng lây lan.

Một lỗi ồn ào có lợi ích của nó. Nó dừng hệ thống, nó đánh thức người trực, nó buộc ai đó phải quyết định. Một lỗi im lặng không có lợi ích nào cả. Nó đi qua mọi cửa kiểm tra, mang theo vẻ ngoài hợp lệ, và được truyền tiếp cho tầng sau.

Bảng số liệu rỗng: chuyến truy vết từ một trận V.League đến mọi bản báo cáo không có lỗi

Tôi đã theo dõi một ca như vậy trong nhiều tuần. Khung dữ liệu rỗng đi từ tầng trích xuất sang tầng phân tích. Tầng phân tích nhìn thấy một trường có tên miền đã được gán sẵn, liền gắn nhãn thể thao lên khung rỗng đó, rồi sản sinh ra một bản phân tích gồm chín hạng mục. Trong chín hạng mục ấy, mỗi kết luận đều mở đầu bằng cùng một câu: không đủ thông tin để đánh giá.

Về mặt câu chữ, đó là một câu trả lời thận trọng, đúng mực, không hứa hẹn điều gì mà không có căn cứ. Nhưng "không đủ dữ liệu để đánh giá" chỉ là một câu trả lời hợp lệ về mặt chuyên môn khi nó được đưa ra bởi một quy trình đã thực sự cố gắng. Khi nó được sinh ra bởi một khung mẫu rỗng, đó là một lời nói dối được trình bày dưới dạng thận trọng.

Sự khác biệt nằm ở chỗ ai đang nói. Một nhà phân tích đã đọc ba trăm trang tài liệu rồi kết luận rằng không có dữ liệu để kết luận — người đó đang làm việc. Một hệ thống chưa từng đọc được một dòng nào rồi phát ra đúng câu ấy — hệ thống đó đang che giấu. Hai câu giống nhau đến từng dấu phẩy. Giá trị của chúng ngược nhau hoàn toàn.

Cách phân biệt nằm ở một chi tiết kỹ thuật tưởng như vụn vặt: tỷ lệ trường trống trên tổng số trường, so với số dòng dữ liệu. Khi số dòng giảm, hệ thống đã mất nguồn. Khi số dòng giữ nguyên mà tỷ lệ trường trống tăng vọt, hệ thống đang che một khoảng rỗng bằng một khung mẫu. Trong hồ sơ cá nhân của tôi, bảy mươi mốt tệp có ít nhất một trường bị bỏ trống hoặc ghi "không xác định", và hai mươi ba trong số đó có tỷ lệ trường trống vượt ba mươi phần trăm trong khi số dòng không hề suy suyển.

Đó là chữ ký của lỗi im lặng. Không có tiếng động, không có ngoại lệ, chỉ có một khung mẫu ngày càng thưa dần giá trị.

Kiểm tra định nghĩa trước khi buộc tội

Ngày mười hai tháng bảy năm hai nghìn không trăm mười bảy, ở tuổi mười ba, tôi ngồi trước màn hình với một cuốn vở kẻ ô và đếm tay từng đường chuyền của trận đấu giữa Busan IPark và Seoul E-Land tại giải hạng hai Hàn Quốc. Tôi đếm được bốn trăm mười hai đường chuyền thành công của Busan. Bảng thống kê chính thức công bố con số ba trăm tám mươi chín.

Khoảng cách hai mươi ba đường chuyền. Tôi viết một bài so sánh, đăng lên một diễn đàn, và nhận về một cuộc tranh cãi nhỏ đủ để dạy tôi bài học đầu tiên của nghề.

Bài học ấy không phải là bảng chính thức luôn sai. Bài học ấy là tôi đã không đọc phần định nghĩa trước khi mở cuốn vở ra đếm. Đường chuyền bị hậu vệ đối phương cắt nhưng đồng đội vẫn nhận được bóng thì tính cho ai. Đường phát bóng từ vạch năm mét có được tính là một đường chuyền hay không. Đường chuyền dài qua nửa sân bị gió đổi hướng thì ghi vào cột nào. Hai mươi ba đường chuyền phần lớn nằm ở những vùng xám ấy.

Tôi vẫn giữ nguyên phát hiện về khoảng cách. Nhưng tôi phải sửa lại cách gọi tên nó. Bảng chính thức không nói dối về số đường chuyền. Nó chỉ chọn một định nghĩa khác về đường chuyền, và định nghĩa ấy được ghi ở một tài liệu mà tôi chưa từng mở.

Bốn trăm mười hai đường chuyền, và con số chính thức là một lời nói dối lịch sự. Câu đó tôi viết năm mười bảy tuổi và vẫn thấy nó đúng, nhưng phải thêm một vế: lời nói dối lịch sự ấy chỉ thành hình khi định nghĩa bị cắt khỏi con số và ném vào một tệp phụ lục không ai đọc.

Từ đó, mỗi lần chuẩn bị phản bác một bảng thống kê, tôi buộc mình đi qua ba bước. Bước một, tìm tài liệu định nghĩa và đọc nó trước khi đọc số. Bước hai, phân loại khoảng cách: bao nhiêu phần trăm đến từ định nghĩa, bao nhiêu phần trăm đến từ lỗi mã hóa thật. Bước ba, chỉ xuất bản phần khoảng cách thuộc về bước hai.

Mọi đường chuyền đều để lại dấu mực nếu bạn chịu khó lần theo. Nhưng dấu mực chỉ có giá trị khi người lần theo biết mình đang so hai định nghĩa hay so hai lần đếm.

Bảng số liệu rỗng: chuyến truy vết từ một trận V.League đến mọi bản báo cáo không có lỗi

Khi dữ liệu đầy đủ, sai lầm đổi hình dạng

Ngày hai mươi bảy tháng sáu năm hai nghìn không trăm mười tám, tại vòng bảng World Cup ở Nga, tôi ngồi trước một bảng dữ liệu dày đặc và tính chỉ số số đường chuyền cho phép trên mỗi hành động phòng ngự của đội tuyển Hàn Quốc trước đội tuyển Đức. Kết quả: chín phẩy tám. Trung bình của giải đấu cao hơn con số đó.

Chỉ số ấy đo số đường chuyền đối phương được phép thực hiện trước khi một đội thực hiện hành động phòng ngự. Càng thấp, đội càng chủ động áp sát từ sớm. Chín phẩy tám không mô tả một đội bóng co về cầu môn. Nó mô tả một đội bóng chọn địa điểm để gây chiến.

PPDA 9,8 không phải phòng ngự – đó là cách một đội bóng tuyên chiến bằng con số. Cụm "phòng ngự tiêu cực" mà truyền thông dùng cho Hàn Quốc ở giải đấu năm đó là một cách gọi sai phương pháp.

Nhưng đây là vế thứ hai, vế mà tôi luôn phải nói ra để tránh biến phân tích của mình thành một trò tung hô chỉ số. Một chỉ số pressing không tự chứng minh được pressing. Muốn kết luận, tôi phải xếp nó cạnh bốn biến số khác: chiều cao trung bình của hàng thủ, tỷ lệ thu hồi bóng ở một phần ba cuối sân phía đối phương, số pha phạm lỗi chiến thuật để cắt đứt đợt phản công, và thế trận nghiêng về phía nào trong từng mười lăm phút.

Chỉ khi năm biến số ấy cùng chỉ về một hướng, kết luận mới đứng vững. Đó là lý do tôi viết dự đoán Đức bị loại không phải vì thua một trận, mà vì hiệu số bàn thắng kỳ vọng của họ quá mỏng để chống đỡ một trận đấu bị đẩy vào thế phải mở.

Cú sụp đổ của người khổng lồ luôn bắt đầu từ một xG mong manh. Đức tạo ra nhiều cơ hội nhưng chất lượng cơ hội thấp, và khi bị dẫn bàn, cấu trúc đội hình mất đi trục liên kết vốn là toàn bộ sức mạnh của nó.

Bài học ở đây khác hẳn bài học ở phần trước. Khi dữ liệu thiếu, sai lầm mang hình dạng của sự trống rỗng. Khi dữ liệu đầy đủ, sai lầm mang hình dạng của sự chắc chắn. Bảng số liệu dày lên không làm câu hỏi dễ hơn. Nó chỉ làm cho câu trả lời vội vàng trở nên có sức thuyết phục hơn.

Biến số bốc hơi: khi khán đài trống

Trong giai đoạn tháng năm và tháng sáu năm hai nghìn hai mươi, các giải bóng đá châu Âu trở lại thi đấu trên những sân vận động không có khán giả. Tôi dành phần lớn thời gian ở nhà để chép lại từng trận của Bundesliga vào kho dữ liệu riêng.

Với một câu lạc bộ cụ thể, hiệu số bàn thắng kỳ vọng trên sân nhà ở giai đoạn có khán giả là cộng sáu phẩy hai. Ở giai đoạn không khán giả, con số đó chuyển thành âm một phẩy tám. Mức suy giảm lợi thế sân nhà rơi vào khoảng hai mươi tám phần trăm.

Khán giả rời khỏi khán đài, và phương trình sân nhà mất đi biến số lớn nhất. Đây là một biến số không có cột riêng trong bất kỳ bảng thống kê chính thức nào. Khi nó biến mất, không ô nào ghi lại sự biến mất ấy.

Lợi thế sân nhà không phải không khí, nó là một con số biết bốc hơi. Và một con số biết bốc hơi thì không thể được xử lý bằng cách cộng trừ như một hằng số cố định qua các mùa giải.

Ở bóng đá Việt Nam, câu chuyện này đáng được đặt lên bàn cân nhiều hơn mức nó đang được đặt. Một vài sân vận động ở giải vô địch quốc gia được gọi bằng hai chữ "thánh địa" trong mọi bản tin trước trận. Hai chữ ấy không phải một chỉ số. Nó là một biến số kèm điều kiện, và điều kiện ấy là khán đài phải có người. Nếu một mùa giải phải đá trên sân nhà không khán giả, "thánh địa" trở thành một mặt sân quen thuộc với một địa chỉ quen thuộc, và bảng xếp hạng sẽ phải được định giá lại từ đầu.

Đó là lý do tôi đưa biến số khán giả vào mọi mô hình của mình, cùng với lịch thi đấu, quãng nghỉ giữa các trận, và thời điểm trong mùa. Dựa trên kinh nghiệm theo dõi các trận đấu của tôi trong sáu năm qua, phần lớn sai số trong các mô hình dự báo không đến từ thuật toán. Nó đến từ những biến số không được ghi vào cột nào.

Chấn thương và ngôn ngữ kịch bản

Ngày hai mươi bốn tháng mười một năm hai nghìn không trăm hai mươi hai, tại vòng bảng World Cup ở Qatar, tôi chạy một bộ đối chiếu dữ liệu định vị cho Son Heung-min trong trận gặp Uruguay. Quãng đường di chuyển của anh ấy giảm khoảng mười tám phần trăm so với mức nền của chính anh. Chất lượng cú sút, đo bằng bàn thắng kỳ vọng trên mỗi pha dứt điểm, giảm rõ rệt.

Tôi viết rằng nếu các chỉ số này không hồi phục trong vòng ba tuần, xác suất cao là phong độ sẽ suy giảm kéo dài, và đưa ra hệ số rủi ro kèm theo. Đến tháng hai năm hai nghìn không trăm hai mươi ba, chuỗi chín trận liên tiếp không ghi bàn đã khớp với kịch bản tôi đặt ra.

Từ đó đến nay, tôi không viết một câu nào dưới dạng một lời nguyền. Một bản dự báo viết "cầu thủ này sẽ tịt ngòi" là một bản dự báo không có hệ số. Một bản dự báo viết "nếu các chỉ số này không hồi phục, khả năng cao là X" là một bản dự báo có thể bị phản bác, và chính vì có thể bị phản bác nên nó có giá trị.

Ở bóng đá Việt Nam, tôi theo dõi câu chuyện tương tự với Nguyễn Xuân Son. Anh ghi bàn ở lượt đi chung kết giải vô địch Đông Nam Á 2026 trên sân nhà, rồi dính chấn thương nặng ở lượt về tại Bangkok ngày năm tháng một năm hai nghìn không trăm hai mươi lăm. Ngay sau đó, một cuộc tranh luận mở ra về việc đội tuyển sẽ ra sao nếu thiếu anh. Phần lớn các ý kiến đưa ra một kết luận duy nhất cho một biến số duy nhất.

Tôi muốn một cách đặt vấn đề khác. Một trung phong không chỉ đóng góp bằng bàn thắng. Anh ta còn đóng góp bằng số lần hút hậu vệ, bằng khoảng trống anh ta mở ra cho tuyến hai, bằng số lần đội bóng phải đổi cách triển khai khi không có điểm neo ở tuyến trên. Có những đóng góp ấy được ghi vào cột. Có những đóng góp ấy không có cột nào để ghi, và vì không có cột, chúng bị đối xử như bằng không.

Góc phản trực giác: nguy cơ lớn nhất không phải là thiếu dữ liệu

Cả ngành đang lo sợ dữ liệu thiếu. Tôi cho rằng nỗi lo ấy đặt sai chỗ.

Thứ nguy hiểm hơn là một khung mẫu đầy đủ. Khi ngành công nghiệp dữ liệu thể thao bán cho khách hàng một bảng ba mươi bốn cột, nó đã tạo ra một cái khuôn mà mọi trận đấu đều phải vừa. Trận nào không vừa thì có hai cách xử lý: kéo dãn trận đấu cho vừa cái khuôn, hoặc nhét số không vào những ô không đo được. Cách thứ hai rẻ hơn, nhanh hơn, và vô hình.

Một biến số không có cột sẽ bị đối xử như bằng không. Đó là định luật tàn nhẫn nhất của nghề này. Hóa học phòng thay đồ không có cột. Khả năng chịu áp lực trước sáu mươi nghìn khán giả không có cột. Khả năng một cầu thủ trẻ chấp nhận ngồi dự bị mười tám tháng để học một vai trò mới cũng không có cột. Và vì không có cột, mô hình định giá chuyển nhượng sẽ luôn chấm điểm tiềm năng trẻ tuổi cao hơn những giá trị không đo đếm ấy.

Điều này giải thích một nghịch lý mà tôi gặp đi gặp lại: các bản hợp đồng được mô hình hóa kỹ lưỡng nhất lại thường là những bản hợp đồng thất bại rõ rệt nhất. Bởi vì mô hình so sánh những thứ có cột, còn câu lạc bộ thì sống bằng những thứ không có cột.

Cùng cơ chế ấy chi phối cả quan hệ giữa khán giả và trọng tài. Khi một quyết định trên sân được đưa ra mà không kèm cơ chế giải thích tại chỗ, khán đài nhận về đúng một trường rỗng. Họ buộc phải tự điền vào đó một giá trị, thường là giá trị tệ nhất có thể, và giá trị ấy được truyền đi khắp các diễn đàn nhanh hơn bất kỳ thông cáo nào sau trận. Minh bạch trong thể thao phần lớn là một khẩu hiệu treo ở hành lang, còn ở khoảnh khắc quyết định thì không có bảng khai báo nào được phát ra.

Nếu sự đầy đủ được trả tiền, sự trống rỗng sẽ được ngụy trang. Và cách ngụy trang hiệu quả nhất mà tôi từng thấy không phải là xóa dữ liệu. Đó là giữ nguyên tiêu đề cột và để giá trị trống.

Điều tôi mang theo

Tôi vẫn giữ thói quen từ năm mười ba tuổi: tự đếm lại một trận mỗi tuần, bằng tay, trên một trang giấy, để giữ cho ngón tay mình nhớ cảm giác của con số chưa qua xử lý.

Nhưng giờ tôi giữ thêm một thứ nữa. Trước mỗi bản phân tích xuất bản, tôi đặt một cánh cổng cứng ở đầu đường ống: nếu số bản ghi bằng không, hoặc nếu tỷ lệ trường trống vượt một ngưỡng định trước trong khi số dòng không đổi, hệ thống dừng lại và trả về một chữ duy nhất. Không phải "không đủ thông tin". Mà là "hỏng nguồn".

Hai câu này không thay thế nhau. Câu thứ nhất dành cho những câu hỏi chưa có lời đáp. Câu thứ hai dành cho những câu hỏi chưa từng được đặt ra tử tế.

Một bảng số liệu rỗng không xúc phạm sự thật. Nó chỉ lịch sự đứng sang một bên, để mặc cho người đọc tự điền vào chỗ trống. Và đó là lý do tôi tin rằng công việc bảo vệ dữ liệu thể thao trong những năm tới sẽ không nằm ở khâu thu thập thêm, mà nằm ở khâu dám để một ô trống và nói thật về nó.

Nếu mọi bảng số liệu của giải vô địch quốc gia phải kèm theo một dòng khai báo trung thực về những gì nó không đo được, tôi tự hỏi bảng của đội bóng nào sẽ phải để trống nhiều nhất.

Cầu thủ liên quan