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



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