हर खाना भरा, हर आंकड़ा गायब: क्रिकेट डेटा पाइपलाइन की खाली रिपोर्ट का ऑडिट
**मुख्य उत्तर**: एक क्रिकेट डेटा विश्लेषण रिपोर्ट स्कीमा के हिसाब से पूरी थी, लेकिन उसमें शून्य सूचना-बिंदु थे। केवल डोमेन लेबल cricket_world भरा था; शीर्षक, सारांश और इकाइयाँ N/A थीं। टेम्पलेट-निर्देश वाक्यांशों से संकेत मिलता है कि लेख का शरीर निष्कर्षण चरण तक पहुँचा ही नहीं। **मुख्य तथ्य**: - रिपोर्ट के आठ अध्यायों में सैंतीस खाने भरे दिखे, पर मैच, खिलाड़ी, टीम या सौदे से जुड़ी जानकारी शून्य रही। - भरा हुआ एकमात्र फ़ील्ड डोमेन लेबल cricket_world था; शीर्षक और स्रोत दोनों N/A दर्ज हैं। - "identify from the information points above" जैसे वाक्यांश मॉडल के नल नहीं, अनभरे टेम्पलेट के डिफ़ॉल्ट हैं। - रिपोर्ट ने एकमात्र उच्च-स्तरीय जोखिम खाली डिकंस्ट्रक्शन के डाउनस्ट्रीम संचरण को बताया। - सुझाया गया उपाय: शून्य सूचना-बिंदु या N/A शीर्षक वाले चरण-एक आउटपुट को स्वतः अस्वीकार किया जाए। **स्रोत**: Stage-2 Deep Analysis Report, क्रिकेट डोमेन। इनपुट में प्रकाशन तिथि उपलब्ध नहीं है, इसलिए कोई पूर्ण तिथि उद्धृत नहीं की गई। **संबंधित प्रश्नोत्तर**: प्रश्न: क्या रिपोर्ट में कोई क्रिकेट निष्कर्ष निकाला गया? उत्तर: नहीं, क्योंकि शून्य सूचना-बिंदु होने पर कोई भी खेल, वाणिज्यिक या शासन संबंधी निष्कर्ष अटकल बन जाता। प्रश्न: विफलता पाइपलाइन की थी या लेख खाली था? उत्तर: दोनों पाठ संभव हैं, और इन्हें केवल मॉडल से स्वतंत्र अंतर्ग्रहण समय-चिह्न ही अलग कर सकता है। प्रश्न: इस मामले में सबसे बड़ा जोखिम क्या है? उत्तर: खाली रिपोर्ट नहीं, बल्कि उसका आगे संचरण — जहाँ भरा हुआ स्कीमा गढ़े हुए आंकड़े को वैधता दे देता है।
पिछले हफ़्ते मेरी मेज़ पर एक रिपोर्ट आई। आठ अध्याय। हर अध्याय में तालिका, हर तालिका में पंक्तियाँ, हर पंक्ति के आगे वही एक वाक्यांश — "अपर्याप्त जानकारी, आकलन संभव नहीं।" शीर्षक के आगे N/A, सारांश खाली, लेखक का रुख N/A, स्रोत की गुणवत्ता अनआंकी। और सबसे नीचे, पूरे आत्मविश्वास के साथ, एक पंक्ति — "डोमेन लेबल: cricket_world।"
मेरी पहली प्रवृत्ति गिनना थी। दूसरी, फिर से गिनना। आठ अध्यायों में भरे दिखने वाले खानों की संख्या सैंतीस थी। उन खानों में ऐसी जानकारी की संख्या, जो किसी मैच, किसी खिलाड़ी, किसी टीम या किसी सौदे से जुड़ी हो — शून्य।

