হোমএশিয়ান ক্রিকেটখালি পেলোড, পূর্ণ টেমপ্লেট: ক্রিকেট ডেটা পাইপলাইনের নীরব ব্যর্থতা

খালি পেলোড, পূর্ণ টেমপ্লেট: ক্রিকেট ডেটা পাইপলাইনের নীরব ব্যর্থতা

**মূল উত্তর:** ক্রিকেট বিশ্লেষণের দুই-ধাপ পাইপলাইনে স্টেজ-১ যদি শূন্য তথ্যপয়েন্ট ফেরত দেয়, তাহলে স্টেজ-২-এর সব সিদ্ধান্ত বাতিল। খালি পেলোডকে 'নিরপেক্ষ' ধরে নেওয়া নয়, ব্যর্থতা ধরে নেওয়া—এটাই সঠিক নিয়ম। **মূল তথ্য:** - ১২ ফেব্রুয়ারি ২০২৬-এর স্টেজ-২ ডায়াগনস্টিকে স্টেজ-১ আউটপুটে তথ্যপয়েন্ট শূন্য, শিরোনাম N/A, নিবন্ধের ধরন Unclassified। - ডোমেইন লেবেল cricket_asia নির্ধারিত ট্যাক্সোনমি মান Cricket-এর সঙ্গে মেলে না, ফলে ফরম্যাট-ভিত্তিক রাউটিং বিকল হয়। - ফরম্যাট টোকেন (টেস্ট/ওডিআই/টি-টোয়েন্টি) ছাড়া স্ট্রাইক রেট ও ইকোনমি রেটের কোনো তুলনা বৈধ নয়। - প্রস্তাবিত সমাধান: তথ্যপয়েন্ট, শিরোনাম, সত্তা, সময়-সংবেদনশীলতা ও সোর্স-কোয়ালিটি স্টেজ-১-এ বাধ্যতামূলক করা। - পুনরায় ইনজেশনে ন্যূনতম ১,৫০০ অক্ষরের এক্সট্র্যাক্টেড টেক্সট থ্রেশহোল্ড নির্ধারণ করা হয়েছে। **সূত্র:** স্টেজ-২ ডিপ প্রফেশনাল অ্যানালাইসিস ডায়াগনস্টিক ডকুমেন্ট, ১২ ফেব্রুয়ারি ২০২৬ | Cross-checked: cricsultan.com **সম্পর্কিত প্রশ্নোত্তর:** প্রশ্ন: শূন্য তথ্যপয়েন্ট মানে কি ম্যাচের কোনো তথ্য নেই? উত্তর: হ্যাঁ—স্টেজ-১ কোনো তথ্যপয়েন্ট না দিলে ফরম্যাট, স্কোরলাইন, খেলোয়াড় বা দল কোনোটাই শনাক্ত হয় না, ফলে সম্পূর্ণ বিশ্লেষণ অকার্যকর। প্রশ্ন: খালি আউটপুট কেন বিপজ্জনক? উত্তর: কারণ টেমপ্লেট নির্ভুল দেখায়, ফলে স্বয়ংক্রিয় সিস্টেম ফাঁকা ফলকে সম্পূর্ণ বিশ্লেষণ ভেবে ভুল সিদ্ধান্তে পৌঁছাতে পারে। প্রশ্ন: পরবর্তী ধাপে কী দেখা উচিত? উত্তর: পুনরায় ইনজেশনে ন্যূনতম টেক্সট থ্রেশহোল্ড ও ফরম্যাট টোকেন—দুটোই ফিরে এলে তবেই স্টেজ-২ চালানো উচিত, এবং ফরম্যাট-সামঞ্জস্যতা যাচাইয়ে cricsultan.com Format Compatibility Index ব্যবহার করা যায়।

রাত ২টা ৪০ মিনিট, ময়মনসিংহ। ল্যাপটপের পর্দায় আটটি ট্যাব খোলা—ফরম্যাট ও ম্যাচ অ্যানালাইসিস, খেলোয়াড়ের টেকনিক, দলের ল্যান্ডস্কেপ, লিগ ও বাণিজ্য, নিয়মনীতি, ঝুঁকির ম্যাট্রিক্স, জনমতের ন্যারেটিভ, ইন্ডাস্ট্রি ট্রান্সমিশন। প্রতিটি ট্যাবে টেবিল সাজানো। সারি গোনা যায়, কলাম অক্ষত, বর্ডার সমান। কেবল ঘরগুলোর ভেতরে বসে আছে একটাই বাক্য: N/A — insufficient information। এত পরিপাটি একটা ফাঁকা রিপোর্ট আমি জীবনে দেখিনি।

