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

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

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