ফাঁকা স্প্রেডশিটের পাঠ: ক্রিকেট ডেটার অখণ্ডতা, ব্লকচেইন আর নীরবতার শৃঙ্খলা
**মূল উত্তর:** একটি ক্রিকেট ডেটা পাইপলাইনের Stage-1 এক্সট্রাকশন স্তর নীরবে ব্যর্থ হয়ে ফাঁকা কাঠামো ফেরত দিয়েছে, আর বিশ্লেষক অনুমান না করে ‘তথ্য অপর্যাপ্ত’ বলে বিশ্লেষণ স্থগিত রেখেছেন। **মূল তথ্য:** - Stage-1 এক্সট্রাকশনে শিরোনাম, উৎস, তথ্যবিন্দু — সব শূন্য পাওয়া গেছে। - ডোমেইন লেবেল cricket_asia, অথচ প্রত্যাশিত ছিল Cricket। - Stage-2 বিশ্লেষণ কোনো খেলোয়াড়, দল বা স্কোর বানায়নি। - মূল ঝুঁকি: ভুয়া বিশ্লেষণ ছড়ানো, তাই কাঁচা নিবন্ধ পুনরায় ইনজেস্ট করার সুপারিশ। **সূত্র:** Stage-2 বিশ্লেষণ প্রতিবেদন (প্রদত্ত ইনপুট); প্রকাশের নির্দিষ্ট তারিখ উল্লেখ নেই। **সম্পর্কিত প্রশ্নোত্তর:** Q: কেন কোনো বিশ্লেষণ করা হয়নি? A: কারণ যাচাইযোগ্য কোনো তথ্যবিন্দু বা সত্তা ইনপুটে ছিল না। Q: পরবর্তী পদক্ষেপ কী? A: কাঁচা নিবন্ধ পুনরায় লোড করে Stage-1 এক্সট্রাকশন চালানো এবং তালিকা খালি কিনা যাচাই করা। Q: এই ঘটনা কী শেখায়? A: ডেটা অখণ্ডতার জন্য পাইপলাইনকে নীরবে ব্যর্থ না হয়ে জোরে আওয়াজ করতে হবে।
গত সপ্তাহে সিডনির ডেস্কে বসে একটা বিশ্লেষণ ফাইল খুলেছিলাম। থাকার কথা ছিল একটা ম্যাচের ball-by-ball ডেটা, শট ম্যাপ, বোলিং স্পেলের ভাঙচুর, খেলোয়াড়দের নাম আর ফরম্যাটের পরিচয়। খুলে দেখি শূন্য — কোনো তথ্যবিন্দু নেই, কোনো দল নেই, ফরম্যাট পর্যন্ত অজানা। অথচ পাশে একটা টেমপ্লেট হাঁক ছাড়ছিল: বিশ্লেষণ দাও, সংখ্যা বসাও, সিদ্ধান্ত লিখো। আমি ফাইলটা বন্ধ করলাম। কারণ যে সংখ্যার উৎস খুঁজে পাওয়া যায় না, সে সংখ্যা বসিয়ে দেওয়া মানে বানিয়ে বলা। The model said one thing; the empty stadium said another — এবার মডেল কিছুই বলেনি, স্টেডিয়ামও নীরব, আর সেই নীরবতাই ছিল একমাত্র সৎ উত্তর।
কীভাবে ক্রিকেটের ডেটা-অর্থনীতি দাঁড়িয়ে আছে, সেটা না বুঝলে এই নীরবতার ওজন বোঝা যায় না। একটা বল গড়ানোর মুহূর্ত থেকে বাজারে তার দাম নির্ধারণ পর্যন্ত ডেটা চার-পাঁচটা ধাপ পেরোয়। প্রথমে স্টেডিয়ামের স্কোরিং সফটওয়্যার, তারপর ball-by-ball ফিড, তারপর স্ট্রাকচার্ড এক্সট্রাকশন — যেখানে কাঁচা বর্ণনার ভেতর থেকে তথ্যবিন্দু, নাম আর সময়-সংবেদনশীলতা আলাদা করে বের করা হয়। এর পরের ধাপে মডেল, আর সবার শেষে বাজি-বাজার, ফ্যান্টাসি লিগ আর ব্রডকাস্ট গ্রাফিক্স। স্ট্রাকচার্ড স্তরে একটা ছোট ফাঁক মানে তার উপরের সব স্তর ভেঙে পড়া। গত সপ্তাহের ফাইলটা ছিল ঠিক সেই ফাঁকের প্রমাণ: এক্সট্রাকশন স্তর নীরবে ব্যর্থ হয়েছে, কিন্তু দেখতে বৈধ একটা ফাঁকা কাঠামো ফেরত দিয়েছে।
ফুটবল আর ক্রিকেটের ডেটা-কাঠামোয় একটা মৌলিক পার্থক্য আছে, যা এই আলোচনায় জরুরি। ফুটবল প্রবাহিত — নব্বই মিনিট ধরে বল ঘুরতে থাকে, আর সেখান থেকে xG, PPDA, দূরত্ব-কাভারেজের মতো সংখ্যা বেরোয়। ক্রিকেট বিচ্ছিন্ন — প্রতিটা বল একটা আলাদা ঘটনা, তাই ডেটা তত্ত্বগতভাবে আরও শৃঙ্খলাবদ্ধ। এশিয়ার বাজারে — বাংলাদেশ, ভারত, পাকিস্তান — এই ball-by-ball ডেটার চাহিদা বিশাল, কারণ ফ্যান্টাসি আর লাইভ বাজি প্রায় পুরোটাই এর উপর দাঁড়িয়ে। কিন্তু শৃঙ্খলাবদ্ধ হওয়া মানে ভুলের সুযোগ কম নয়, কারণ একটা বলের ভুল ডেটাও হাজারো সিদ্ধান্তে ছড়িয়ে পড়তে পারে।