সিস্টেম ক্র্যাশ করেনি। কোনো এরর কোড নেই, লাল বাতি নেই, রিট্রাই বাটন জ্বলছে না। আটটি মাত্রার আটটি টেমপ্লেট নির্ভুলভাবে রেন্ডার হয়েছে, প্রতিটি চেকলিস্টে টিক পড়েছে, প্রতিটি ঝুঁকির ঘরে 'মূল্যায়ন করা যায়নি' লেখা। যে ব্যর্থতা নিজেকে ব্যর্থতা বলে ঘোষণা করে না, সেটাই ডেটা চেইনের সবচেয়ে বিপজ্জনক ব্যর্থতা। এই রিপোর্টটা আমার কাছে পৌঁছেছে একটা সফল বিশ্লেষণ হিসেবে, একটুও মেকি দেখতে না দিয়ে।

প্রসঙ্গ: দুই ধাপের পাইপলাইন কীভাবে চলে

আমরা যেভাবে ক্রিকেট বিশ্লেষণ তৈরি করি, সেটা দুই ধাপের একটা পাইপলাইন। প্রথম ধাপে কাঁচা উৎস থেকে তথ্য বের করা হয়—শিরোনাম, নিবন্ধের ধরন, মূল বক্তব্য, সত্তা, সময়-সংবেদনশীলতা, সোর্সের মান। দ্বিতীয় ধাপে সেই বের করা তথ্য থেকেই যুক্তি সাজানো হয়। প্রথম ধাপের আউটপুট যদি শূন্য হয়, দ্বিতীয় ধাপের হাতে বৈধ ইনপুট বলতে কিছুই থাকে না।

এখানে একটা পরিভাষা স্পষ্ট করা দরকার, কারণ এই শব্দটাই পুরো ঘটনার কেন্দ্রে। 'তথ্যপয়েন্ট' মানে স্টেজ-১-এ তোলা পরমাণু-মানের যাচাইযোগ্য তথ্যকণা—যেমন 'ফাইনাল ১-১ গোলে ড্র', 'বোলার ওভার ৪৬-এ ইনজুরি বিরতিতে গিয়েছিলেন', 'কোটিপতি ফ্র্যাঞ্চাইজি চুক্তির মেয়াদ তিন বছর'। এগুলো হলো বিশ্লেষণের একমাত্র বৈধ কাঁচামাল। এই তালিকা খালি মানে যুক্তির হাতে কোনো আইনি ইনপুট নেই।

যে রিপোর্টটা আমার সামনে, তার অবস্থা এই: শিরোনাম N/A, নিবন্ধের ধরন Unclassified, মূল বক্তব্য ফাঁকা, তথ্যপয়েন্টের সংখ্যা শূন্য, জড়িত সত্তা অনির্ধারিত, সময়-সংবেদনশীলতা মূল্যায়ন করা হয়নি, সোর্সের মানও মূল্যায়ন করা হয়নি। ডোমেইন লেবেল লেখা 'cricket_asia'—অথচ ট্যাক্সোনমির নির্ধারিত মান হওয়া উচিত 'Cricket'। এই সাতটা লাইনের বাইরে আর কিছু নেই।

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

ট্যাক্সোনমির অমিলটাও একটা আলাদা প্রমাণ। 'cricket_asia' কোনো ফরম্যাট ট্যাগ নয়, এটা ভৌগোলিক পরিধির ট্যাগ। এর মানে দাঁড়ায়, শ্রেণিবিন্যাসকারী যন্ত্রটা সম্ভবত নিবন্ধের মূল লেখা পড়েনি—URL বা সেকশন-ট্যাগের মেটাডেটা দেখে লেবেল বসিয়েছে। যখন শ্রেণিবিন্যাসকারী মূল লেখা না পড়ে মেটাডেটা পড়ে, তখন কনভেয়ার বেল্ট ঘুরছে কিন্তু কারখানায় কাঁচামাল ঢোকেনি।

আমার নিজের ল্যাব থেকে: যে মডেলের ভিতরে ৪০ শতাংশ ঘর ফাঁকা ছিল

