হোমএশিয়ান ক্রিকেটনীরব ব্যর্থতা: যখন ক্রিকেট ডেটা রিপোর্ট ফাঁকা ফিরে আসে

নীরব ব্যর্থতা: যখন ক্রিকেট ডেটা রিপোর্ট ফাঁকা ফিরে আসে

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

সোমবার সকালের ফাইলটা খুলে প্রথমে মনে হয়েছিল ভুল করে খালি টেমপ্লেট পাঠানো হয়েছে। চব্বিশটি সারি, তেরোটি কলাম, প্রতিটির মাথায় পরিষ্কার লেবেল — শিরোনাম, সূত্র, তথ্য-বিন্দু, সংশ্লিষ্ট পক্ষ, সময়-সংবেদনশীলতা, সূত্রের মান। ঘরগুলোর ভেতরে একটাই উত্তর, বারবার ফিরে আসা: N/A। পুরো পাতায় একটিমাত্র বাস্তব সংকেত — ডোমেইন লেবেল, cricket_asia।

আঙুল কিবোর্ডে চলে গিয়েছিল। চল্লিশ বছরের অভ্যাস, ফাঁকা ঘর দেখলেই ভরতে ইচ্ছে করে। কোন ফরম্যাট, কোন মাঠ, কে ব্যাট করেছে, স্ট্রাইক রেট কত — চারটি বাক্য জুড়ে দিলে রিপোর্টটা সম্পূর্ণ দেখাত। সম্পূর্ণ দেখানো সহজ কাজ। সত্যি হওয়া কঠিন। ওই এক সেকেন্ডেই ঠিক হয়ে গেল এই লেখাটা কী নিয়ে হবে — ফাঁকা ঘর নিয়ে, আর ফাঁকা ঘর ভরার প্রলোভন নিয়ে।

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

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

ফরম্যাট-চিহ্নটার অভাব এখানে সবচেয়ে বড় ক্ষতি। টেস্ট, ওয়ানডে আর টি-টোয়েন্টির সংখ্যা একে অন্যের জায়গায় বসানো চলে না। একজন ফিনিশারের টি-টোয়েন্টেতে ১৪০ স্ট্রাইক রেট প্রশংসনীয়, একজন টেস্ট ওপেনারের ৪০ গড় অভিজাত; দুটোকে এক বেঞ্চমার্কে বিচার করলে বিশ্লেষণ ভুল হয় না — অসম্ভব হয়ে যায়। ২০১৭ সালে ম্যানচেস্টার সিটির টানা আঠারো জয়ের সময় আমি দেখিয়েছিলাম তাদের গড় গোল-পার্থক্য প্লাস ২.৮, কিন্তু এক্সজি-পার্থক্য মাত্র প্লাস ১.২। সংখ্যা ওভারপারফর্ম করছিল, আর সেটা টেকসই ছিল না। সেই ভেরিফিকেশন সম্ভব হয়েছিল কারণ প্রতিটি ম্যাচের কাঁচা ডেটা, উৎস আর ফরম্যাট ছিল। উৎসহীন সংখ্যা বিশ্লেষণ নয়, অলংকার।

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

নীরব ব্যর্থতা: যখন ক্রিকেট ডেটা রিপোর্ট ফাঁকা ফিরে আসে

শূন্য তথ্য-বিন্দু একটি ফলাফল, কিন্তু সেটি ক্রিকেট নিয়ে ফলাফল নয়। বিশ্লেষণে নাল-ফলাফল স্বাভাবিক — ধরুন, একজন ব্যাটসম্যানের স্পিন-ম্যাচআপে কোনো পরিসংখ্যানগত সুবিধা মিলল না, সেটা একটা সিদ্ধান্ত। কিন্তু একটা ফাঁকা নিষ্কাশন নাল-ফলাফল নয়; সেটা পাইপলাইন সম্পর্কে ফলাফল, খেলা সম্পর্কে নয়। দুটোকে এক করে ফেলাই মূল ভুল। আজকের নথির সঠিক লেবেল একটাই: অ-কর্মযোগ্য।

