শূন্য তথ্যের ইনিংস: যে ক্রিকেট-বিশ্লেষণ কখনো শুরুই হয়নি
শূন্য তথ্যের ইনিংস: যে ক্রিকেট-বিশ্লেষণ কখনো শুরুই হয়নি রাত ২:৩০, মুম্বাই।...
শূন্য তথ্যের ইনিংস: যে ক্রিকেট-বিশ্লেষণ কখনো শুরুই হয়নি

রাত ২:৩০, মুম্বাই। ল্যাপটপের পর্দায় স্প্রেডশিট খোলা। কলামের হেডারগুলো ঠিক জায়গায় বসানো — ম্যাচ, ফরম্যাট, ইনিংস-অবস্থা, ভেন্যু, ইনফরমেশন পয়েন্ট, জড়িত সত্তা। ঘরগুলো সব ফাঁকা। উপরের বাঁ কোণে একটা লেবেল জ্বলছে: cricket_world। ব্যস, ওটুকুই। তার নিচে শুধু শূন্যতা।
ফুটবল মরসুমে আমি রাত ২:৩০-এ উঠি ম্যাচ দেখতে। ক্রিকেট মরসুমে উঠি ডেটা দেখতে। কিন্তু আজ যেটা পেলাম সেটা কোনো ম্যাচ নয় — এটা একটা ম্যাচের অনুপস্থিতি। বিশ্লেষণের ভাষায় এটাই সবচেয়ে অস্বস্তিকর আবিষ্কার: যখন স্কোরকার্ড খালি থাকে, তখন প্রশ্নটা “কে জিতল” নয়, প্রশ্নটা “খেলাটা আদৌ শুরু হয়েছিল কি না”। স্টেজ-১ ধাপটা ফিরিয়ে দিয়েছে পুরো নাল — শিরোনাম নেই, সূত্র নেই, সারসংক্ষেপ নেই, কোনো খেলোয়াড় নেই, কোনো দল নেই, কোনো তারিখ নেই। শুধু একটা ডোমেইন-ট্যাগ: cricket_world। ইনফরমেশন পয়েন্টের তালিকা সম্পূর্ণ শূন্য।
অর্থাৎ আমার হাতে যে বিশ্লেষণ-ফ্রেম এসেছে, সেটা তৈরি হয়েছে একটা সম্পূর্ণ নিবন্ধ বিশ্লেষণ করার জন্য — অথচ ভেতরে বিশ্লেষণ করার মতো কিছুই নেই। এখানেই আজকের গল্প। এটা কোনো ম্যাচ-রিভিউ নয়; এটা একটা তদন্ত — পাইপলাইনের কোন স্তরে, ঠিক কোন মুহূর্তে নীরবতা নেমে এল, তার তদন্ত।
আগে পরিষ্কার করে নিই কেন এটা জরুরি। ক্রিকেট-বিশ্লেষণের কাজটা দেখতে সহজ: কাঁচা ম্যাচ-তথ্য ঢোকে, সেটা বিশ্লেষণে রূপান্তরিত হয়, তারপর পাঠক পর্যন্ত পৌঁছায়। বাস্তবে এটা একটার বদলে অনেকগুলো স্তরের কাজ। প্রথম স্তর (Stage-1) হলো deconstruction — নিবন্ধের শিরোনাম বের করা, মূল তথ্য-বিন্দু চিহ্নিত করা, জড়িত সত্তা খুঁজে বের করা, লেখকের অবস্থান আর নিবন্ধের উদ্দেশ্য ঠিক করা। দ্বিতীয় স্তর (Stage-2) সেই ভিত্তির উপরে গভীর বিশ্লেষণ দাঁড় করায় — ফরম্যাট, খেলোয়াড়ের টেকনিক, দলের ল্যান্ডস্কেপ, লিগ-বাণিজ্য, নিয়ম-শাসন, ঝুঁকি, জন-আখ্যান, আর শিল্প-প্রবাহ।
এই কাঠামোর মূল শর্ত একটাই: প্রতিটা মাত্রার বিশ্লেষণ স্টেজ-১-এর তথ্য-বিন্দুর উপর দাঁড়াতে হবে। তথ্য-বিন্দু শূন্য মানে বিশ্লেষণের ভিত্তি শূন্য। এটা কোনো সামান্য খুঁত নয়, এটা একটা ব্যর্থতা — এবং এই ব্যর্থতাটাই আজকের বিষয়বস্তু।
আমি আমার নিজের কাজ থেকে বলি, কারণ এখানেই প্রসঙ্গটা স্পষ্ট হয়। ২০১১ সালে, যখন আমি একটা সোশ্যাল-মিডিয়া ক্রিকেট পেজ চালাতাম, তখন শিখেছিলাম লেখার প্রথম শৃঙ্খলা — উৎস ছাড়া বাক্য নয়। ২০০৭ সালে ক্রিকেট-লেখা থেকে বোর্ডের মিডিয়া-সেটআপে যাওয়ার পর দৃষ্টিভঙ্গিটা আরও প্রশস্ত হয় — তখন বুঝলাম, একটা দাবির পেছনে শুধু পর্যবেক্ষণ নয়, একটা যাচাইযোগ্য রেকর্ডও লাগে।
২০১৭ সালে, ৫৩ বছর বয়সে, কন্টের ৩-৪-৩ নিয়ে একটা ১২-পার্ট থ্রেড করেছিলাম — ভিক্টর মোজেস আর মার্কোস আলোনসো কীভাবে ফিফথ-চ্যানেল রিসিভার হয়ে উঠল, তার জ্যামিতি। সেটা ২.১ মিলিয়ন ইমপ্রেশন পেয়েছিল, কিন্তু আমি সেটা তিন সপ্তাহ দেরিতে ছেড়েছিলাম। কারণ তথ্য এলোমেলোভাবে ঢুকলে বিশ্লেষণও এলোমেলো হয়; একটা নিখুঁত থ্রেড দেরিতে গেলেও অসম্পূর্ণ থ্রেডের চেয়ে ভালো। ২০১৮-র রাশিয়া বিশ্বকাপের আগে আমি possession-expected threat ম্যাট্রিক্স বানিয়েছিলাম — ফ্রান্সের ৩৯% বল-দখল আর জিরুর ৩৪টা এরিয়াল ডুয়েলের ভিত্তিতে বলেছিলাম ফ্রান্স ৪-২ জিতবে। ম্যাট্রিক্সে কারণ-শৃঙ্খল পরিষ্কার ছিল, তাই সেটা ৪৮ ঘণ্টা আগে প্রকাশ করেছিলাম।
আর ২০২০-য়, যখন ফুটবল খালি স্টেডিয়ামে ফিরল, আমি ৪৭ ম্যাচের বুন্দেসলিগা ডেটাসেট বানিয়েছিলাম — PPDA আর সেট-পিস গোল তুলনা করে দেখলাম, ভিড় না থাকলে অ্যাওয়ে দলের প্রেসিং তীব্রতা ১২% পড়ে যায়। খালি স্টেডিয়ামে পিচটা হয়ে উঠেছিল প্রতিটা নীরব ভুলের ইনডেক্স। ওই তিনটে কাজের একটাই সূত্র ছিল: ডেটা আগে, সিদ্ধান্ত পরে। আজ যেটা হাতে এসেছে সেটা তার উল্টো — সিদ্ধান্তের ছাঁচ আগে, ডেটা শূন্য।
এবার আসল তদন্ত। ফিল্ড ধরে ধরে দেখি স্টেজ-১ আসলে কী ফিরিয়ে দিয়েছে।
শিরোনাম: N/A। সূত্র: N/A। নিবন্ধের ধরন: unclassified। ডোমেইন লেবেল: cricket_world — শুধু এটাই অ-শূন্য। সারসংক্ষেপ: ফাঁকা। লেখকের অবস্থান: N/A। নিবন্ধের উদ্দেশ্য: N/A। তথ্য-বিন্দু: খালি তালিকা। জড়িত সত্তা: “উপরের তথ্য-বিন্দু থেকে চিহ্নিত করুন” — অথচ তথ্য-বিন্দু বলতে কিছু নেই। সময়-সংবেদনশীলতা: স্টেজ-১-এ মূল্যায়ন করা হয়নি। সূত্রের গুণমান: “সূত্রের ফিল্ড থেকে বিচার করুন” — অথচ ফিল্ডই নেই।
এখানে সবচেয়ে গুরুত্বপূর্ণ প্রমাণটা হলো কী শূন্য আর কী শূন্য নয়। ডোমেইন লেবেলটা কাজ করেছে — অর্থাৎ ক্লাসিফায়ার ঠিকঠাক চলেছে। কিন্তু শিরোনাম আর সূত্র, যেগুলো বের করতে শুধু পেজের মেটাডেটা দরকার, সেগুলোও N/A। এর মানে, সমস্যাটা সারসংক্ষেপ-স্তরে নয় — সমস্যাটা তার আগে, ইনজেশন স্তরে। সূত্রের মূল পাঠটাই কখনো উদ্ধার হয়নি। সম্ভবত খালি বডি, পেওয়ালের পেছনে লুকানো পেজ, জাভাস্ক্রিপ্টে রেন্ডার করা কনটেন্ট, কিংবা এমন কোনো ইনপুট যা টেক্সট-পাইপলাইন পড়তে পারে না — ভিডিও, পডকাস্ট, বা ছবি-নির্ভর পোস্ট।
এখন ভাবুন এই শূন্যতা যদি জোর করে ভরা হতো, তাহলে কী হতো। ফরম্যাট-প্রসঙ্গ (Test / ODI / T20) ছাড়া ক্রিকেটে কোনো ফেজ-ভিত্তিক ব্যাখ্যা করা বৈধ নয় — পাওয়ারপ্লে, মিডল ওভার, ডেথ ওভার, টেস্টের নিউ-বল মাইলস্টোন, প্রতিটার আলাদা যুক্তি। ফরম্যাট জানা না থাকলে “ফল বনাম প্রক্রিয়া” যাচাইও অসম্ভব — জেতার ব্যবধান আর খেলার প্রকৃত গতিপথের ফারাক, টস বা DLS-এর ভাগ্য সরিয়ে ফেলা। ভেন্যু নেই, তাই হোম-অ্যাওয়ে ডিফারেনশিয়ালও নেই — অথচ ক্রিকেটে এটাই সবচেয়ে বড় পারফরম্যান্স-ভেরিয়েবল।
খেলোয়াড়ের মাত্রায় কোনো নাম নেই, তাই ভূমিকা (ওপেনার / অ্যাঙ্কর / ফিনিশার / পেস / স্পিন / অলরাউন্ডার) চেনার কাজই শুরু করা যায় না। কোনো মেট্রিক নেই — গড়, স্ট্রাইক রেট, ইকোনমি রেট, কিছুই না। মনে রাখতে হবে, টেস্ট-ODI-T20-এর পরিসংখ্যান কখনো মেশানো যাবে না; ফরম্যাট-ট্যাগ ছাড়া একটা সংখ্যাও উদ্ধৃত করা যায় না।
দলের মাত্রায় কোনো দল নেই — না জাতীয়, না ফ্র্যাঞ্চাইজি। তাই টিয়ার-পজিশনিং (এলিট শক্তি / মিড-টিয়ার / উদীয়মান) বসানো অসম্ভব। লিগ-বাণিজ্যের মাত্রায় কোনো লিগ নেই, কোনো আর্থিক সংখ্যা নেই — মিডিয়া-রাইটস ভ্যালু, ফ্র্যাঞ্চাইজি মূল্য, বেতন, কিছুই না। নিয়ম-শাসনের মাত্রায় কোনো বোর্ড নেই, কোনো নিয়ম-উদ্ধৃতি নেই, কোনো দুর্নীতি-সংকেত নেই।
শিল্প-প্রবাহের মাত্রাটা আরও স্পষ্ট করে বলি। আপস্ট্রিম (যুব-উন্নয়ন, প্রতিভা-সরবরাহ) → মিডস্ট্রিম (জাতীয় দল, লিগ) → ডাউনস্ট্রিম (সম্প্রচার, বাণিজ্য, ডেরিভেটিভ বাজার) — এই মানচিত্র আঁকতে গেলে অন্তত একটা সত্তা বা ঘটনা দরকার। সেটাই না থাকলে মানচিত্রটা কাঠামোগত ফাঁকা জায়গা, কোনো অনুসন্ধান নয়। এই মাত্রাটাই সবচেয়ে বেশি ডেটা খায়, তাই নাল ইনপুটে সবচেয়ে আগে ভেঙে পড়ে — আর এটাই অনুমানের মাধ্যমে ভরাট করা উচিত নয় সবচেয়ে বেশি।
এখানে একটা সূক্ষ্ম কিন্তু নির্ণায়ক কথা বলি, যেটা নিয়ে অনেকে ভুল করে। “কোনো দুর্নীতি-সংকেত নেই” — এটা কোনো পরিচ্ছন্ন সনদ নয়। এটা একটা নাল। সংকেতের অনুপস্থিতি এখানে ইনপুটের অনুপস্থিতি, ঝুঁকির অনুপস্থিতি নয়। “কিছু পাওয়া যায়নি” আর “কিছু নেই” — এই দুটো এক জিনিস নয়। বিশ্লেষণে এই পার্থক্যটা না ধরলে মানুষ নির্ভুল সিদ্ধান্তের ভান করে।
ব্যক্তিগতভাবে আমার কাছে ব্যাপারটা ডেটা-অখণ্ডতার প্রশ্ন। আমার অর্থনীতির পড়াশোনা আমাকে শিখিয়েছে একটাই অভ্যাস: একটা ভেরিয়েবলকে আলাদা করে দেখা, আর প্রতিটা দাবির পেছনে যাচাইযোগ্য রেকর্ড রাখা। ২০২০-য় খালি স্টেডিয়ামের ডেটা আমি হায়ার করা অ্যানালিস্ট দিয়ে ফর্মুলা মিলিয়ে নিতাম, কারণ পরিপূর্ণতাবাদ নিজের ভুল নিজে ধরতে পারে না — একটা দ্বিতীয় চোখ লাগে। সেই একই নীতিতে আজ স্টেজ-২-এর দ্বিতীয় চোখ বলছে: এই ছাঁচটা পূরণ করার আগে প্রমাণ চাই।
আর এখানেই আসে লেজার-ভাবনার কথা। যে সিস্টেমে প্রতিটা তথ্য-বিন্দু অপরিবর্তনীয়ভাবে লিপিবদ্ধ থাকে, সেখানে শূন্যতা নিজেই একটা রেকর্ড — আপনি লুকিয়ে ফেলতে পারেন না। অথচ বাস্তবের ক্রিকেট-ডেটা অর্থনীতিতে উল্টোটা ঘটে: প্ল্যাটফর্মগুলো যত বেশি ডেটা কেনে, তত কম যাচাই করে। স্ট্রিমিং প্ল্যাটফর্মগুলোর রাইটস-বাবল যেমন ফুলে ভেঙেছে — প্রচুর টাকা খরচ করে তারা দর্শক ধরে রাখতে পারছে না — তেমনি ডেটা-পাইপলাইনগুলোও ভলিউম কিনছে যাচাই ছাড়াই। কেনা ডেটা বেশি, ভেরিফায়েড ডেটা কম। আর ঠিক এই ফাঁক থেকেই নাল-ইনপুটের মতো ব্যর্থতা জন্মায়।
তরুণ-খেলোয়াড়ের প্রিমিয়াম নিয়েও আমার একই সন্দেহ — ৫০টার কম টপ-ফ্লাইট ম্যাচ খেলা কাউকে ১০০ মিলিয়ন ইউরো দেওয়া খোলা জুয়া। এই জুয়ার আসল চেহারা ধরা পড়ে বিশ্লেষণ-স্তরে: যেখানে যাচাই দুর্বল, সেখানে দাম ফুলে ওঠে। একটা দামের ট্যাগ আর একটা ভেরিফায়েড রেকর্ড — দুটো আলাদা জিনিস, ঠিক যেমন “কোনো সংকেত নেই” আর “ঝুঁকি নেই” আলাদা।
এখন আমার নিজের মূল শৃঙ্খলায় ফিরি। আমি সুতাটা টানতে টানতে পুরো ব্লগটার চেহারা পাল্টে ফেললাম — এই অভ্যাসটাই ২০১৭-য় আমাকে থ্রেড থেকে ক্লিপ-ভিত্তিক বিশ্লেষণে নিয়ে গিয়েছিল। আজ সেই একই থ্রেড টানছি অন্য প্রান্ত থেকে। রুটটা আমি জানি — রুট: ২০১৮ – রাশিয়া। ওই টুর্নামেন্টে আমি শিখেছিলাম, একটা ম্যাট্রিক্স তখনই কাজ করে যখন প্রতিটা ঘর ভরা থাকে। খালি ঘর নিয়ে ম্যাট্রিক্স বানালে সেটা বিশ্লেষণ নয়, গল্প। আর আজকের ব্যর্থতা হলো ঠিক সেই খালি ঘরের গল্প — শুধু এবার গল্পটা লিখতে বসেনি কেউ, কেউ সাহস করেনি।
আমি রিপ্লে দেখতে থাকি যতক্ষণ না প্যাটার্নটা কাকতালীয় বলে অভিনয় করা বন্ধ করে। এখানে রিপ্লে হলো স্টেজ-১-এর আউটপুট নিজেই। আর প্যাটার্নটা স্পষ্ট: ক্লাসিফিকেশন চলেছে, এক্সট্রাকশন থেমে গেছে। শুরুর একাদশ হলো থিসিস; সাবস্টিটিউশনগুলো পিয়ার রিভিউ। এখানে “শুরুর একাদশ” মানে স্টেজ-১-এর তথ্য-বিন্দু; সেটাই যদি মাঠে না নামে, তবে সাবস্টিটিউশন বা স্টেজ-২ নিয়ে ভাবার কিছু নেই।

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