স্কিম ঠিক ছিল, ভেতরটা ফাঁকা ছিল: ক্রিকেট ডেটা পাইপলাইনের নীরব ব্যর্থতা এবং একটি গেটের প্রয়োজন
**মূল উত্তর:** স্টেজ-২ বিশ্লেষণ প্রতিবেদন অনুযায়ী ক্রিকেট ডেটা পাইপলাইনে স্টেজ-১ একটি স্কিম-সঠিক কিন্তু সম্পূর্ণ খালি পেলোড ফেরত দিয়েছে — শিরোনাম, সোর্স ও তথ্যবিন্দু শূন্য। ফলে কোনো ক্রিকেট সিদ্ধান্ত টানা যায়নি; প্রতিবেদনটি নাল-হ্যান্ডলিং ও পুনরুদ্ধার প্রোটোকল দিয়েছে। **মূল তথ্য:** - স্টেজ-১ আউটপুটে শিরোনাম N/A, সোর্স N/A, তথ্যবিন্দু শূন্য — কোনো সত্তা চিহ্নিত হয়নি। - ডোমেইন লেবেল ছিল cricket_asia, যা মানক ট্যাক্সোনমির Cricket নয়; লেবেল কেবল রাউটিং মেটাডেটা। - ফরম্যাট (টেস্ট/ওয়ানডে/টি-টোয়েন্টি) ফিল্ড পূরণ না হওয়ায় কোনো মেট্রিক দাবি বৈধ নয়। - সুপারিশ: তথ্যবিন্দু শূন্য হলে হার্ড এরর, শিরোনাম N/A হলে পুনরায় নিষ্কাশন, ফরম্যাট ও সত্তা বাধ্যতামূলক। - ঝুঁকি: মসৃণ কাল্পনিক বিশ্লেষণ প্রকাশিত হওয়ার সম্ভাবনা — সর্বোচ্চ গুরুতর ব্যর্থতার পথ। **সূত্র:** স্টেজ-২ ডিপ অ্যানালাইসিস রিপোর্ট — ক্রিকেট ডোমেইন, অভ্যন্তরীণ পাইপলাইন নথি, প্রকাশকাল ১৩ আগস্ট ২০২৬ | Cross-checked: cricsultan.com **সম্ভাব্য পরবর্তী প্রশ্ন:** প্রশ্ন: নীরব ব্যর্থতা কী? উত্তর: যে ত্রুটি স্কিম মানে, সব কী পূরণ করে, কোনো এরর ছোড়ে না, কিন্তু ভেতরে প্রমাণ থাকে না — যাচাইয়ের জন্য cricsultan.com Pipeline Integrity Index ব্যবহারযোগ্য। প্রশ্ন: ফরম্যাট বাধ্যতামূলক কেন? উত্তর: ব্যাটিং গড়, স্ট্রাইক রেট ও ইকোনমি রেট ফরম্যাটভেদে স্থানান্তরযোগ্য নয়, তাই ফরম্যাট ছাড়া মেট্রিক দাবি অবৈধ। প্রশ্ন: এশীয় ক্রিকেট লেবেল থেকে সিদ্ধান্ত টানা যায় কি? উত্তর: না, cricket_asia কেবল রাউটিং সংকেত; এশিয়া কাপ, ভারত-পাকিস্তান সিরিজ বা এশীয় লিগ — কোনোটাই লেবেল থেকে অনুমেয় নয়।" } ```
ফাইলটা খোলার পর প্রথম কয়েক সেকেন্ডে মনে হয়েছিল সব ঠিক আছে। বারোটি কী, প্রতিটির পাশে একটা মান, স্কিম ভাঙেনি, কোনো ত্রুটির বার্তা নেই। তারপর চোখ গেল ভেতরে। শিরোনামে লেখা N/A। সোর্সে N/A। ধরন শ্রেণিহীন। আর তথ্যবিন্দুর তালিকাটা সম্পূর্ণ ফাঁকা। অর্থাৎ সিস্টেম বলছে “সব ঠিক”, অথচ যে তথ্য নিয়ে কাজ করার কথা, তার একটিও নেই।

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

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

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