यह दस्तावेज़ खाली था, लेकिन उसने भरी हुई रिपोर्ट का पूरा कपड़ा पहन रखा था। क्रिकेट पत्रकारिता में मैंने जो सबसे महँगी गलती देखी है, वह गलत नंबर नहीं है। वह भरा हुआ खाना है जिसके पीछे कोई हरकत नहीं।
संदर्भ: दो चरण, और बीच में एक खाई
पिछले चौदह साल में मैंने क्रिकेट के जो कागज़ औदिट किए हैं — नीलामी की बही, रणजी का स्कोरकार्ड, प्रसारण का अनुबंध — उन सबमें एक बात समान रही: कागज़ दो हिस्सों में बँटा होता है। एक हिस्सा वह जो भरने के लिए छपा आता है, दूसरा वह जो भरने की मजबूरी नहीं है। नीलामी के कागज़ में "कीमत" वाला कॉलम छपा आता है। "खेले गए मिनट" वाला कॉलम कोई नहीं छापता।
डेटा पाइपलाइन भी दो चरणों में चलती है, और यह रिपोर्ट उसी ढाँचे से आई थी। पहला चरण — निष्कर्षण: लेख का शीर्षक, स्रोत, प्रकार, सारांश, लेखक का रुख, सूचना-बिंदु, इकाइयाँ, समय-संवेदनशीलता, स्रोत-गुणवत्ता। दूसरा चरण — विश्लेषण: प्रारूप, खिलाड़ी की तकनीक, टीम का परिदृश्य, लीग का वाणिज्यिक तंत्र, शासन, जोखिम, सार्वजनिक कथा, उद्योग-संचरण।
इस ढाँचे में एक इकाई है जिसे सूचना-बिंदु कहते हैं। यही परमाणु है। खिलाड़ी के चरण-वार आँकड़े, फ्रैंचाइज़ी के पर्स का बँटवारा, बोर्ड के मीडिया-अधिकार का चक्र — सब इसी परमाणु के यौगिक हैं। परमाणु न हों तो यौगिक नहीं बनते। आठ अध्यायों वाली वह रिपोर्ट शून्य परमाणु पर खड़ी थी, और उसने खुद यह मान लिया।
2026 में यूनिवर्सिटी ऑफ़ हैदराबाद में जब मैंने आईपीएल के बॉल-बाय-बॉल डेटा से चरण-आधारित मॉडल बनाया था, तब सबसे पहला नियम यही सीखा था: हर नतीजे के पीछे एक परमाणु होता है, और अगर परमाणु नहीं है तो नतीजा नहीं है। भुवनेश्वर कुमार की 17–20 ओवर की 7.05 इकॉनमी उस सीज़न एक बहुत साफ़ नंबर थी — केकेआर के खिलाफ़ एलिमिनेटर में हार के बाद भी। लेकिन वह नंबर अकेला कुछ नहीं कह रहा था; उसके बगल वाला कॉलम — सनराइज़र्स के टॉप-ऑर्डर की स्ट्राइक-रेट — खाली पड़ा था। वही खालीपन मायने रखता था।
कोर: तीन चरण, और वह विसंगति जो औसत में नहीं आई
मैंने पहले पहला चरण खोला। सवाल सीधा था — लेख का शरीर निष्कर्षण तक पहुँचा या नहीं?
रिपोर्ट में दो वाक्यांश बार-बार लौटते हैं: "identify from the information points above" और "judge from the source fields of the information points"। ध्यान से पढ़िए। ये मान नहीं हैं, ये निर्देश हैं। एक मॉडल जिसने लेख पढ़ा है और उसमें कुछ नहीं पाया, वह लिखता है "उपलब्ध नहीं"। एक खाली टेम्पलेट, जिसे लेख का शरीर मिला ही नहीं, वह खुद को निर्देश लिखता है। रिपोर्ट ने इस अनुमान को "मध्यम-उच्च" भरोसे पर रखा। मैं इसे उससे ऊँचा रखूँगा, और वजह कागज़ में ही छपी है।
वजह यह है कि डोमेन लेबल भरा हुआ है — cricket_world। अगर वर्गीकरण मॉडल के पास सिर्फ़ शीर्षक या कीवर्ड पहुँचा था, तो लेबल ठीक यही आता। लेकिन शीर्षक भी N/A है। यानी विफलता शीर्षक-निष्कर्षण से भी पहले हुई। लेख का ऑब्जेक्ट खुद खाली था, या फ़ेच ही नहीं हुआ। यह पाइपलाइन की खराबी है, लेख का खालीपन नहीं।
दूसरा चरण। इकाइयाँ नहीं निकलीं, क्योंकि निकालने के लिए जिन सूचना-बिंदुओं का हवाला दिया गया है, वह सूची ही खाली है। यहाँ एक चीज़ ध्यान देने योग्य है जो पहली नज़र में तकनीकी लगती है और असल में पेशेवर है: समय-संवेदनशीलता "चरण एक में आँकी नहीं गई" लिखा है, "कम" नहीं लिखा। स्रोत-गुणवत्ता "अनआंकी" है, "खराब" नहीं। जिसने भी यह रिपोर्ट बनाई, उसने खालीपन को शून्य नहीं बनाया। उसने खालीपन को खालीपन घोषित किया।
तीसरा चरण — और यहीं असली कहानी है। आठ विश्लेषण-अध्याय, सब टेम्पलेट रूप में, सब शून्य घोषित। किसी ने निष्कर्ष गढ़कर खाने नहीं भरे। यह वह चीज़ है जो इस रिपोर्ट को उसके अपने विषय से ज़्यादा दिलचस्प बनाती है।
अब वह विसंगति जो औसत में नहीं आई। एक खाली रिपोर्ट, जो स्कीमा के हिसाब से पूरी है। तालिकाओं की संख्या सही, पंक्तियों की संख्या सही, JSON वैध। कोई भी संरचनात्मक जाँच इसे पास कर देगी। शून्य सूचना-बिंदु संरचनात्मक विफलता नहीं है — वह अर्थगत विफलता है। और संरचना जाँचने वाले उपकरण अर्थ नहीं पढ़ते।
यह क्रिकेट एनालिटिक्स की सबसे पुरानी बीमारी है, बस नए कपड़े में। 2026 की नीलामी में मैंने मनीष पांडे का ₹11 करोड़ वाला खाना भरा हुआ देखा था। उसके बगल में खाली खाना था — रिप्लेसमेंट वैल्यू, चरण-वार स्प्लिट, असल में खेले गए मिनट। सनराइज़र्स फ़ाइनल तक पहुँची और आठ विकेट से हारी। नतीजे ने भरे हुए खाने को और भर दिया; प्रक्रिया वाला कॉलम अनपढ़ा रह गया। मेरे साइडबार ने प्रक्रिया और नतीजे को अलग रखने की कोशिश की थी। सीनियर प्रोड्यूसर ने मुझे "डेटा गर्ल" कहा था। मैंने चार पन्नों का ऑडिट भेजा था, और वह छपा था।
2026 में जब यूएई में स्टेडियम खाली थे, तब भी यही सबक लौटा। मैंने न्यूट्रल-वेन्यू और ओस का मॉडल बनाया, और दिल्ली कैपिटल्स के खिलाफ़ 17 रन से हारे क्वालिफ़ायर-2 का मेमो लिखा। नतीजा साफ़ था, कारण साफ़ नहीं। मेमो में यही निकला कि चेस-प्लान ने चरण-विशिष्ट मैचअप नज़रअंदाज़ किए थे। मैंने उसे किस्मत नहीं कहा, क्योंकि किस्मत कोई कॉलम नहीं है।
उसी बीमारी का बड़ा रूप यह रिपोर्ट है। नीलामी की बही में "कीमत" भरा है, "मिनट" खाली। रणजी के स्कोरकार्ड में "रन" भरे हैं, "किस इकॉनमी पर कितने ओवर" खाली। प्रसारण अनुबंध में "राशि" भरी है, "प्रति-मैच दर्शक" खाली। और अब एक पाइपलाइन में आठ खाने भरे हैं और उनमें हवा है।
रणजी का उदाहरण यहाँ बेकार नहीं है। भारत वह आख़िरी देश है जहाँ टेस्ट के दर्शक अब भी स्टेडियम तक आते हैं, और फिर भी घरेलू टूर्नामेंट का कवरेज सिर्फ़ नॉकआउट के आसपास गाढ़ा होता है। यह अंतर कॉलम-इंच और स्ट्रीम-काउंट में नापा जा सकता है, लेकिन हम उसे शिकायत में नापते हैं। एक खाली कॉलम शिकायत नहीं है, वह मापनी है।
विपरीत पक्ष: शायद पाइपलाइन निर्दोष थी
मुझे अपने ही निष्कर्ष के खिलाफ़ केस बनाना है, क्योंकि सहसंबंध कारण नहीं होता और मैंने यह नियम किसी और के लिए नहीं, अपने लिए बनाया है।
संभव है कि लेख सचमुच खाली था। दो लाइन का वायर स्निपेट। फ़ोटो कैप्शन। स्कोरकार्ड का अधूरा टुकड़ा। ऐसी सामग्री में सूचना-बिंदु निकलते ही नहीं, चाहे निष्कर्षण कितना भी अच्छा हो। रिपोर्ट खुद यह संभावना "कम" भरोसे पर दर्ज करती है। अगर ऐसा है, तो पाइपलाइन ने ठीक काम किया और नतीजा "कोई नतीजा नहीं" है — जो एक वैध नतीजा है।
इन दो पाठों को अलग करने का एक ही सस्ता रास्ता है: अंतर्ग्रहण का समय-चिह्न, जो मॉडल से स्वतंत्र रूप से भरे। यह एक पंक्ति का बदलाव है और यही तय करेगा कि विफलता प्लंबिंग की थी या स्रोत के पतलेपन की। बिना उस चिह्न के, मेरा और रिपोर्ट का दोनों का अनुमान अटकल है। और जब मैं किसी अनुमान पर भरोसा करता हूँ, तो मैं उसके साथ उसका नमूना भी लिखता हूँ। यहाँ नमूना एक है।
दूसरा विपरीत बिंदु, और यह ज़्यादा ज़रूरी है। रिपोर्ट ने जो एकमात्र जोखिम "उच्च" दर्ज किया, वह खाली रिपोर्ट नहीं है। वह अगली रिपोर्ट है। खाली रिपोर्ट जो रोक दी गई, वह अच्छा दिन है। खाली रिपोर्ट जो आगे चली गई — वैल्यूएशन मेमो में, चयन-नोट में, क्लाइंट डैशबोर्ड में — वह पीछे स्कीमा लगाए एक गढ़ा हुआ आंकड़ा बन जाती है।
क्रिकेट एनालिटिक्स का सबसे खतरनाक फेलियर मोड गायब नंबर नहीं है। वह नंबर है जो इसलिए आ गया क्योंकि एक खाना भरना था।
सुर्खी से पहले मिलान, मिलान से पहले रसीदें। इस रिपोर्ट में सुर्खी नहीं थी, इसलिए मिलान पहले किया। और मिलान का नतीजा यह है कि जो सबसे भरोसेमंद दिखता है — पूरा भरा हुआ स्कीमा — वही सबसे कम भरोसेमंद निकला।
टेकअवे: गेट, और नवंबर का सवाल
समाधान जटिल नहीं है। चरण-एक के हर आउटपुट पर एक स्वचालित द्वार चाहिए: अगर सूचना-बिंदु शून्य हैं, या शीर्षक N/A है, तो आइटम प्रकाशन के लिए अवरुद्ध। मनुष्य के पढ़ने से पहले। यह एक इकाई-परीक्षण है, नीति नहीं। और यही इस पूरे मामले की सबसे सस्ती सीख है।
आगे का सवाल यह है कि ऐसी विफलता कब सबसे महँगी पड़ती है। रेगुलर सीज़न में पाइपलाइन सबसे तेज़ चलती है — लगातार मुक़ाबले, बॉल-बाय-बॉल फ़ीड, चोट की सूचनाएँ, यात्रा-लॉग, और पृष्ठभूमि में नीलामी की तैयारी। अप्रैल में जब ऐसा सिस्टम फेल होता है, किसी को पता नहीं चलता, क्योंकि खाना भरा हुआ दिखता है। नवंबर में जब फेल होता है — नीलामी की मेज़ पर — कोई एक कॉलम के लिए करोड़ों चुका देता है।
मैंने इस रिपोर्ट से कोई क्रिकेट निष्कर्ष नहीं निकाला, क्योंकि निकालने के लिए सामग्री नहीं थी। जो निकाला, वह प्रक्रिया का निष्कर्ष है: एक स्कीमा जो अपनी पूर्णता से अपनी खालीपन छिपा रहा था। अगली बार जब कोई डैशबोर्ड मुझे हरा-भरा दिखे, मेरा पहला सवाल यही होगा — इस हरे रंग के पीछे कितने परमाणु हैं?
खाली शीट ने झूठ नहीं बोला। स्कीमा ने बोला।
