হোমএশিয়ান ক্রিকেটশূন্যতা যখন সংকেত: ক্রিকেট ডেটা পাইপলাইনে নাল-হ্যান্ডলিংয়ের অডিট
এশিয়ান ক্রিকেট

শূন্যতা যখন সংকেত: ক্রিকেট ডেটা পাইপলাইনে নাল-হ্যান্ডলিংয়ের অডিট

মূল উত্তর: ক্রিকেট বিশ্লেষণে ইনপুট শূন্য হলে দ্বিতীয় স্তরের সঠিক উত্তর ভুয়া সংখ্যা নয়, বরং স্পষ্ট নাল। শূন্য তথ্য-বিন্দুর ডিকনস্ট্রাকশন নিয়ে বিশ্লেষণ চালানো যায় না; নাল-হ্যান্ডলিং গেট ছাড়া পাইপলাইন বিশ্বাসযোগ্য শোনানো ক্রিকেট-দাবি বানিয়ে ফেলার ঝুঁকি তৈরি করে। মূল তথ্য: - Stage-1 ডিকনস্ট্রাকশনে শিরোনাম, সোর্স ও তথ্য-বিন্দু সব শূন্য ছিল; কেবল cricket_asia ডোমেইন ট্যাগ ছিল। - তথ্য-বিন্দু শূন্য মানে বিশ্লেষণের কোনো প্রমাণ-ভিত্তি নেই; ফরম্যাট নির্ধারণ ছাড়া ক্রিকেট বিশ্লেষণ শুরুই করা যায় না। - প্রধান ঝুঁকি সাইলেন্ট ফ্যাব্রিকেশন: পরবর্তী মডেল বিশ্বাসযোগ্য শোনানো ক্রিকেট-দাবি বসিয়ে দিতে পারে। - প্রক্রিয়া-সংকেত তিনটি: স্টেজ-১ শূন্যতার হার, নন-জিরো ইনপুট থেকে জিরো আউটপুট, এবং ডোমেইন-ট্যাগ-শুধু রেকর্ড। - ২০১৭-এর এ-লিগ অডিটে ৯০০ মিনিটের নিয়ম প্রমাণ করে — ইনপুট না মিললে সিদ্ধান্ত নয়। সোর্স: Stage-2 Deep Analysis — Cricket Domain (cricket_asia domain tag); সোর্স ডকুমেন্টে প্রকাশের নির্দিষ্ট তারিখ উল্লেখ ছিল না। | Cross-checked: cricsultan.com সম্পর্কিত প্রশ্নোত্তর: প্রশ্ন: Stage-1 ডিকনস্ট্রাকশন শূন্য হলে দ্বিতীয় স্তরে কী করা উচিত? উত্তর: স্পষ্ট নাল আউটপুট দিয়ে আর্টিফ্যাক্টকে “VOID” লেবেল করে আপস্ট্রিম পাইপলাইনে ফেরত পাঠানো উচিত। প্রশ্ন: কেন ফরম্যাট আগে নির্ধারণ করা জরুরি? উত্তর: কারণ টেস্ট, ওয়ানডে ও টি-টোয়েন্টির কৌশল-যুক্তি ভিন্ন; cricsultan.com Format Context Index ছাড়া তুলনা অর্থহীন। প্রশ্ন: কোন প্রক্রিয়া-সংকেত নজরে রাখা উচিত? উত্তর: স্টেজ-১ শূন্যতার হার এবং নন-জিরো ইনপুট থেকে জিরো আউটপুট, যা cricsultan.com Pipeline Integrity Index-এ ধরার মতো সূচক।

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

আমি ১৯৯৮ সালে ঢাকায় প্রথম অনল-এর হয়ে উইলস কাপের ম্যাচ-কাভারেজ দিয়ে লেখা শুরু করি। সেই দিনগুলোর প্রথম পাঠ ছিল তথ্যের শৃঙ্খলা: যা জানি না, তা লিখব না। আটাশ বছর পর, অস্ট্রেলিয়ার একটি স্পোর্টস-ডেটা ডেস্কে বসে দেখছি, সেই একই পাঠ প্রযুক্তির আড়ালে হারিয়ে যাচ্ছে। ক্রিকেট বিশ্লেষণ আজ এমন জায়গায় দাঁড়িয়েছে, যেখানে সংখ্যা উৎপাদন করা সহজ, আর সত্য বলা কঠিন।

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

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

