নয়টি অধ্যায়, শূন্য তথ্য: একটি খালি পেলোডের ফরেনসিক অটোপসি
**মূল উত্তর:** প্রথম ধাপের (Stage-1) তথ্য সম্পূর্ণ ফাঁকা হলে নয়-মাত্রিক বিশ্লেষণ চালানো উচিত নয়; সঠিক পদক্ষেপ হলো পাইপলাইন থামানো, উৎস পুনরায় ডাউনলোড করা এবং শূন্য ঘরগুলোকে "যাচাই করা হয়নি" হিসেবে চিহ্নিত রাখা — "ঝুঁকিমুক্ত" নয়। **মূল তথ্য:** - নথিতে নয়টি অধ্যায় ও বহু টেবিল থাকলেও শিরোনাম, উৎস, তথ্যবিন্দু ও সত্তা — সব ফিল্ড ফাঁকা ফিরেছে; শুধু ক্ষেত্র-লেবেল "esports" টিকে আছে। - পুরো নথিতে একমাত্র ভরাট ঘর: বিশ্লেষণ-সততা ঝুঁকি (analytical-integrity risk) — উচ্চ। - চার সম্ভাব্য কারণ চিহ্নিত: ইনজেশন ব্যর্থতা, ভিডিও বা ছবি উৎস, অতি-সংক্ষিপ্ত ঘোষণা, পার্সিং ত্রুটি। - প্রস্তাবিত ভ্যালিডেশন গেট: কাঁচা টেক্সট ২০০+ অক্ষর, তথ্যবিন্দু ৩+, সত্তার তালিকা অখালি, উৎসের নাম ও আইএসও তারিখ। **সূত্র উল্লেখ:** Stage-2 Deep Analysis Report (অভ্যন্তরীণ বিশ্লেষণ পাইপলাইন নথি); নথিতে প্রকাশক ও প্রকাশের তারিখ উল্লেখ নেই, তাই সূত্র-মান যাচাই অসম্পূর্ণ। **সম্পর্কিত প্রশ্নোত্তর:** প্রশ্ন: খালি রিস্ক ম্যাট্রিক্স মানে কি ঝুঁকি নেই? উত্তর: না — এর অর্থ ঝুঁকি মাপা হয়নি; ফাঁকা ঘর "যাচাই করা হয়নি" বোঝায়, "দোষমুক্ত" নয়। প্রশ্ন: শর্তসাপেক্ষ সিদ্ধান্তও কেন সমস্যা? উত্তর: কারণ সেগুলো ভুল প্রমাণ করা যায় না এবং কোনো দল, প্যাচ বা তারিখের নাম না নিয়েও লেখা সম্ভব, ফলে পাঠক কিছুই জানেন না। প্রশ্ন: পুনরায় বিশ্লেষণ চালানোর আগে কী যাচাই করতে হবে? উত্তর: কাঁচা টেক্সট ২০০+ অক্ষর, তথ্যবিন্দু তিনটির বেশি, সত্তার তালিকা অখালি, এবং প্রকাশকের নাম ও আইএসও তারিখ — এই চারটি শর্ত পূরণ হলেই দ্বিতীয় ধাপ চালু করা উচিত।
রিপোর্টটি খোলার পর প্রথম নব্বই সেকেন্ড আমি একটি বাক্যও পড়িনি — শুধু টেবিলের ঘরগুলো চোখ দিয়ে স্ক্যান করেছি। নয়টি অধ্যায়। প্রতিটির নিচে তিন থেকে পাঁচটি টেবিল। প্যাচ ও মেটা, টুর্নামেন্ট ফরম্যাট, রস্টার মূল্যায়ন, আঞ্চলিক ল্যান্ডস্কেপ, ক্লাব ফাইন্যান্স, গভর্নেন্স চেকলিস্ট, রিস্ক ম্যাট্রিক্স, ন্যারেটিভ গ্যাপ, ইন্ডাস্ট্রি ট্রান্সমিশন। ঘরগুলো সংখ্যায় ভরা নয়, বাক্যে ভরা — এবং প্রায় প্রতিটি বাক্যের শেষে একটাই বাক্যাংশ: "N/A — অপর্যাপ্ত তথ্য।" রিস্ক ম্যাট্রিক্সে ছয়টি ক্যাটাগরি, ছয়টিই খালি। কমপ্লায়েন্স চেকলিস্টে পাঁচটি আইটেম, পাঁচটিই খালি। প্যাচ-প্রভাব টেবিলে "সুবিধাভোগী" আর "ক্ষতিগ্রস্ত" দুটো ঘরই ফাঁকা।
পুরো নথিতে একটিমাত্র ঘর ভরাট ছিল। লেখা ছিল: বিশ্লেষণ-সততা ঝুঁকি (analytical-integrity risk) — উচ্চ।

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

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

উপসংহারের বদলে: পরের রাউন্ডের সিগন্যাল
তাহলে এই শূন্য নথিটা দিয়ে কী করব? প্রথম কাজ, এটাকে ফাইল করা যাবে না — নথিতেই লেখা আছে "অসম্পূর্ণ, নথিভুক্ত করা যাবে না"। দ্বিতীয় কাজ, পাইপলাইনে একটা গেট বসানো, এবং গেটটা যতটা সম্ভব নির্বোধ রাখা: কাঁচা টেক্সট অন্তত ২০০ অক্ষর কি না; তথ্যবিন্দু তিনটির কম কি না; সত্তার তালিকা খালি কি না; উৎসের নাম আর আইএসও তারিখ দুটোই আছে কি না। এই চারটি শর্তের একটি ব্যর্থ হলে দ্বিতীয় ধাপ চালু হবে না। এটা গবেষণার কাজ নয়, ভ্যালিডেশনের কাজ — আজই বসানো সম্ভব।
এরপর যখনই কোনো "সম্পূর্ণ" নয়-অধ্যায়ের ক্রীড়া প্রতিবেদন হাতে আসবে, প্রথম প্রশ্নটা শিরোনাম নিয়ে নয়, হবে: প্রথম ধাপ কী ফিরিয়েছিল? যে প্রতিবেদন নিজের শূন্যতা লিখতে পারে, তার প্রতিটি ভরাট ঘর আলাদা করে বিশ্বাসযোগ্য। আর যে প্রতিবেদন প্রতিটি ঘর ভরে রাখে, তার ফাঁকা জায়গাটা খুঁজতে পাঠককে অনেক বেশি খরচ করতে হয় — অনেক সময় পুরো মৌসুম।