প্রতিটি সংখ্যা একটা প্রশ্ন, দশমিকের পোশাক পরে দাঁড়িয়ে থাকে। আমি ঘরগুলো একটা একটা করে খুলি। এই পাতাটা খোলার অর্থ তিনটি প্রশ্ন করা। প্রথমত সম্পূর্ণতা — তথ্য-বিন্দু পাঁচের কম হলে নিষ্কাশন ব্যর্থ, আউটপুট লক। দ্বিতীয়ত পক্ষ-নির্ধারণ — নামধারী দল বা খেলোয়াড় থাকতে হবে, বৃত্তাকার নির্দেশে চলবে না। তৃতীয়ত ফরম্যাট-চিহ্ন আর তারিখ। তিনটির যেকোনো একটি না মিললে রিপোর্ট ফেরত যায়, পূরণ করা হয় না। খরচ একবার পুনরায় নিষ্কাশন; লাভ — কোনো বানানো নাম ডেটাবেসে ঢোকে না।

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

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

২০২২ বিশ্বকাপের মরক্কো মডেলটা মনে করুন। প্রতিরক্ষা-কম্পোজিটে ছিল প্রেসিং তীব্রতা ১২.৪, ম্যাচে অনুমোদিত ডিপ-কমপ্লিশন ৩.১, দূরত্ব ১১২ কিলোমিটার। মডেল বলেছিল ১-০, মরক্কো পর্তুগালকে ১-০-তেই হারাল। সেই মডেলটাই ইংল্যান্ডের একটি প্রিমিয়ার লিগ ক্লাবের লো-ব্লক স্কাউটিং টেমপ্লেটে ঢুকল, আর এক মাসের মধ্যে একজন মরক্কান সেন্টার-ব্যাক ৮ মিলিয়ন ইউরোতে চুক্তিবদ্ধ হলেন। এখন ভাবুন, ওই ইনপুট নথিটা যদি ফাঁকা পাতা হয়ে "বিশ্লেষণ সম্পন্ন" সিলমোহর নিয়ে ডেটাবেসে বসে থাকত। ক্লাব কোনো সতর্কবার্তা পেত না; সে পেত একটা শর্টলিস্ট।

শ্রেণিবিন্যাসের অমিলটাও ছোট ব্যাপার নয়। স্কিমায় থাকা উচিত ছিল "Cricket", ফিরে এসেছে "cricket_asia"। কিছু নথিতে একটি লেবেল আর বাকিগুলোয় অন্যটা থাকলে যেকোনো তুলনামূলক কাজ নীরবে সারি ফেলে দেয় বা দ্বিগুণ গোনে। তুলনার আগে লেবেল মিলিয়ে নিতে হয়; পরে নয়।

এখানেই অস্বস্তিকর বিপরীত দিকটা। শিল্পটা সততার জন্য টাকা দেয় না, পূর্ণতার জন্য দেয়। যে বিশ্লেষক "N/A" ফেরত দেয়, তাকে কাজটা আবার করতে বলা হয়; যে একটা বিশ্বাসযোগ্য অনুমান জুড়ে দেয়, তাকে পারিশ্রমিক মেলে আর যাচাইকারী প্রায় কেউ থাকে না। এক মরসুমে এই অসমতা এমন একটা ডেটাবেস গড়ে তোলে যা দেখতে ভরা, অথচ আংশিক কল্পনা। ভয়টা কল্পনা-প্রবণ মডেলের নয়; ভয়টা সেই পর্যালোচকের, যে সম্পূর্ণ দ্বিতীয় ধাপের নথি দেখে ধরে নেয় প্রথম ধাপের কাজটা সত্যিই হয়েছিল।

একটা ট্যাগ হাতে নিয়ে সহজ পথটা ছিল ভারত-পাকিস্তানের কাঠামোগত প্রতিদ্বন্দ্বিতা, আফগানিস্তানের উত্থান, আইপিএলের অর্থনীতি নিয়ে তিন হাজার শব্দ লেখা। প্রতিটি বাক্য সাধারণভাবে সত্যি হতো, এই প্রতিবেদন সম্পর্কে মিথ্যা। শুরুতে স্প্রেডশিট ছিল, তার আগে নোটবুক, তার আগেও একটা অনুমান যা আমি প্রমাণ করতে পারিনি — সেই অনুমানটাকে প্রমাণের অভাবে চেপে রাখাই এই পেশার প্রথম শর্ত। চল্লিশ বছর ধরে এই খেলা দেখছি; স্প্রেডশিট আজও আমাকে অবাক করে, তবে কখনো ভরসা দেয় না নিজের বানানো নামে।

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

সংশ্লিষ্ট খেলোয়াড়গণ