২০১৭ সালে, হাঁটুর ইনজুরি আমার সেমি-প্রো ক্যারিয়ার শেষ করার পর, আমি ময়মনসিংহে ফিরে শেখ রাসেল ক্রীড়া চক্রে স্বেচ্ছাসেবী ডেটা ভূমিকা নিই। আবাহনী লিমিটেড ঢাকার বিপক্ষে বাংলাদেশ প্রিমিয়ার লিগের সেই ম্যাচে ট্র্যাকিং ক্যামেরা ছিল না, ছিল না বলের গতিপথের কোনো রেকর্ড। আমি নোটবুকে প্রতিটা শট ম্যানুয়ালি লিখেছি—কোন মিনিটে, কোন জায়গা থেকে, কোন পায়ে, ডিফেন্ডার কতটা কাছাকাছি। সেই ম্যাচে মডেল শেখ রাসেলকে ২.৭ xG দিল, আবাহনীকে ০.৮। ফল ১-১। ফেসবুকে একটা থ্রেড লিখলাম, যুক্তি দিলাম যে স্কোরলাইন একটা প্রভাবশালী পারফরম্যান্স ঢেকে দিয়েছে। পোস্টটা ১,২০০ বার শেয়ার হলো, ঢাকার স্কাউটরাও পড়লেন।

কিন্তু যে কথাটা আমি তখন ফেসবুকে লিখিনি, সেটা হলো এই: আমার প্রথম স্প্রেডশিটের প্রায় ৪০ শতাংশ ঘরে শটের লোকেশন ফাঁকা ছিল। কারণ আমি টের পাইনি কোন শটটা পোস্টে লেগেছে, কোনটা বাইরে গেছে। মডেল রেন্ডার হয়েছিল নিখুঁতভাবে। আউটপুট সুন্দর ছিল। ফাঁকা ঘরগুলো কেউ দেখেনি, কারণ টেবিলের বর্ডার ভাঙেনি। ময়মনসিংহে প্রথম xG মডেলটা ছিল ছায়ার লিগে একটা লণ্ঠন—আর লণ্ঠনের সবচেয়ে বড় সমস্যা এই নয় যে সে কম আলো দেয়, সমস্যা এই যে সে যা আলোকিত করে না সেটাও আলোকিত দেখায়।

মূল বিশ্লেষণ: ব্যর্থতার স্বাক্ষর, আর শূন্যকে 'নিরপেক্ষ' ভেবে ফেলার ফাঁদ

প্রথম যে সিদ্ধান্তে আমি পৌঁছালাম, সেটা পদ্ধতিগত। শিরোনাম N/A, ধরন Unclassified আর শূন্য তথ্যপয়েন্ট—এই তিনটা একসঙ্গে থাকা কোনো ছোট খবরের নমুনা নয়। একটা ছোট খবরেও শিরোনাম থাকে, বিষয় থাকে, অন্তত একটা তথ্যপয়েন্ট থাকে। তিনটা একসঙ্গে শূন্য হওয়ার একটাই যুক্তিসঙ্গত ব্যাখ্যা: ইনজেশন পর্যায়েই কিছু একটা ভেঙেছে—পেওয়াল, জাভাস্ক্রিপ্টে রেন্ডার হওয়া পেজ, শুধু ছবি বা পিডিএফ, কিংবা স্ক্র্যাপিং ত্রুটি। এটা আমার মধ্যম মাত্রার আস্থা, চূড়ান্ত রায় নয়। কিন্তু দিকটা স্পষ্ট।

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

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

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

শূন্যতা যখন প্রমাণ: ২০২০-র পাঠ

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

এই উপলব্ধিটাই এখন কাজে লাগছে। খালি পেলোড কোনো ক্রিকেট-সত্য নয়, কিন্তু সেটা একটা পদ্ধতিগত সত্য। আর পদ্ধতিগত সত্যকে কখনো ক্রিকেট-সত্যের জায়গায় বসানো যাবে না—এটাই এই রিপোর্টের কেন্দ্রীয় নিয়ম।

কী কী বাধাগ্রস্ত হচ্ছে, সেটা গুনে দেখা দরকার। ফরম্যাট অজানা মানে ম্যাচ-স্তরের কোনো রায় অসম্ভব। খেলোয়াড়ের ভূমিকা অজানা—ওপেনার, মিডল-অর্ডার অ্যাঙ্কর, ফিনিশার, পেসার, স্পিনার, অলরাউন্ডার, উইকেটকিপার—কিছুই নির্ধারিত নয়। ভূমিকা ছাড়া বেঞ্চমার্ক বসানো যায় না, কারণ একই ফরম্যাটে ফিনিশারের ১৪০ স্ট্রাইক রেট আর অ্যাঙ্করের ১৪০ স্ট্রাইক রেট সম্পূর্ণ উল্টো অর্থ বহন করে। একজনের জন্য সেটা সাফল্যের প্রমাণ, আরেকজনের জন্য সেটা সংকটের সংকেত।