আমার কাজে ফাঁকা কাঠামো সবচেয়ে বিপজ্জনক, কারণ সেটা দেখতে প্রায় ভরা কাঠামোর মতোই। কেউ যদি অন্ধভাবে টেমপ্লেট পূরণ করত, তাহলে হয়তো একটা খেলোয়াড়ের স্ট্রাইক রেট বসিয়ে দিত, একটা দলের র্যাঙ্কিং বানিয়ে দিত, আর পাঠক বিশ্বাস করত সংখ্যাটা স্টেডিয়াম থেকে উঠে এসেছে। অথচ ওই সংখ্যার পিছনে কোনো স্পর্শ নেই, কোনো বল নেই, কোনো মুহূর্ত নেই। পেশাদার পরিবেশে এই প্রলোভনটা ভয়ংকর, কারণ খালি ঘর দেখতে সবাই অস্বস্তি বোধ করে।
প্রথম মডেল বানিয়েছিলাম ২০১৮ সালে, সিডনির বেডরুমে, সতেরো বছর বয়সে। রাশিয়া বিশ্বকাপের ১,২৪৮টা শট Excel-এ বসিয়ে xG বের করেছিলাম। ফ্রান্স আর্জেন্টিনাকে ৪-৩ হারাল, অথচ ফ্রান্সের xG ছিল ২.১ আর আর্জেন্টিনার ১.৪। ক্রোয়েশিয়া ফাইনাল পর্যন্ত গেল ১০.৮ xG থেকে ১৪ গোল তুলে, যার ছয়টা সেট-পিস থেকে। চোখ যা দেখছিল, সংখ্যা তা বলছিল না। সেদিন থেকে আমার একটাই নিয়ম: I do not trust a number I cannot trace to a touch. প্রতিটা সংখ্যাকে সেই মুহূর্ত পর্যন্ত পিছিয়ে নিয়ে যেতে হবে, যেখানে একটা ব্যাট একটা বল স্পর্শ করেছিল।
২০২২ সালে কাতার বিশ্বকাপে আর্জেন্টিনা সৌদি আরবের কাছে ১-২ হারল। আর্জেন্টিনার xG ছিল ২.৩, শট পনেরোটা, আর অফসাইড দশবার। সৌদি আরবের xG মাত্র ০.৩, তবু দুটো গোল। প্যানিক না করে আমি ছত্রিশটা শট আর অফসাইড-ট্র্যাপ ধীরে ধীরে রিভিউ করেছিলাম। সংখ্যা বলছিল, আর্জেন্টিনার উচ্চ রক্ষণরেখা ঝুঁকিপূর্ণ, কিন্তু ফলাফলটা ছিল ভ্যারিয়েন্স। Small samples are loud; large samples are honest — একটা রাতের চিৎকারকে কখনো প্রবণতা ভেবে বসা যায় না।
এই নিয়মই আমাকে শেখাল, ডেটার অখণ্ডতা মানে শুধু সংখ্যা ঠিক থাকা নয়, সংখ্যার জন্ম-ইতিহাস ঠিক থাকা। ২০২০ সালে যখন স্টেডিয়াম ফাঁকা হয়ে গেল, তখন দেখলাম বান্ডেসলিগার প্রথম পাঁচ রাউন্ডে হোম উইন শতাংশ ৪৩.৩ থেকে ৩৩.৩-তে নেমে এসেছে। Empty stadiums did not erase home advantage; they exposed its source. সুবিধাটা কোথা থেকে আসছিল, ভিড় চলে যেতেই সেটা টের পাওয়া গেল। সেই সময় থেকেই আমি আমার বাজি-মডেলগুলোতে কনটেক্সট-অ্যাডজাস্টমেন্ট যোগ করা শুরু করি।

