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

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

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

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