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

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