খালি পেলোড: গলফের ডেটা পাইপলাইন যখন 'গলফ' ছাড়া আর কিছুই ফেরত দেয় না
**সংক্ষিপ্ত উত্তর:** গলফ ডোমেইনের একটি Stage-1 ডেটা পেলোডে শিরোনাম, ইনফরমেশন পয়েন্ট ও এনটিটি শূন্য ছিল; কেবল 'golf' লেবেল টিকে ছিল। ফলে আট-মাত্রার বিশ্লেষণ চালানো যায়নি, এবং সঠিক পদক্ষেপ ছিল পেলোডটি পুনরায় ingest করা — অনুমানভিত্তিক বিশ্লেষণ নয়। **মূল তথ্য:** - Stage-1 পেলোডে ইনফরমেশন পয়েন্ট শূন্য, শিরোনাম N/A, এনটিটি তালিকা খালি; কেবল Domain Label: golf বহাল ছিল। - সম্ভাব্য তিন কারণ: পেওয়াল বা জাভাস্ক্রিপ্ট রেন্ডারিং, আপস্ট্রিম স্কিমা-ডিফল্ট ট্রাঙ্কেশন, অথবা বিষয়বস্তুহীন সোর্স। - বিশ্লেষণে একমাত্র 'উচ্চ' ঝুঁকি ছিল তথ্য-সততা; খেলাধুলার ঝুঁকি অমূল্যায়নযোগ্য থেকে গেছে। - ব্যাংকবন্ধু কাপের পার্স US$400,000; BPGA ঘরোয়া সপ্তাহের বিজয়ীর চেক তার বহু গুণ কম। - ওয়েম্বলি ২০২১-এ ইতালির লাইভ PPDA ছিল ১০.২, ব্রডকাস্ট-ডেরাইভড ফিগার ১২.১ — প্রায় ১৫ শতাংশ ফারাক। **সূত্র:** Stage-2 ডিপ প্রফেশনাল অ্যানালাইসিস — গলফ ডোমেইন (অভ্যন্তরীণ নথি); নথিটিতে প্রকাশতারিখের কোনো নির্দিষ্ট অ্যাঙ্কর নেই। **সম্ভাব্য ফলো-আপ প্রশ্ন:** প্রশ্ন: পেলোড খালি থাকলে বিশ্লেষণ কেন করা যায় না? উত্তর: কারণ স্ট্রোকস গেইনড, OWGR বা কোর্স-সেটআপ — কোনো সংখ্যাই ইনপুটে নেই, ফলে প্রতিটি সিদ্ধান্ত অনুমানে পরিণত হবে। প্রশ্ন: পুনরায় ingest করা হবে কখন? উত্তর: চলতি প্রকাশনা চক্রের মধ্যেই, কারণ গলফের খবরের মূল্য ২৪ থেকে ৭২ ঘণ্টায় ধারালোভাবে কমে যায়। প্রশ্ন: খালি ঘর কি কম ঝুঁকি বোঝায়? উত্তর: না — খালি ঘর মানে অজানা, এবং 'কম ঝুঁকি' আর 'অজানা' এক জিনিস নয়।
রাত সাড়ে এগারোটায় ম্যানচেস্টারের ফ্ল্যাটে ল্যাপটপ খুলে যে JSON অবজেক্টটি সামনে এল, তার শিরোনাম ঘরে লেখা N/A। ইনফরমেশন পয়েন্টস — একটা খালি অ্যারে। কোর ভিউপয়েন্ট — ফাঁকা। এনটিটিস — শূন্য। টাইম সেনসিটিভিটি — 'মূল্যায়ন করা হয়নি'। আটটি বিশ্লেষণ-মাত্রার মধ্যে সাতটি স্কিমার ডিফল্ট মানে থেমে গেছে, আর একটি মাত্র বেঁচে আছে: Domain Label: golf।
কার্মিটোলা গলফ ক্লাবে একবার আমি ওয়াকিং স্কোরারের পিছনে পুরো নয় হোল হেঁটেছিলাম। হাতে পেন্সিল, কাঁধে রেডিও, আর কাগজের কার্ডে হোল-বাই-হোল স্কোর। যদি সেই স্কোরার আমাকে একটা কার্ড ধরিয়ে দিত যাতে শুধু 'গলফ' লেখা, আমি সেটা দিয়ে লিডারবোর্ড বানাতাম না। আমি ফিরে গিয়ে জিজ্ঞেস করতাম — কার নাম, কোন হোল, কত স্ট্রোক। আজ রাতে পাইপলাইন ঠিক সেই কার্ডটাই ফেরত দিয়েছে। একটা লেবেল। শূন্য স্কোর।
গলফের ডেটা ইকোসিস্টেম ফুটবলের তুলনায় পাতলা, এবং এই পাতলাত্ব কোনো রোমান্টিক সীমাবদ্ধতা নয় — এটা কাঠামোগত। প্রিমিয়ার লিগের এক ম্যাচে যত ইভেন্ট লগ হয়, একটা পুরো এশিয়ান ট্যুর সপ্তাহে তার ভগ্নাংশও পাওয়া যায় না। অফিসিয়াল স্কোরিং আর ব্রডকাস্ট গ্রাফিক্স এখানে দুটি আলাদা সত্য বলে চালিয়ে দেওয়া হয়। ব্যাংকবন্ধু কাপের পার্স US$400,000 — এশিয়ান ট্যুরের মানে বড়, কিন্তু BPGA-র ঘরোয়া সপ্তাহগুলোর বিজয়ীর চেক তার বহু গুণ কম। যে ট্যুরগুলো গলফের গভীরতা তৈরি করে, তাদের ডেটা অবকাঠামো সবচেয়ে দুর্বল। এই অসমতাটাই ঠিক করে দেয় কোন গলফ-গল্প যাচাই করা যায় আর কোনটা যায় না।
এই পটভূমিতে ডেটা পাইপলাইনের কাজ কী, সেটা স্পষ্ট করা দরকার। প্রথম স্তর সোর্স থেকে বাক্য-স্তরের তথ্য তুলে আনে — শিরোনাম, দাবি, সংখ্যা, এনটিটিস। দ্বিতীয় স্তর সেই কাঁচামালের ওপর আট-মাত্রার বিশ্লেষণ দাঁড় করায়: প্রযুক্তিগত, খেলোয়াড়-ফর্ম, টুর্নামেন্ট-সিস্টেম, প্রশাসন, নিয়ম ও সরঞ্জাম, ঝুঁকি, জন-আখ্যান, শিল্প-সংক্রমণ। দ্বিতীয় স্তর প্রথম স্তরের সন্তান। বাবা যদি খালি হাতে ফেরেন, সন্তান শূন্য ঘরে ভূত দেখতে পায় না — সে পারে শুধু ঘরটার নকশা এঁকে দিতে, আর জানিয়ে দিতে কী কী ফিল্ড ভরতে হবে।