এখন প্রশ্ন হলো, এই ধরনের অখণ্ডতা রক্ষায় প্রযুক্তি কী দিতে পারে। এখানেই ব্লকচেইনের প্রসঙ্গ আসে। ভাবুন, প্রতিটা বলের ডেটা গড়ানোর সঙ্গে সঙ্গে একটা হ্যাশ হয়ে অপরিবর্তনীয় লেজারে বসে যাচ্ছে। কে, কখন, কোন স্কোরিং সিস্টেম থেকে সংখ্যাটা লিখেছে — সব রেকর্ড হয়ে যাচ্ছে, আর পরে কেউ চুপচাপ একটা স্ট্রাইক রেট বদলে দিতে পারবে না। ফ্যান্টাসি খেলোয়াড়, বাজি-বাজারের অ্যানালিস্ট আর সংবাদমাধ্যম — সবাই একই সূত্র থেকে একই সত্য যাচাই করতে পারবে। খেলাধুলার ডেটা-অর্থনীতির জন্য এটা সত্যিই বড় লাভ।
কিন্তু এখানেই আমার দ্বিতীয় সতর্কতা। A transfer rumor is a prior; the medical is the posterior. ব্লকচেইন প্রমাণ করতে পারে ডেটাটা কে লিখেছে আর কখন লিখেছে, কিন্তু এটা প্রমাণ করতে পারে না যে ডেটাটা আসলে সঠিক। যদি স্কোরিং সিস্টেমেই ভুল বসানো হয়, তাহলে ব্লকচেইন সেই ভুলটাকে অমর করে দেবে — নিখুঁতভাবে সংরক্ষিত একটা মিথ্যা। গত সপ্তাহের ফাঁকা ফাইলটার মতো পরিস্থিতিতে ব্লকচেইন কোনো সাহায্য করত না, কারণ ব্লক করার মতো কোনো ডেটাই জন্মায়নি। অখণ্ডতার আসল কাজটা করতে হয় স্ট্রাকচার্ড স্তরে, তথ্যবিন্দু তোলার মুহূর্তে।
আর এখানেই আমার পেশার সবচেয়ে বড় চাপ। সবাই সবসময় একটা উত্তর চায়। পত্রিকার পাতা ভরতে হয়, ক্লায়েন্ট সকালের ব্রিফে একটা ভবিষ্যদ্বাণী চায়, সোশ্যাল মিডিয়া একটা হট-টেক দাবি করে। এই চাপেই সবচেয়ে বেশি ভুয়া বিশ্লেষণ জন্ম নেয়। কেউ একটা ফাঁকা টেমপ্লেট দেখলে সেটা পূরণ করতে বাধ্য বোধ করে, কারণ খালি জায়গা রাখাটা ব্যর্থতার মতো মনে হয়। অথচ ডেটা-সাক্ষরতার প্রথম পাঠটা হওয়া উচিত নীরব থাকতে শেখা।
আমার বিশ্ববিদ্যালয়ের সেই পুরনো পেপারটায় লিখেছিলাম, ডেটা কখনো মিথ্যা বলে না, কিন্তু প্রেক্ষাপট তার মানে বদলে দেয়। আজ একটু যোগ করব: ডেটা অনুপস্থিত থাকলে সেটা জানানোও এক ধরনের বিশ্লেষণ, আর প্রায়ই সেটাই সবচেয়ে দরকারি। এই দৃষ্টিতে গত সপ্তাহের ব্যর্থ ফাইলটা আসলে একটা সফল পরীক্ষা। পাইপলাইন নীরবে ভেঙেছে, কিন্তু সেটা ধরা পড়েছে কারণ কেউ ফাঁকা কাঠামোকে ভরা কাঠামো ভাবতে রাজি হয়নি। সিস্টেমে একটা বাধ্যতামূলক নিয়ম থাকা দরকার — তথ্যবিন্দুর তালিকা খালি থাকলে সেটা জোরে আওয়াজ করে ব্যর্থ হবে। সফটওয়্যার জগতে এটাকে বলে fail loudly, আর ক্রিকেট বিশ্লেষণেও এই নীতির খুব দরকার।
এখন ভাবুন, ২০২৬ সালের যুক্তরাষ্ট্র-কানাডা-মেক্সিকো বিশ্বকাপ। তিন দেশ, ডজন ডজন ভেন্যু, প্রতি বলের লাইভ ডেটা, আর তার সঙ্গে রিয়েল-টাইম বাজি-বাজার। এই মাপের ইভেন্টে একটা নীরব পাইপলাইন ব্যর্থতা মানে হাজার হাজার ভুল সিদ্ধান্ত। তাই আমি যখন আমার লাইভ xG মডেল বানাচ্ছি, তখন প্রতিটা ইনপুটের পিছনে একটা যাচাইযোগ্য সূত্র রাখছি। কোনো সংখ্যা যদি স্টেডিয়ামের কোনো স্পর্শে পৌঁছে না যায়, তাহলে সেটা আমার টেবিলে জায়গা পাবে না।
আগামী দিনগুলোয় ক্রিকেটের ডেটা-অর্থনীতি দুই দিকে টানাটানি করবে। একদিকে ব্লকচেইনের মতো অপরিবর্তনীয় লেজার ডেটার সূত্রকে আরও শক্ত করবে, অন্যদিকে কৃত্রিম বুদ্ধিমত্তা আরও বেশি ফাঁকা কাঠামো তৈরি করবে, যেগুলো দেখতে ভরা মনে হবে। এই দুইয়ের মাঝখানে দাঁড়িয়ে একজন বিশ্লেষকের একটাই কাজ থাকতে পারে — যে সংখ্যা সে নিজে যাচাই করতে পারে না, সেটা বলা থেকে বিরত থাকা। প্রশ্নটা তাই প্রযুক্তির নয়, আমাদের নিজেদের: তথ্য না থাকলে আমরা কি উত্তর দিতে অস্বীকার করার সাহস রাখি?