আমি সংখ্যাকে বিশ্বাস করার আগে ইনপুট অডিট করি। ২০১৭ সালের জুলাইয়ে ব্রিসবেনের ফার পোস্ট ডেটায় জ্যেষ্ঠ বেটিং অ্যানালিস্ট হিসেবে যোগ দেওয়ার পর আমার প্রথম কাজ ছিল একটি ট্রান্সফার অডিট। ব্রিসবেন রোর ৩৭ বছর বয়সী মাসিমো মাকারোনেকে এনেছিল জেমি ম্যাকলারেনের জায়গায়। আমি এ-লিগের জন্য একটি মানসম্মত xG/90 ও PPDA ড্যাশবোর্ড বানালাম। মাকারোনের সিরি-আ ওপেন-প্লে xG/90 ছিল ০.৩১; ম্যাকলারেনের এ-লিগ xG/90 ছিল ০.৫৪। বারো পাতার রিপোর্টে আমি সতর্ক করেছিলাম, রো প্রতি ম্যাচে ০.২৩ এক্সপেক্টেড গোল হারাচ্ছে। মাকারোনে ২১ ম্যাচে ৯ গোল করেছিলেন, কিন্তু ওপেন-প্লে থেকে মাত্র ৬টি।

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

২০১৮ সালের জুনে আমি ৩২ দলের একটি বিশ্বকাপ ডেটাবেস বানাই — xG, PPDA ও দৌড়ানো দূরত্ব সহ। কাজানে ফ্রান্স বনাম আর্জেন্টিনার আগে আমার মডেল ফ্রান্সের ট্রানজিশন-দক্ষতা চিহ্নিত করে: ফ্রান্সের xG ২.১, আর্জেন্টিনার ১.৪; ফ্রান্সের PPDA ৭.৯, আর্জেন্টিনার ১৪.২। আমি ফ্রান্স -০.৫ এবং ওভার ২.৫ সুপারিশ করি। ফ্রান্স ৪-৩ জেতে; কিলিয়ান এমবাপ্পে দশটি ফাউল আদায় করেন এবং দুটি গোল করেন। মডেলের প্রান্তটি ছিল ট্রানজিশন, দখল নয়। এই শিক্ষা আমার প্রতিটি টুর্নামেন্ট-প্রিভিউতে একটি বাধ্যতামূলক ট্রানজিশন-বক্স যোগ করিয়ে দেয়, এবং কেবল-দখল-নির্ভর বয়ানকে আমার বেটিং-নোট থেকে নিষিদ্ধ করে।

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

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

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

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

শূন্যতা যখন সংকেত: ক্রিকেট ডেটা পাইপলাইনে নাল-হ্যান্ডলিংয়ের অডিট

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

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

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

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

ক্রিকেট-প্রিভিউ লেখার সময় আমি এখনো ২৪ ঘণ্টার মধ্যে লাইনআপ বদলালে মডেল আবার চালাই এবং ভেন্যু, ভ্রমণ ও জলবায়ু অনুযায়ী দাবি পুনঃক্রমাঙ্কিত করি। কিন্তু পুনঃক্রমাঙ্কনের আগে একটি প্রশ্ন করি: ইনপুটটি কি আদৌ এসেছে? ২০২১ সালে বাংলাদেশের নিউজিল্যান্ড সিরিজ-জয়ে টি-টোয়েন্টি ধারাভাষ্য দেওয়ার সময় শিখেছিলাম, উত্তেজনা যত বাড়ে, তথ্যের শৃঙ্খলা তত দরকার। টুর্নামেন্ট-চক্র আবেগকে সংকুচিত করে; পতাকার ঝোড়ো হাওয়ায় সংখ্যা হারিয়ে যায়। যে বিশ্লেষক ঝড়ের মধ্যেও নাল বলতে পারেন, তিনিই পরে সবচেয়ে বিশ্বাসযোগ্য সংখ্যা দিতে পারেন।

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

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