খালি স্প্রেডশিটের রাত: ইস্পোর্টস ডেটার নীরব ব্যর্থতা এবং ব্লকচেইন-যুগের প্রমাণযোগ্যতা
core_answer: ইস্পোর্টস Stage-2 বিশ্লেষণে কোনো ফলাফল আসেনি, কারণ Stage-1 উৎস-বিশ্লেষণ শুধু esports লেবেল ফেরত দিয়েছিল; তথ্যবিন্দু, সংশ্লিষ্ট সত্তা ও সারসংক্ষেপ শূন্য ছিল। তাই নয়টি বিশ্লেষণী স্তম্ভের কোনোটিই মূল্যায়ন করা সম্ভব হয়নি।
key_facts: Stage-1 আউটপুটে শুধু Domain Label: esports ছিল; তথ্যবিন্দুর তালিকা ও সংশ্লিষ্ট সত্তা সম্পূর্ণ খালি ছিল।; Stage-2-এর নয়টি স্তম্ভ — প্যাচ, টুর্নামেন্ট, দল, অঞ্চল, অর্থনীতি, শাসন, ঝুঁকি, আখ্যান, ইন্ডাস্ট্রি — প্রতিটিই insufficient information ফিরিয়েছে।; সম্ভাব্য মূল কারণ তিনটি: অগম্য উৎস, শূন্য এক্সট্রাকশন, বা ফিল্ড-ম্যাপিং ত্রুটি।; প্রতিযোগিতামূলক, শিল্প ও সময়োপযোগী মূল্য শূন্য; শুধু প্রক্রিয়া-ব্যর্থতার সংকেত হিসেবে মান এক।
source_attribution: সূত্র: ইস্পোর্টস Stage-2 গভীর পেশাদার বিশ্লেষণ প্রতিবেদন (উৎস নিবন্ধের প্রকাশের তারিখ পাওয়া যায়নি; প্রতিবেদনটি স্টেজ-১ পেলোড শূন্য হওয়ার বিষয়টি নথিভুক্ত করে)।
related_qa: q: Stage-1 আউটপুট কেন শূন্য হয়েছিল?, a: উৎস নিবন্ধ অগম্য থাকা, এক্সট্রাকশন পাইপলাইন শূন্য ফেরত দেওয়া, বা ফিল্ড-ম্যাপিং ত্রুটি — এই তিনটির যেকোনো একটি কারণ হতে পারে।; q: এটা কি সত্যিই কম-মূল্যের কোনো নিবন্ধ?, a: না; প্রতিবেদন এটিকে ইনপুট-অখণ্ডতার ব্যর্থতা হিসেবে চিহ্নিত করে, নিম্ন-তথ্যময় নিবন্ধ নয়।; q: সমাধানের প্রথম ধাপ কী?, a: তথ্যবিন্দুর তালিকা খালি হলে সেটিকে ত্রুটি হিসেবে চিহ্নিত করার একটি ভ্যালিডেশন-গেট বসানো, তারপর যাচাইযোগ্য রেকর্ড রাখা।
রাত সাড়ে বারোটা। সিউলের বাড়ির জানালার বাইরে বৃষ্টি। আমি বিশ্লেষণ পাইপলাইনের আউটপুট ফাইলটা খুললাম, আর স্ক্রিনে যা দেখলাম সেটা কোনো ম্যাচের স্কোরলাইন নয় — একটা ফাঁকা কাঠামো। নয়টি স্তম্ভ, একটার পর একটা টেবিল: প্যাচ ও মেটা, টুর্নামেন্ট সিস্টেম, দল ও খেলোয়াড়, আঞ্চলিক ভূগোল, ক্লাব অর্থনীতি, নিয়ম ও শাসন, ঝুঁকির প্রোফাইল, জন-আখ্যান, এবং ইন্ডাস্ট্রি ট্রান্সমিশন। প্রতিটি ঘরে একই লাইন ফিরে ফিরে আসছে — insufficient information। তথ্যবিন্দুর তালিকা শূন্য। কোনো খেলার নাম নেই, কোনো টুর্নামেন্ট নেই, কোনো দল নেই, কোনো খেলোয়াড় নেই। সাতাশ বছর ধরে ম্যাচের ডেটা ঘেঁটে আমি যা শিখেছি, তার প্রথম পাঠ হলো: অনুপস্থিত তথ্যও এক ধরনের তথ্য। কিন্তু সেটা তখনই সত্য, যখন তার পেছনে একটা আসল কারণ থাকে — গোপনীয়তা, অগম্যতা, বা কেউ তথ্য দিতে রাজি হয়নি। এই রাতে কারণটা ভিন্ন ছিল। এটা কোনো নিবন্ধের নীরবতা ছিল না; এটা পাইপলাইনের নীরবতা ছিল।
এই আউটপুটটা এসেছে দুটি ধাপের একটি বিশ্লেষণ-পাইপলাইন থেকে। প্রথম ধাপের কাজ উৎস-নিবন্ধ ভেঙে ফেলা: শিরোনাম, সূত্র, সারসংক্ষেপ, লেখকের অবস্থান, তথ্যবিন্দু, সংশ্লিষ্ট সত্তা — খেলার নাম, দল, খেলোয়াড়, কোচ, টুর্নামেন্ট — এবং সময়-সংবেদনশীলতার মূল্যায়ন। দ্বিতীয় ধাপ সেই ভাঙা তথ্যের উপরে নয়টি মাত্রায় গভীর বিশ্লেষণ দাঁড় করায়। প্রথম ধাপ যখন শুধু একটা লেবেল ফেরত দেয় — domain: esports — আর বাকি সব ঘর খালি রেখে আসে, তখন দ্বিতীয় ধাপের হাতে থাকে শুধু টেমপ্লেট। আর টেমপ্লেট দিয়ে ম্যাচ জেতা যায় না, ম্যাচ ব্যাখ্যাও করা যায় না।

