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

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

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

শাসন-বিশ্লেষণে আরেকটি সতর্কতা জরুরি: নীরবতা কমপ্লায়েন্সের প্রমাণ নয়। একটি খালি রিপোর্ট মানে 'ঝুঁকি নেই' নয়; বরং 'ঝুঁকি মাপা হয়নি'। অথচ মনিটরিং-পাইপলাইনে শূন্য-ফলাফল আর 'কোনো ঝুঁকি পাওয়া যায়নি' — দুটো প্রায় একই রকম দেখায়। এটাই নীরব মিথ্যা-নেতিবাচক, যা যেকোনো তথ্য-প্রণালীর সবচেয়ে ধূর্ত শত্রু। Stage-1-এর স্কিমায় যদি EXTRACTION_FAILED আর NO_FINDINGS আলাদা মর্যাদা না পায়, তবে শূন্যতাও একদিন 'সব ঠিক আছে' বলে গণ্য হবে।
সুতরাং সামনের দিকটা স্পষ্ট। ক্রিকেট-বিশ্লেষণকে একটি ব্লকচেইনের মতো কঠোর হতে হবে — তবে হ্যাশে নয়, যাচাইয়ে। শিরোনাম, সূত্র, ধরন, অন্তত একটি তথ্যবিন্দু, সময়-সংবেদনশীলতা, সূত্রের গুণমান — এগুলো অ-শূন্য (non-nullable) ঘোষণা করতে হবে। কনটেন্ট-থ্রেশহোল্ডের নিচে একটি ডোমেইন-ট্যাগ বৈধ বলে গণ্য হবে না। আর প্রতিটি মডেলের পাশে তার সীমাও লিখতে হবে, যেমন আমি ২০২০ সালের পর থেকে করি।
ট্রানজিশন লেজার আজ বন্ধ করছি, কিন্তু একটি প্রশ্ন রেখে যাচ্ছি: ক্রিকেট-বিশ্ব যখন প্রতিটি শটের xG মাপতে ব্যস্ত, তখন কে মাপবে — সেই ডেটা আদৌ এসেছে কি না?