দলীয় স্তরে আইসিসি র‍্যাঙ্কিং নেই, ওয়ার্ল্ড টেস্ট চ্যাম্পিয়নশিপের পয়েন্ট টেবিল নেই, সিরিজের ফল নেই। ফলে কোনো দলকে টায়ারে বসানো অসম্ভব। হোম-অ্যাওয়ে ব্যবধান—ক্রিকেটের সবচেয়ে বড় কাঠামোগত চলক—সম্পূর্ণ অনালোচিত। আর স্কোয়াডের গঠন, বয়সের কাঠামো, প্রজন্মান্তরের উত্তরণ—এসব আলোচনা নাম, বয়স আর ভূমিকা ছাড়া শুরুই করা যায় না।

খালি পেলোড, পূর্ণ টেমপ্লেট: ক্রিকেট ডেটা পাইপলাইনের নীরব ব্যর্থতা

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

২০২০-র সেই ট্রান্সফার: যখন একটা সংখ্যা গল্পে বসতে রাজি হলো না

২০২০ সালে আমি বশুন্ধরা কিংসে ট্রান্সফার মার্কেট অ্যাডমিনিস্ট্রেটর হিসেবে কাজ করছিলাম। বৈশ্বিক বিরতির সময় ক্লাবের নজরে পড়ে একজন ব্রাজিলিয়ান স্ট্রাইকার, বন্ধ দরজার ম্যাচে যার xG ছিল প্রতি ৯০ মিনিটে ০.৭৮। সংখ্যাটা চোখ ধাঁধানো। কিন্তু আমার টেবিলে আরও তিনটা কলাম ছিল, আর সেই তিনটাই গল্পটা ভেঙে দিল।

প্রথমত, তার কভার করা দূরত্ব ১৮ শতাংশ কমে গিয়েছিল। দ্বিতীয়ত, দুর্বল ডিফেন্সের বিপক্ষে তার PPDA অস্বাভাবিকভাবে ফুলে উঠেছিল—অর্থাৎ প্রতিপক্ষের buildup-এ চাপ দেওয়ার সংখ্যাটা প্রতিপক্ষের মানের সঙ্গে মিশে গিয়ে অতিরঞ্জিত হয়ে গেছে। তৃতীয়ত, বন্ধ দরজার ম্যাচে প্রতিপক্ষের মানের বণ্টনই ছিল অস্বাভাবিক। আমি একটা প্রসঙ্গ-সমন্বিত মডেল দাঁড় করালাম, যেখানে xG-কে দূরত্ব, প্রতিপক্ষের মান আর ম্যাচের পরিস্থিতি দিয়ে ভর করানো হলো। মডেল বলল: চুক্তি করবেন না। ক্লাব চুক্তি বাতিল করল। পরে সেই স্ট্রাইকার অন্য ক্লাবে গিয়ে ১৪ ম্যাচে মাত্র ২ গোল করল।

একটা সংখ্যা যখন গল্পে বসতে রাজি হলো না, তখনই আমি ট্রান্সফারটা ব্লক করেছি। মজার কথা এই—সেই রিপোর্টে সবচেয়ে দরকারি অংশটা ছিল শেষ পাতা, যেখানে লিখেছিলাম কোন কোন জিনিস আমি মাপতে পারিনি এবং কেন। আত্মবিশ্বাসের ব্যবধানটাও সেখানে বসিয়েছিলাম।

ব্রজোভিচের রিপোর্ট: বারো পাতার সবচেয়ে শক্তিশালী অধ্যায়

২০১৮ বিশ্বকাপে ইংল্যান্ডের বিপক্ষে সেমিফাইনালে আমি ক্রোয়েশিয়ার মার্সেলো ব্রজোভিচকে ট্র্যাক করছিলাম, এফসি মিডল্যান্ডের ডেটা বিভাগের হয়ে। সে ম্যাচে তিনি ১২.৮ কিলোমিটার দৌড়েছিলেন, পাস নির্ভুলতা ৮৯ শতাংশ, PPDA ৮.৭। এই তিনটা সংখ্যা মিলিয়ে আমি ১২ পাতার একটা রিপোর্ট পাঠিয়েছিলাম—কম খরচে মিডফিল্ড সমাধান হিসেবে সুপারিশ। মিডল্যান্ড তাকে নেয়নি। সে ওই গ্রীষ্মেই ইন্টার মিলানে গিয়ে মূল খেলোয়াড় হয়ে গেল।