আমি দীর্ঘদিন ধরে বিশ্বাস করি, ইস্পোর্টস বিশ্লেষণের আসল শত্রু দুর্বল মডেল নয়, বরং অস্বচ্ছ ডেটা-সরবরাহ। কে. লিগের জন্য যখন আমি নিজে xG মডেল বানাচ্ছিলাম, তখন শিখেছিলাম — একটা ভুল পাস-ম্যাপ পুরো একটা সপ্তাহের কাজ নষ্ট করতে পারে। ২০১৮ সালে কাজান থেকে ফিরে জার্মানি-কোরিয়ার ওই ২-০ ম্যাচ নিয়ে লেখার সময় আমি পাসের সংখ্যা নয়, প্রতিরক্ষামূলক রূপান্তরের ফাঁক দেখেছি। ২০২০ সালে খালি স্টেডিয়ামে হোম-জেতার হার ৪৪.১ থেকে ৩১.৩ শতাংশে নামার পেছনে যে নীরবতা ছিল, সেটাও এক ধরনের ডেটা। মরক্কোর সেমিফাইনাল-যাত্রা বিশ্লেষণ করতে গিয়ে সোফিয়ান আমরাবাতের ৬২টি রিকভারি আর ১২.৩ কিলোমিটার দূরত্ব আমাকে শিখিয়েছে — সংখ্যা আর গল্প আলাদা নয়, একই মুদ্রার দুই পিঠ। এই সব কাজের একটি সাধারণ শর্ত ছিল: ডেটা থাকতে হবে, এবং সেটা যাচাইযোগ্য হতে হবে।
এই রাতে সেই শর্ত ভেঙেছে। ফাঁকা পেলোডটা নিজে থেকে প্রমাণ করছে না যে বিশ্লেষণযোগ্য কিছু নেই; বরং প্রমাণ করছে যে বিশ্লেষণের আগে একটা যাচাই-গেট বসানো হয়নি। প্রথম ধাপের নিয়মিত আউটপুট আর ব্যর্থ আউটপুটের মধ্যে পার্থক্য ধরার কোনো প্রক্রিয়া ছিল না। ফলে একটা সিস্টেম-ব্যর্থতা চুপচাপ অশ্রেণীবদ্ধ লেবেল পরে বেরিয়ে গেল, যেন সেটা সত্যিই কম-মূল্যের কোনো লেখা। এখানেই আসল সংকট: একটি ফাঁকা ঘর কখনো নিরপেক্ষ থাকে না — সেটা হয় অনুপস্থিত প্রমাণ, নয়তো লুকানো ব্যর্থতা। ইস্পোর্টস ইকোসিস্টেমে এই দুটোর পার্থক্য বোঝা জরুরি, কারণ পুরো শিল্পটাই এখন সংখ্যার উপর দাঁড়িয়ে আছে।
নয়টি স্তম্ভ একেকটি একেকটি প্রশ্ন তোলে, আর প্রতিটির উত্তর দিতে নির্দিষ্ট ডেটা দরকার। প্যাচ ও মেটা বিশ্লেষণ জিজ্ঞেস করে — নতুন সংস্করণে কে লাভবান, কে ক্ষতিগ্রস্ত, উইন-রেট আর পিক/ব্যান হার কেমন বদলাল। টুর্নামেন্ট সিস্টেম জিজ্ঞেস করে — ফরম্যাট সিঙ্গেল এলিমিনেশন নাকি সুইস, সূচির ঘনত্ব কত, কোয়ালিফিকেশনের পথ কেমন। দল ও খেলোয়াড় বিশ্লেষণ দরকার কাগজে-শক্তি, ভূমিকা-মিল, রসায়ন, বেঞ্চের গভীরতা আর কোচিং স্টাফের পূর্ণতা। আঞ্চলিক ভূগোল চায় আন্তর্জাতিক ফলাফল, প্রতিভার ভান্ডার, একাডেমির আউটপুট আর ইমপোর্ট-নীতি। ক্লাব অর্থনীতি চায় স্পনসরশিপ আয়, লিগ-বিতরণ, বেতন-ব্যয় আর পুঁজি-প্রবেশের হিসাব। নিয়ম ও শাসন চায় চুক্তি, নাবালক-সুরক্ষা, আর প্রকাশকের বিরোধের নজির। ঝুঁকির প্রোফাইল চায় সম্ভাবনা ও প্রভাবের ম্যাট্রিক্স। জন-আখ্যান চায় প্রত্যাশা আর বাস্তবের ব্যবধান। ইন্ডাস্ট্রি ট্রান্সমিশন চায় উপরের ধারা — প্রকাশক, প্ল্যাটফর্ম, স্পনসর — থেকে নিচের বাজার পর্যন্ত সংক্রমণের মানচিত্র।
এই নয়টি স্তম্ভের একটিতেও যখন কোনো তথ্য পৌঁছায় না, তখন বিশ্লেষক হাত-বাঁধা। কেউ যদি বলত, এই দলটা ভালো, আমি জিজ্ঞেস করতাম — কোন প্যাচে, কোন ভূমিকা-বিন্যাসে, কত নমুনায়? কেউ যদি বলত, এই স্থানান্তরটা ইতিহাস বদলাবে, আমি জিজ্ঞেস করতাম — ফি কত, চুক্তির মেয়াদ কত, আয়ের কোন অংশে সেটা বসছে? প্রত্যাশিত-মূল্যের সন্দেহবাদী হিসেবে আমার প্রথম কাজ কখনোই কাউকে বিশ্বাস করা নয়, বরং সংখ্যাটা কোথা থেকে এলো সেটা যাচাই করা। ডেটা না থাকলে যাচাইও অসম্ভব, আর যাচাই ছাড়া বিশ্লেষণ নিছক গল্প — যেটা ইস্পোর্টস মিডিয়ায় ইতিমধ্যেই অতিরিক্ত।
এই ব্যর্থতার মূল কারণ নিয়ে আমার একটা মধ্যম-আস্থার অনুমান আছে। সম্ভাবনা তিনটি: এক, উৎস-নিবন্ধটি ইনজেশনের সময় অগম্য ছিল বা ফাঁকা ছিল; দুই, এক্সট্রাকশন পাইপলাইন শূন্য ফেরত দিয়েছে; তিন, ফিল্ড-ম্যাপিংয়ের ভুলে ভরা ঘরগুলো হারিয়ে গেছে। তিনটিই আসলে একই রোগের ভিন্ন উপসর্গ — ডেটার জন্ম থেকে ব্যবহার পর্যন্ত প্রতিটি ধাপে প্রমাণযোগ্যতার অভাব। এখানেই ব্লকচেইন-ভিত্তিক ডেটা-সংশ্লেষের প্রাসঙ্গিকতা। যদি একটি টুর্নামেন্টের প্যাচ-সংস্করণ, রোস্টার-পরিবর্তন, চুক্তির শর্ত আর ম্যাচ-পরিসংখ্যান একটি অপরিবর্তনীয়, সময়-মোহরাঙ্কিত লেজারে লেখা থাকত, তাহলে কোন তথ্য কখন, কার কাছ থেকে এসেছে — এই প্রশ্নের উত্তর মুছে ফেলা যেত না। একটি হ্যাশ-মোহরাঙ্কিত রেকর্ড প্রমাণ করে দিত — তথ্য ছিল কি ছিল না, আর কেউ সেটা পরে বদলেছে কি বদলায়নি।
ভাবুন, প্রতিটি স্তম্ভের জন্য একটা যাচাইযোগ্য রেকর্ড। প্যাচ-ডেটা: প্রকাশকের সার্ভার সংস্করণ আর প্র্যাকটিস সার্ভারের সংস্করণ আলাদা হলে সেটা সাথে সাথে ধরা পড়ত, কারণ দুটো রেকর্ড আলাদা টাইমস্ট্যাম্প বহন করত। রোস্টার-পরিবর্তন: কে কখন কোন দলে যোগ দিল, চুক্তির মেয়াদ কত — সব এক জায়গায়, পিছনের তারিখে বদলানো অসম্ভব। আঞ্চলিক ফলাফল: আন্তর্জাতিক ম্যাচের ফলাফল সরাসরি চেইনে, যাতে পরে কেউ ভুলে যাওয়া ফলাফল বানাতে না পারে। ক্লাব-অর্থনীতি: বেতন-বিলম্ব বা চুক্তি-বিতর্কের নজির যদি সত্যিকারভাবে নথিভুক্ত থাকত, তবে অপ্রমাণিত গুজব আর প্রমাণিত ঘটনা আলাদা করা যেত। প্রমাণযোগ্যতা মানে নিরাপত্তা নয়, মানে জবাবদিহি — আর জবাবদিহি ছাড়া কোনো ইস্পোর্টস ইকোসিস্টেম দীর্ঘস্থায়ী হয় না।
এখানে আমার সন্দেহবাদী দিকটা জেগে ওঠে। ব্লকচেইন একটা ভাঙা পাইপলাইন সারিয়ে দেয় না। চেইন সত্যকে সংরক্ষণ করে, কিন্তু সত্য যদি কখনো ঢুকতেই না পারে, তাহলে চেইনে শুধু একটা ফাঁকা ব্লক লেখা থাকবে — সেটাও অপরিবর্তনীয়ভাবে ফাঁকা। তথ্য-শূন্যতা প্রমাণযোগ্য করা যায়, তথ্য-উপস্থিতি জোর করে তৈরি করা যায় না। যে সিস্টেম ইনজেশনের সময়ই ফাঁকা ফেরত দেয়, তার জন্য প্রথম দরকার একটি ভ্যালিডেশন-গেট, তারপর লেজার। গারবেজ ইন, গারবেজ অ্যাংকরড — আর একটা অপরিবর্তনীয় ভুল রেকর্ড সংশোধনযোগ্য ভুলের চেয়ে অনেক বেশি ক্ষতিকর। তাই এই রাতের আসল শিক্ষা প্রযুক্তি নয়, প্রক্রিয়া।
এখানে একটা সিদ্ধান্ত-বিন্দু আছে, যেখানে একই কাঠামোর ভেতরেই কেউ অন্যভাবে কাজ করতে পারত। যদি পাইপলাইনে একটি নিয়ম থাকত — তথ্যবিন্দুর তালিকা খালি হলে সেটা ত্রুটি, সফল আউটপুট নয় — তাহলে ফাঁকা পেলোডটা নিচের ধাপে পৌঁছাতই না। কেউ একজন সেটা ধরে ফেলত, উৎস আবার যাচাই হতো, আর বিশ্লেষণ শুরু হতো সঠিক জায়গা থেকে। এই একটি গেট বসানোর সিদ্ধান্ত কোনো মডেল নেয়নি, কোনো চেইন নেয়নি — একজন মানুষ নিতে পারত। কাঠামো ফলাফলকে অনিবার্য করে না; সিদ্ধান্তই করে।
আমি লিখতে বসে খেয়াল করলাম, খালি ঘরগুলো নিজেরা একটা আকার তৈরি করছে। চৌদ্দটা সারি, একই বাক্য, একই ছন্দ — এটা ম্যাচের নীরবতা নয়, সিস্টেমের নীরবতা। তবু আমি সাবধান: এটা আমার পাঠ, প্রতিলিপি নয়। আমি দাবি করছি না যে কোনো দল লুকিয়ে কিছু চাপা দিয়েছে, বা কেউ ইচ্ছাকৃতভাবে তথ্য সরিয়েছে। যা দাবি করি তা হলো — অনুপস্থিতিরও একটা নকশা থাকে, আর সেই নকশা পড়তে শেখা বিশ্লেষকের কাজ। আমি প্যাটার্ন খুঁজেছি, তারপর প্যাটার্নের ভেতরের মানুষটাকে খুঁজেছি। এই রাতে মানুষটা ছিলেন সেই ইঞ্জিনিয়ার, যে ভাবতেছিল সিস্টেম ঠিকঠাক চলছে।
বিশ্লেষণ-কাঠামোর ঝুঁকি-তালিকাটাও তখন অসম্পূর্ণ থেকে যায়। প্যাচ-দাবি ডেটা-সমর্থনহীন কি না, প্র্যাকটিস আর টুর্নামেন্ট সার্ভারের সংস্করণ মিলছে কি না, চ্যাম্পিয়ন-পুল নতুন মেটার সাথে খাপ খায় কি না — এসব প্রশ্নের উত্তর দিতে গেলে নির্দিষ্ট সত্তা দরকার। সত্তা নেই মানে ঝুঁকির ম্যাট্রিক্সও ফাঁকা। আর একটা ফাঁকা ঝুঁকি-ম্যাট্রিক্স সবচেয়ে বিপজ্জনক, কারণ সেটা দেখতে ঝুঁকি নেই — এর মতো। শূন্য রেটিং মানে ঝুঁকিমুক্ত নয়, মানে অজানা — আর অজানাকে নিরাপদ ভাবা সাংবাদিকতার সবচেয়ে পুরনো ফাঁদ।
মান-নির্ধারণের দিকে তাকালে ব্যাপারটা পরিষ্কার। প্রতিযোগিতামূলক মূল্য শূন্য — কারণ কোনো খেলা, দল বা প্যাচ নেই। শিল্প-মূল্য শূন্য — কারণ কোনো ব্যবসা, শাসন বা ইকোসিস্টেম-তথ্য নেই। সময়োপযোগীতা শূন্য — কারণ সময়-সংবেদনশীলতা প্রথম ধাপেই মূল্যায়িত হয়নি। শুধু একটা তারার যোগ্যতা আছে: প্রক্রিয়া-ব্যর্থতার সংকেত হিসেবে। অর্থাৎ, এই ফাঁকা ফাইলটা কোনো নিবন্ধ নয়, একটা সতর্কবার্তা। যে ডেটা অনুপস্থিত, সেটাই কখনো কখনো সবচেয়ে দরকারি ডেটা — শর্ত একটাই, আপনাকে জানতে হবে সেটা কোথায় অনুপস্থিত।
আমি স্প্রেডশিটটা খোলা রেখেছিলাম স্টেডিয়াম নীরব হওয়ার পরেও। কারণ এই রাতের পাঠ আগামী মৌসুমেও সত্য থাকবে। টুর্নামেন্ট চক্রের ভেতরে আবেগ আর ফ্ল্যাগ যত দ্রুত ঘুরতে থাকবে, ডেটা-সরবরাহের প্রতিটি ফাঁক তত বড় ঝুঁকি হয়ে উঠবে। সমাধানটা বিশাল কোনো প্রযুক্তি নাও হতে পারে; হতে পারে একটা সাধারণ নিয়ম — ফাঁকা ইনপুটকে সফল আউটপুট ভাবা বন্ধ করা, আর প্রতিটি সিদ্ধান্তের পেছনে একটা যাচাইযোগ্য রেকর্ড রাখা। প্রতি সংখ্যার পেছনে একটা লকার রুম থাকে, আর প্রতিটি লকার রুমে একটা নীরবতা থাকে। প্রশ্নটা এখন এই: আমরা কি সেই নীরবতাকে সংকেত হিসেবে পড়ব, নাকি ব্যর্থতা ঢাকার জন্য আরও গল্প বানাব?

