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

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

২০২০ সালে লকডাউনে বসে আমি ৬১২টি পুনরারম্ভ ম্যাচ হাতে কোড করি — বুন্দেসলিগা, প্রিমিয়ার লিগ, লা লিগা, সিরি আ। ঘরের মাঠে জয়ের হার ৪৩.১ শতাংশ থেকে ৩৪.৬ শতাংশে নামে, ঘরের দলের গড় গোল ১.৫২ থেকে ১.৩১-এ, এবং ঘরের দলের পাওয়া পেনাল্টি প্রায় অর্ধেক হয়ে যায়। ফলাফল ছাপা হলো “The Crowd Was Worth 0.4 Goals” শিরোনামে। সেই মাসেই ঢাকার একটি স্পোর্টস ডেস্ক নয়জন লেখককে ছাঁটাই করে। আমি একটি ফ্রি রবিবার ডিসকর্ড ক্লিনিক খুলে দিই — FBref পড়তে শেখা, পোর্টফোলিও নতুন করে গড়া। এক বছরের মধ্যে তাদের ছয়জন ফ্রিল্যান্স করছিলেন।
২০২১ সালে সেই খালি স্টেডিয়ামের গবেষণা আমাকে সিঙ্গাপুরের একটি ডেটা ভেন্ডরে জুনিয়র অ্যানালিস্টের চেয়ারে বসায়। সেখানে ইউরো ২০২০-এর ৫১টি ম্যাচ কোড করি, ইতালির শিরোপা জয়ের পথে ১৩ গোল আর ৪ গোল খাওয়া লিখে রাখি। এরপর কাতার ২০২২-এর জন্য মরক্কো বরাদ্দ পড়ে। ওয়ালিদ রেগ্রাগির দল সাত ম্যাচে ৫ গোল খায়, ৪টি ক্লিন শিট রাখে, একটি আত্মঘাতী গোল দেয়, প্রতি ৯০ মিনিটে মাত্র ১.১৪ xG ছাড়ে, অথচ প্রতি ম্যাচে গড়ে ৪.৭টি শট অন টার্গেটের মুখোমুখি হয়। আমি এটির নাম দিই Low-Block Resilience Index। আরবি ও বাংলায় অনূদিত হয়ে সেটি প্রায় তিন লাখ পাঠকের কাছে পৌঁছায়। নাম দেওয়ার কারণ স্পষ্ট: পাঠক যেন আমার সঙ্গে তর্ক না করে, মডেলের সঙ্গে তর্ক করে।

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