আজ ঠিক সেটাই ঘটেছে। শূন্য ইনফরমেশন পয়েন্ট, শূন্য এনটিটিস, শিরোনামহীন সোর্স। সম্ভাব্য তিনটি কারণ, সবই অনুমান: সাবস্ক্রিপশন-দেয়াল বা জাভাস্ক্রিপ্ট-রেন্ডার করা পেজ যেটা স্ক্র্যাপার পড়তে পারেনি; আপস্ট্রিমে ট্রাঙ্কেশন, অর্থাৎ স্কিমা ডিফল্ট করেই পেলোড হ্যান্ড-ওভার; কিংবা সত্যিই বিষয়বস্তুহীন সোর্স — একটা স্কোরবোর্ড উইজেট বা ফটো ক্যাপশন, যাকে ডোমেইন ক্লাসিফায়ার ভুল করে গলফ বলে ট্যাগ করেছে। তিনটির প্রথম দুটি মানে ভেতরের নিবন্ধটি মূল্যবান হতে পারে এবং আবার ingest করা দরকার। তৃতীয়টি মানে আইটেমটির বিশ্লেষণমূল্য শূন্য এবং কিউ থেকে বাদ দেওয়া উচিত। সঠিক পদক্ষেপ একটি re-run, কোনো বিকল্প বিশ্লেষণ নয়।
আট-মাত্রার ছকটা পূর্ণ করে দিলে কী হতো, সেটা ভাবা যায়। SG: Off the Tee ঘরে N/A, কোর্স-ফিটে N/A, OWGR-এ N/A, ঝুঁকি ম্যাট্রিক্সে N/A। সমস্যা হলো, ছকটা দেখতে পুরো। শিরোনাম আছে, উপশিরোনাম আছে, বোল্ড আছে, 'সম্ভাব্যতা: নিশ্চিত (পর্যবেক্ষিত)' ধরনের কলাম আছে। ফরম্যাট সম্পূর্ণতা আর প্রমাণ সম্পূর্ণতা এক জিনিস নয়, এবং গলফ সাংবাদিকতায় এই দুটোকে গুলিয়ে ফেলাই সবচেয়ে বড় বিপদ। একটি শূন্য-প্রমাণ পেলোড যদি আট-মাত্রার প্রতিবেদনের আকারে নিচের দিকে চলে যায়, পাঠক ফরম্যাটের গাম্ভীর্য থেকে বিষয়বস্তুর গাম্ভীর্য অনুমান করে নেন। এটাই সবচেয়ে দক্ষ মিথ্যা — যেটা কোনো বাক্য ভাঙে না, শুধু খালি ঘরগুলোকে কর্তৃত্বের ভঙ্গিতে সাজিয়ে দেয়।
গত বছর ওয়েম্বলিতে দুটো সেমিফাইনাল দেখেছি — ছয় জুলাই ইতালি ১-১ স্পেন, সাত জুলাই ইংল্যান্ড ২-১ ডেনমার্ক। £২৪০ খরচ করে বলের দিকে না তাকিয়ে বিল্ড-আপ সিকোয়েন্স হাতে চার্ট করেছি। ইতালির লাইভ PPDA বেরোল ১০.২; পরে ব্রডকাস্ট-ডেরাইভড ফিগার এল ১২.১। লাইভ PPDA আর ব্রডকাস্ট PPDA একই স্কোরলাইন পরে থাকা দুটি আলাদা খেলা। এই ১৫ শতাংশ ফাঁক আমার মাথায় ঢুকে গেছে, কারণ গলফে একই ফাঁক আরও বড় এবং আরও অদৃশ্য। একজন ওয়াকিং স্কোরারের কার্ড আর টিভির গ্রাফিক্স — একই খেলোয়াড়, একই হোল, দুটি আলাদা সংখ্যা। কেউ ভুল করছে না; দুজনে দুটি ভিন্ন জিনিস মাপছে।
শূন্য পেলোডের সাথে এর সম্পর্কটা সরাসরি। ডেটা টেবিলে ফাঁকা ঘর কখনোই 'নিরাপদ' অর্থ বহন করে না — ফাঁকা মানে অজানা, আর অজানাকে 'কম ঝুঁকি' পড়তে শুরু করলে বিশ্লেষণ শেষ। আজকের রিপোর্টের ঝুঁকি ম্যাট্রিক্সে ছয়টি ক্যাটাগরি ফাঁকা, আর একটিমাত্র ক্যাটাগরি ভরা: তথ্য-সততা। রেটিং 'উচ্চ', কারণটা প্রতিযোগিতামূলক নয়, জ্ঞানতাত্ত্বিক। খেলাধুলার ঝুঁকি অমূল্যায়নযোগ্য থেকে গেছে, কারণ ঝুঁকি ঝুলিয়ে দেওয়ার জন্য কোনো বিষয়ই নেই।
টুর্নামেন্ট-স্তরের প্রশ্নটাও একইভাবে ঝুলে আছে। একটা Signature Event-এর জয় আর একটা opposite-field ইভেন্টের জয় বিশ্লেষণগতভাবে তুলনীয় নয়, কারণ OWGR পয়েন্টের স্কেল ফিল্ড-স্ট্রেংথের সাথে বদলায়। কোন ইভেন্ট, কোন সপ্তাহ, কত পার্স — এগুলোর একটাও না জানলে একটা ফলাফলের ওজন মাপা যায় না। নিয়ম ও সরঞ্জামের মাত্রাটাও অপ্রযোজ্য: Ball Rollback, CT লিমিট, গ্রুভ-রুল নজির — কোনোটাই আলোচনার টেবিলে নেই, কারণ আলোচনার টেবিলটাই নেই।
এখানেই গলফের একটা পুরনো ধাঁধা ফিরে আসে। কার্মিটোলার বল-বয় থেকে সিদ্দিকুর রহমান — বাংলাদেশের প্রথম এশিয়ান ট্যুর খেলোয়াড়। একই কাঠামো, একই ক্লাব, একই পথ। তারপর দুই দশকে দ্বিতীয় সিদ্দিকুর এলেন না। কেন, সেটা কেউ জানে না। এবং এখানেই আমার পেশাগত নীতি: যেখানে প্রমাণ নেই, সেখানে সবচেয়ে বিপজ্জনক কাজটি হলো করুণ কাঠামোগত ব্যাখ্যা বানিয়ে ফেলা — 'ক্যাডি-টু-প্রো পাইপলাইন ভেঙে গেছে কারণ...'। স্যাম্পল সাইজ ঢাল নয়; এ হলো টর্চ, যা নিজের পক্ষপাতের দিকে তাক করো। শূন্য নমুনায় টর্চ নিভে যায়, আর অন্ধকারে যা দেখা যায় সেটা তথ্য নয়, কল্পনা।
২০১৮ সালে ৬৪ ম্যাচের xG মডেল বানিয়ে ফ্রান্সের কাছে ধরা পড়েছিলাম — ১০.৯ xG থেকে ১৪ গোল, বেঞ্জামিন পাভার্দের ২৫ গজের ভলি সহ। ২০২২-এ মরক্কোর সাত ম্যাচে প্রতিপক্ষের গড় ০.৮১ xG, PPDA ১৯.৮, আর আমার মডেল আর্জেন্টিনাকে ৮৭ শতাংশ জেতার সম্ভাবনা দিয়েছিল; ২২ নভেম্বর সৌদি আরব ২-১ জিতল। ৬৪ ম্যাচের xG মডেল ব্যর্থ হয়নি; ফ্রান্স একটি এজ কেস খুঁজে পেয়েছিল। কিন্তু ওই দুই ঘটনার শিক্ষা এক নয়। ফ্রান্সের ঘটনায় আমার কাছে ডেটা ছিল, ভুল হয়েছিল ব্যাখ্যায় — তাই ভ্যারিয়েন্স লেয়ার নতুন করে বানানো সম্ভব হয়েছিল। আজকের ঘটনায় ডেটাই নেই। ভুল ব্যাখ্যা সংশোধন করা যায়; অনুপস্থিত ডেটার ওপর দাঁড়ানো ব্যাখ্যা কখনো ভাঙে না, শুধু বংশবিস্তার করে।
শিল্প-সংক্রমণের মাত্রাটা এই কারণেই ফাঁকা থেকে যায়। গলফে এখন সবচেয়ে শক্তিশালী চ্যানেল হলো পুঁজির স্তর — PIF, PGA Tour-এর বাণিজ্যিক সত্তায় SSG-র অংশীদারত্ব, TGL-ধরনের ফরম্যাট পরীক্ষা। কোনো ব্র্যান্ড, ব্রডকাস্টার বা বিনিয়োগকারীর নাম পেলোডে না থাকলে এই চ্যানেলের একটাও তীর আঁকা যায় না। মনে রাখতে হবে, এখানে অনুপস্থিতি মানে 'অপ্রাসঙ্গিক' নয়; অনুপস্থিতি মানে ইনপুট নেই।

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

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