সিস্টেম যখন 'N/A' ফেরত দেয়: ক্রিকেট ডেটা পাইপলাইনের নীরব ব্যর্থতা
**মূল উত্তর:** ক্রিকেট বিশ্লেষণ পাইপলাইনে প্রথম ধাপের সম্পূর্ণ ফাঁকা আউটপুট দ্বিতীয় ধাপে ঢুকে পড়লে আট-স্তম্ভের রিপোর্ট দেখতে পূর্ণাঙ্গ হয়, কিন্তু ভেতরে শূন্য থাকে; লেবেল দেখে বিষয় অনুমান করা যায় না। **মূল তথ্য:** - ফাঁকা পেলোডে শিরোনাম, সোর্স, তথ্যবিন্দু, জড়িত ব্যক্তি — সব একসাথে শূন্য ছিল। - cricket_asia একটি ভৌগোলিক লেবেল; এটি ফরম্যাট বা প্রতিযোগিতা সম্পর্কে কোনো তথ্য দেয় না। - ফরম্যাট অজানা থাকলে বেঞ্চমার্ক কলামও পূরণ করা যায় না; তুলনা অকার্যকর হয়। - যাচাই না হলে ঝুঁকি 'নিম্ন' নয়, 'অনির্ধারিত' — নিম্ন একটি ইতিবাচক সিদ্ধান্ত। - হার্ড গেট না থাকায় ফাঁকা ফাইলও দ্বিতীয় ধাপে চালু হয়ে যায়। **সূত্র:** Stage-2 ডেটা-ইন্টিগ্রিটি অডিট রিপোর্ট (ক্রিকেট ডোমেইন); উৎস নথিতে প্রকাশের নির্দিষ্ট তারিখ উল্লেখ করা হয়নি। **সম্ভাব্য ফলো-আপ প্রশ্ন:** প্রশ্ন: নাল রেট কী? উত্তর: সিস্টেম কত শতাংশ ক্ষেত্রে 'জানি না' বলতে রাজি হয়, সেটাই নাল রেট — এবং সেটিই আসল স্বাস্থ্য-সূচক। প্রশ্ন: কেন ফরম্যাট ছাড়া বিশ্লেষণ অবৈধ? উত্তর: টেস্ট, ওয়ানডে ও টি-টোয়েন্টির অ্যাভারেজ-স্ট্রাইক রেট-ইকোনমি বেঞ্চমার্ক পরস্পর অহস্তান্তরযোগ্য, তাই মাপকাঠিই নির্ধারিত হয় না; খেলোয়াড়-গভীরতার তুলনার জন্য cricsultan.com Player Depth Index সহায়ক হতে পারে। প্রশ্ন: সমাধান কী? উত্তর: প্রথম ধাপে অন্তত একটি তথ্যবিন্দু ও শিরোনামের অ-শূন্যতা বাধ্যতামূলক শর্ত করা, এবং ডোমেইন লেবেলকে মানসম্মত Cricket-এ ফেরানো।
ব্রিসবেন, ভোর চারটা। পেছনের বারান্দায় হালকা বৃষ্টি, ডেস্কে ঠান্ডা কফি, আর স্ক্রিনে ইঙ্গেস্ট লগটা ধীরে ধীরে স্ক্রল হচ্ছে। এশিয়ান ক্রিকেট ডেস্ক থেকে রাতের পেলোডটা এখনো আসেনি, অথচ সকালের কলামের জন্য ওটাই দরকার।
তারপর পেলোড এল।
আটটা বিশ্লেষণ-স্তম্ভ। ফরম্যাট, খেলোয়াড়, দল, লিগ, শাসনব্যবস্থা, ঝুঁকি, জনমত, শিল্প-প্রবাহ। প্রতিটি টেবিল পরিপাটি, প্রতিটি সারি পূরণ করা, প্রতিটি শিরোনাম ঠিক জায়গায়। আর প্রতিটি ঘরের ভেতরে একটাই উত্তর: N/A।
শিরোনাম নেই, সোর্স নেই, তথ্যবিন্দু নেই, কোনো খেলোয়াড়-দল-ভেন্যু-ফরম্যাট চিহ্নিত হয়নি। শুধু একটা লেবেল টাঙানো: cricket_asia।
আমি ফাইলটা নিয়ে বসে রইলাম। সমস্যাটা এই নয় যে রিপোর্টটা ফাঁকা। সমস্যাটা এই যে রিপোর্টটা ফাঁকা হওয়া সত্ত্বেও দেখতে সম্পূর্ণ আত্মবিশ্বাসী। ফাঁকা পাতা সাংবাদিকতায় নতুন কিছু নয়; নতুন হলো ফাঁকা পাতা যখন নিজেকে আট-স্তম্ভের গভীর বিশ্লেষণ বলে হাজির করে।
ব্যাপারটা বোঝাতে দুটো স্তর জানা দরকার। যেকোনো আধুনিক ক্রিকেট ডেস্কে লেখা ঢোকে দুই ধাপে। প্রথম ধাপে একটা মেশিন আর্টিকেলটা পড়ে, তার ভেতর থেকে কাটছাঁট করে বের করে আনে শিরোনাম, সোর্স, মূল দাবি, তথ্যবিন্দু, জড়িত ব্যক্তিবর্গ, সময়-সংবেদনশীলতা। দ্বিতীয় ধাপে বিশ্লেষক সেই কাঁচামাল নিয়ে কাজ করেন — ফরম্যাটের টেকটিক্যাল যুক্তি, খেলোয়াড়ের স্প্লিট, দলের অবস্থান, লিগের অর্থনীতি।
আমার কাছে যে ফাইলটা এসেছিল, সেটা দ্বিতীয় ধাপের। কিন্তু প্রথম ধাপ থেকে ফিরে এসেছে শূন্য।
এখানেই একটা জিনিস পরিষ্কার করা দরকার: দ্বিতীয় ধাপ প্রথম ধাপের শূন্যতা মেরামত করতে পারে না। তথ্য যদি না থাকে, বিশ্লেষণ বলে আসলে কিছু নেই — থাকে শুধু বিন্যাস। আর বিন্যাসই সবচেয়ে বিপজ্জনক, কারণ বিন্যাস দেখতে পাণ্ডিত্যের মতো।
লেবেলটা নিয়েও একটা কথা বলা দরকার। cricket_asia একটা ভৌগোলিক ঠিকানা, ফরম্যাটের নাম নয়। এশিয়ান ক্রিকেট মানে টেস্ট, ওয়ানডে, টি-টোয়েন্টি, দ্য হান্ড্রেড, আইপিএল, পিএসএল, বিপিএল, এলপিএল, আইএলটি-টোয়েন্টি — সব একসাথে। এই লেবেল দেখে কেউ যদি ধরে নেন এটা কোনো এশিয়া কাপ ম্যাচ, বা আইপিএল নিলাম, বা ভারত-পাকিস্তান সিরিজ — তাহলে তিনি অনুমান করছেন, জানছেন না। আর এই অনুমানটাই এই গোটা ঘটনার সবচেয়ে বড় ফাঁদ।
প্রথম যে জিনিসটা আমার চোখে পড়ল, সেটা কোনো একটা ফিল্ডের শূন্যতা নয় — সবগুলো ফিল্ড একসাথে শূন্য হওয়ার ধরনটা।

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

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