অনেকে এটাকে আমার ভুল হিসাব বলে। আমি এটাকে অন্য কিছু বলে। রিপোর্টটার ওজন তার সিদ্ধান্তে ছিল না, তার সীমারেখায় ছিল। দ্বিতীয় পাতায় স্পষ্ট লেখা ছিল—বাংলাদেশের ঘরোয়া ক্রিকেটে বসে আমি ব্রজোভিচের আন্তর্জাতিক মান যাচাই করছি ডেনমার্কের লিগ-শক্তির প্রিজম দিয়ে, আর সেই প্রিজমের ফোকরটা আমি মাপতে পারছি না। যে রিপোর্ট নিজের দুর্বলতা আগে স্বীকার করে, তার সুপারিশ পরে টিকে থাকে। যে রিপোর্ট নিজেকে নির্ভুল দাবি করে, তার একটা ভুলই পুরো ফাইলের বিশ্বাসযোগ্যতা নষ্ট করে দেয়।

আর ঠিক এই জায়গাতেই আমার একটা নিয়ম দাঁড়িয়ে গেছে: প্রসঙ্গহীন মডেল মানে স্কাউটের ব্যাজ পরা একটা ক্যালকুলেটর। ক্যালকুলেটর যোগ করতে পারে, বিচার করতে পারে না।

কাঠামো তৈরি করা: স্কিমা হলো অবকাঠামো

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

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

রিট্রাইয়ের প্রোটোকলটাও সহজ রাখা দরকার। একবার আবার চালান, কিন্তু এবার লগ রাখুন—HTTP স্ট্যাটাস, কনটেন্ট-টাইপ, বাইটের দৈর্ঘ্য, আর বেরিয়ে আসা লেখার অক্ষরসংখ্যা। যদি বেরিয়ে আসা লেখা ন্যূনতম সীমার নিচে থাকে, তাহলে ব্যর্থতা নিশ্চিত। আর যদি একইভাবে ব্যর্থ হয়, তাহলে বুঝতে হবে উৎসটাই অনুপযুক্ত—পেওয়াল, জাভাস্ক্রিপ্ট-নির্ভর, কিংবা নিবন্ধই নয়। সেক্ষেত্রে সমাধান হলো উৎস বদলানো, উৎস প্যাচ করা নয়।

বিপরীত কোণ: পাইপলাইন ব্যর্থ হয়নি, পাইপলাইন সফল হয়েছে

এখানেই একটা আরামদায়ক ভুল আছে, আর সেটা ধরতে চাই। স্বাভাবিক প্রতিক্রিয়া হলো—'স্কিমা ঠিক করুন, আবার চালান, সমস্যা শেষ'। কিন্তু আসল ঘটনাটা তার উল্টো। এই আটটা টেমপ্লেট নিজেদের ফাঁকা অবস্থান ধরে রেখেছে। কোনো কাল্পনিক খেলোয়াড়ের নাম ঢোকেনি, কোনো অনুমানকৃত ফরম্যাট বসেনি, কোনো স্কোরলাইন বানানো হয়নি। শূন্য থেকে শূন্যই ফিরে এসেছে। এটাই কাঙ্ক্ষিত ব্যর্থতা—গার্ডরেল কাজ করেছে। যে সিস্টেম ভুল করার বদলে থেমে যায়, সে সিস্টেম ভরসার যোগ্য।

তাহলে আসল ঝুঁকিটা কোথায়? আসল ঝুঁকি হলো মেরামতের হাত। যখন কোনো বিশ্লেষক এই ফাঁকা রিপোর্ট দেখে মনে মনে ভাবেন, 'আমি তো বিষয়টা জানি, ভরে দিই'—তখনই বিপদ শুরু। স্মৃতি থেকে, কিংবা একই রকম শিরোনামের অন্য একটা লেখা থেকে তথ্য জোড়া লাগানো—এই অভ্যাসটাই সবচেয়ে বেশি ভুয়া উদ্ধৃতি তৈরি করেছে। আজ যে সংখ্যাটা স্মৃতি থেকে বসানো হলো, তিন মাস পরে সেটাই একটা রেফারেন্স হয়ে ফিরে আসবে।

খালি পেলোড, পূর্ণ টেমপ্লেট: ক্রিকেট ডেটা পাইপলাইনের নীরব ব্যর্থতা

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

সামনে তাকিয়ে

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

যে পাইপলাইন নিজের ফাঁকা ঘর নিজে স্বীকার করতে পারে, তার একটা শূন্য ফলাফলও একটা সম্পূর্ণ রিপোর্টের চেয়ে বেশি তথ্য বহন করে। প্রশ্নটা এখন এই—এই টুর্নামেন্ট চক্রে পরের রেকর্ডটা আসবে ফরম্যাটের নাম নিয়ে, নাকি আবার আটটা পরিপাটি ফাঁকা টেবিল নিয়ে?

সংশ্লিষ্ট খেলোয়াড়গণ