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

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

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

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