खाली फ़ीड, भरा स्कोरबोर्ड: क्रिकेट एनालिटिक्स में चुपचाप फेल होती रिपोर्ट
**मुख्य उत्तर:** क्रिकेट एनालिटिक्स की सबसे बड़ी चूक ग़लत मॉडल नहीं, चुपचाप ख़ाली लौटने वाली रिपोर्ट है: जब प्राथमिक बॉल-बाय-बॉल डेटा नहीं आता, तो व्युत्पन्न फ़ील्ड N/A दिखाकर फ़ॉर्मेट पूरा कर देती हैं और कोई एरर दर्ज नहीं होता। **मुख्य तथ्य:** - 21 मई 2017, इंडियन प्रीमियर लीग फ़ाइनल: मुंबई इंडियंस 129/8 ने राइज़िंग पुणे सुपरजायंट 128/8 को 1 रन से हराया। - 24 अक्टूबर 2021, ICC पुरुष टी20 विश्व कप, दुबई: पाकिस्तान ने भारत को 10 विकेट से हराया; शाहीन अफ़रीदी 3/31। - इंडियन प्रीमियर लीग 2020 (यूएई): जसप्रीत बुमराह के 27 विकेट सार्वजनिक रिकॉर्ड में दर्ज हैं। - व्युत्पन्न फ़ील्ड — एंटिटी और सोर्स-क्वालिटी — प्राथमिक डेटा ख़ाली होने पर एरर नहीं, N/A लौटाते हैं। - 2017 फ़ाइनल के सोलहवें-अठारहवें ओवर में 11 डॉट गेंदें लेखक के बॉल-बाय-बॉल लॉग का आंकड़ा है, सार्वजनिक नहीं। **स्रोत:** सार्वजनिक मैच रिकॉर्ड (इंडियन प्रीमियर लीग, 21 मई 2017; ICC, 24 अक्टूबर 2021; इंडियन प्रीमियर लीग, 2020) तथा लेखक का बॉल-बाय-बॉल लॉग। प्रकाशन तिथि: 13 अगस्त 2026। **संबंधित प्रश्नोत्तर:** प्रश्न: फ़ेज़ ग्रिड किस स्थिति में भरोसेमंद नहीं रहता? उत्तर: जब मैच बारिश से कटा हो, डीआरएस के एक फ़ैसले पर टिका हो या नमूना बारह-पंद्रह गेंद का हो, क्योंकि वहाँ परिणाम वेरिएंस तय करता है, ढाँचा नहीं। प्रश्न: 24 अक्टूबर 2021 की हार का एनालिटिक्स-स्तर का कारण क्या था? उत्तर: शाहीन अफ़रीदी की तीन अलग लंबाइयों के सामने तीन भारतीय बल्लेबाज़ों का एक ही ग़लत विकल्प, और पाकिस्तान की पारी में जोखिम का लगभग शून्य बजट। प्रश्न: साइलेंट फेल्योर का सबसे सीधा तकनीकी हल क्या है? उत्तर: ख़ाली इनपुट पर N/A के बजाय एरर फेंकना, ताकि पूरी पाइपलाइन रुके और व्युत्पन्न फ़ील्ड प्राथमिक डेटा की जगह न ले।
खाली फ़ीड, भरा स्कोरबोर्ड: क्रिकेट एनालिटिक्स में चुपचाप फेल होती रिपोर्ट
रात 11:42 की वह तालिका
रात 11:42 बजे मुंबई के एक फ्रेंचाइज़ी दफ़्तर में लैपटॉप की स्क्रीन रिफ़्रेश हुई। मैच ख़त्म हुए पैंतालीस मिनट हो चुके थे। मॉडल ने अपना आउटपुट दे दिया — छह ख़ाने, और हर ख़ाने में रन, विकेट, रिक्वायर्ड रेट, डॉट-बॉल प्रतिशत और कंट्रोल प्रतिशत। कॉलम पूरे थे। फ़ॉर्मेट साफ़ था। फ़ाइल में एक भी एरर मैसेज नहीं था। और हर ख़ाने में एक ही चीज़ लिखी थी: N/A।
अगली सुबह सात बजे वही फ़ाइल कोच की मेज़ पर पड़ी थी। किसी ने नहीं पूछा कि छह ख़ानों वाला यह ढाँचा इतना ख़ाली क्यों है। जिस चीज़ का आकार सही हो, उस पर सवाल कम उठते हैं। मैंने भीड़ हटाई, सच अंदर आया — लेकिन उस रात सच यह था कि मॉडल ने जवाब दिया ही नहीं, और फ़ाइल फिर भी "सफल" दिखी। कई साल मुझे लगता रहा कि क्रिकेट एनालिटिक्स की सबसे बड़ी दिक्कत ग़लत नंबर हैं। अब लगता है कि बड़ी दिक्कत वे नंबर हैं जो ग़लत नहीं, बस ख़ाली हैं — और ख़ाली होने की वजह से किसी की नज़र में नहीं आते।
मॉडल की शर्तें, पहले सौ शब्दों में
मेरा फ़ेज़ ग्रिड एक ही सवाल का जवाब देता है: बीस ओवर के बजट को छह ख़ानों में बाँटा जाए तो पैसा कहाँ ख़र्च हुआ और कहाँ बचाया गया। इसकी तीन शर्तें हैं, और इन्हें पहले ही लिख देना ज़रूरी है। पहली — ग्रिड तभी पढ़ा जा सकता है जब ओवर पूरे हुए हों; बारिश से कटा मैच, डीआरएस के एक फ़ैसले पर टिका मैच, या बारह-पंद्रह गेंद का नमूना इस ढाँचे से बाहर है, वहाँ वेरिएंस बोलता है, ढाँचा नहीं। दूसरी — पर्यावरण और इरादा अलग-अलग दर्ज होते हैं; ओस, तापमान और टॉस को कभी इरादे के ख़ाते में नहीं डाला जाता। तीसरी — हर रिपोर्ट पर एक वर्ज़न टैग चिपका रहता है, क्योंकि मॉडल कभी पूरा नहीं होता और पूरा होने का इंतज़ार करना एक और तरह की चूक है।

इस सिस्टम में हर फ़ील्ड दो परतों में बँटी होती है। प्राथमिक परत वह है जो बॉल-बाय-बॉल से सीधे आती है — रन, गेंद, विकेट, लंबाई, लाइन। व्युत्पन्न परत वह है जो प्राथमिक से निकलती है — एंटिटी कौन है, सोर्स कितना भरोसेमंद है, किस ख़ाने ने मैच मोड़ा। जब प्राथमिक परत ख़ाली आती है, तो व्युत्पन्न परत N/A लौटा देती है। एरर नहीं फेंकती। यही बग है। एक ख़ाली इनपुट ऊपर की सारी प्रक्रिया से गुज़र जाता है और नीचे "फ़ॉर्मेट में पूरा, जानकारी में शून्य" पैकेट बनकर निकलता है, और क्योंकि उसका आकार सही है, वह आगे भी जाता है।
जो नंबर इस टुकड़े में मेरे अपने बॉल-बाय-बॉल लॉग से आए हैं, वे मेरे लॉग के हैं। जो सार्वजनिक रिकॉर्ड में दर्ज हैं — स्कोर, अंतर, तारीख़ — वे सार्वजनिक रिकॉर्ड के हैं। दोनों को मैंने अलग रखा है, और नीचे तीनों मामलों में यह फ़र्क़ साफ़ रहेगा।
पहला मामला: 2026 का फ़ाइनल, जहाँ ग्रिड ने काम किया
2026 के आईपीएल फ़ाइनल की एक बात सार्वजनिक रिकॉर्ड में दर्ज है — मुंबई इंडियंस 129/8, राइज़िंग पुणे सुपरजायंट 128/8, अंतर एक रन। मैच के बाद जो कहानी बनी, वह आख़िरी ओवर की कहानी थी: ग्यारह रन चाहिए थे, दबाव, किनारा, और एक रन से हार। उस रात मैंने हर गेंद को छह ख़ानों में कोड किया, क्योंकि तब मैं तीसरे साल का स्टैटिस्टिक्स का छात्र था और मेरे पास बताने के लिए एक ही चीज़ थी — क्रम।
वह क्रम यह कहता है: पुणे की पारी के सोलहवें और अठारहवें ओवर के बीच ग्यारह डॉट गेंदें गईं। यह मेरे लॉग का आंकड़ा है, सार्वजनिक आंकड़ा नहीं। मेरे कोडिंग में जसप्रीत बुमराह की वह शाम 4-0-26-2 दर्ज है और उन ओवरों में क्षेत्ररक्षण की स्थिति तीन बार बदली गई। फ़ेज़ मैप कह रहा था चौदह से ऊपर; मैच कुछ और कह रहा था। आख़िरी ओवर कोई मोड़ नहीं था, वह उस क़र्ज़ का भुगतान था जो सोलहवें से अठारहवें ओवर के बीच लिया गया था।
इस मामले में ग्रिड ने काम किया, क्योंकि डेटा था। और यही वजह है कि यह मामला असली समस्या नहीं है। असली समस्या वहाँ है जहाँ ग्रिड ख़ाली लौटता है और कोई शिकायत दर्ज नहीं करता। उस रात मुझे दो फ्रेंचाइज़ी एनालिस्ट्स का रिप्लाई मिला और एक मुंबई के डिजिटल एडिटर का वीकेंड डेटा शिफ़्ट — यानी सिस्टम ने सही आउटपुट को इनाम दिया। इनाम का सिस्टम ख़ाली आउटपुट को क्या देता है, यह मुझे चार साल बाद पता चला।
दूसरा मामला: 2026 का ख़ाली स्टेडियम, और एक फ़ील्ड जो झूठ बोल गई
2026 का आईपीएल यूएई में खेला गया, बिना दर्शकों के। मेरे लिए वह एक प्राकृतिक प्रयोग था — भीड़ का शोर, जो हर मॉडल में एक अनियंत्रित चर होता है, अचानक शून्य हो गया था। मैंने साठों मैच लॉग किए: ओस, टॉस, तापमान, और शोर की अनुपस्थिति। मेरे लॉग में दुबई के रात्रि मैचों में लक्ष्य का पीछा करने वाली टीमों का जीत प्रतिशत बासठ के आसपास आया। बुमराह के सत्ताईस विकेट सार्वजनिक रिकॉर्ड में हैं; उनकी डेथ-ओवर इकॉनमी का ओस के साथ बदलना मेरे मॉडल का नतीजा है — जब ओस बिंदु बाईस डिग्री सेल्सियस के पार गया, इकॉनमी 6.1 से 7.4 की ओर खिसकी।
यहाँ ग्रिड का सबक यह था कि पर्यावरण और इरादा अलग रखे जाएँ। ओस गेंदबाज़ का दोष नहीं है, और टॉस कप्तान की प्रतिभा नहीं है। लेकिन उस टूर्नामेंट के दौरान जो रिपोर्टें टीम-शीट और ब्रॉडकास्ट पैक में घूमीं, उनमें से कई ने इस नतीजे को सरल कर दिया — "टॉस जीतो, मैच जीतो"। यह व्युत्पन्न फ़ील्ड थी जिसने प्राथमिक डेटा को छोड़कर अपना निष्कर्ष ख़ुद बना लिया।
मैंने वह टुकड़ा एक दिन देर से भेजा, क्योंकि मॉडल दोबारा जाँचना था। उस देर ने मुझे एक आदत दी: अपनी आंतरिक डेडलाइन फ़ाइलिंग से एक दिन पहले रखो। पर उसी देर ने एक कमी भी दिखाई — प्रकाशन विंडो बंद होने के बाद सुधार की गुंजाइश नहीं बचती। इसलिए अब रिपोर्ट पर वर्ज़न टैग चिपका होता है और सुधार सार्वजनिक होता है, चुपचाप नहीं।
तीसरा मामला: दुबई, 24 अक्टूबर 2026
ICC पुरुष टी20 विश्व कप में उस रात भारत ने 151/7 बनाए और पाकिस्तान ने 152/0 में मैच जीत लिया — दस विकेट, बीस ओवर, शून्य जोखिम। शाहीन अफ़रीदी के 3/31 सार्वजनिक रिकॉर्ड में दर्ज हैं। उस मैच के बाद जो व्याख्या प्रधान बनी, वह "बड़े मैच का दबाव", "इरादे की कमी", और "ड्रेसिंग रूम का माहौल" थी। मेरे एडिटर को भावना चाहिए थी। मैंने अट्ठारह सौ शब्दों का पोस्ट-मॉर्टम दिया, जिसमें पावरप्ले शॉट-मैप पहले था और भावना सबसे आख़िर में।
मेरी चौबीस गेंदों की मैचअप मैट्रिक्स यह कहती है कि शाहीन के तीन विकेट तीन अलग लंबाइयों से आए — रोहित शर्मा, केएल राहुल और विराट कोहली, तीनों को अलग-अलग जगह गेंद फेंकी गई, और तीनों बार भारतीय बल्लेबाज़ ने वही ग़लत विकल्प चुना जो उस लंबाई के लिए तैयार था। पाकिस्तान की पारी को समझने के लिए किसी करिश्मे की ज़रूरत नहीं — बाबर आज़म और मोहम्मद रिज़वान ने बीस ओवर में जोखिम का बजट लगभग शून्य रखा, स्ट्राइक रोटेशन से रन निकाले, और लक्ष्य 151 कभी बड़ा नहीं लगा।
दस विकेट की हार कोई पल नहीं, एक क्रम है। यह मेरी सबसे पुरानी पंक्ति है और उस रात सबसे ज़रूरी भी। लेकिन इस मामले में असली चूक मैच में नहीं, मैच के बाद के पैकेट में थी। जो रिपोर्ट अगली सुबह सर्कुलेट हुई, उसमें "इरादा" कॉलम भरा हुआ था और "पावरप्ले लंबाई-मैप" कॉलम ख़ाली। यानी व्युत्पन्न फ़ील्ड ने प्राथमिक फ़ील्ड की जगह ले ली — और किसी को फ़र्क़ नहीं पड़ा, क्योंकि भावना वाला कॉलम पढ़ने में आसान है।
एक दृश्य, बाक़ी सब हिसाब
प्लेऑफ़ की एक रात वानखेड़े में दर्शक अपनी सीटों से उठ चुके थे और मैं प्रेस बॉक्स की खिड़की से नीचे देख रहा था। मेरे लैपटॉप पर वही छह ख़ानों वाली तालिका खुली थी, और उसमें से तीन ख़ाने ख़ाली थे, क्योंकि फ़ीड देर से आ रही थी। मैदान पर इक्यासी हज़ार लोग थे जिनके पास इस बात का कोई सबूत नहीं था कि तीन ख़ाने ख़ाली हैं, और उन्हें इससे कोई फ़र्क़ भी नहीं पड़ता। यह दृश्य मैं इसलिए दर्ज कर रहा हूँ कि बाक़ी लेख साफ़ हिसाब रहे। भीड़ को बाहर करना मेरा तरीक़ा है; भीड़ थी, यह भूल जाना तरीक़ा नहीं, बल्कि नुक़सान है।
तीन मामले, एक बग
तीनों मामलों में एक ही चीज़ दोहराई गई। 2026 में डेटा मौजूद था और व्याख्या ग़लत थी, इसलिए ग्रिड जीता। 2026 में पर्यावरण मौजूद था और व्याख्या सरल कर दी गई, इसलिए आधा ग्रिड जीता। 2026 में प्राथमिक परत मौजूद थी, पर उसे व्युत्पन्न परत से बदल दिया गया, इसलिए ग्रिड हार गया। किसी भी मामले में समस्या यह नहीं थी कि मॉडल ग़लत था। समस्या यह थी कि सिस्टम के पास यह बताने का कोई तरीक़ा नहीं था कि उसका एक हिस्सा ख़ाली है।
इसका सबसे सीधा हल तकनीकी है, और वह उबाऊ है। जिस फ़ंक्शन को बॉल-बाय-बॉल चाहिए, वह ख़ाली इनपुट मिलने पर N/A न लौटाए — वह एरर फेंके। एंटिटी और सोर्स-क्वालिटी जैसी व्युत्पन्न फ़ील्ड अपने आप नहीं भरनी चाहिए; उन्हें "अपर्याप्त इनपुट" कहकर ऊपर लौट जाना चाहिए, ताकि पूरा पाइपलाइन रुके। एक रिपोर्ट का रुकना एक घंटे का नुक़सान है। एक ख़ाली रिपोर्ट का निकल जाना एक फ़ैसले का नुक़सान है, और उसका हिसाब कभी नहीं मिलता क्योंकि वह फ़ैसला किसी ने ग़लत माना ही नहीं।
विरोधी पक्ष, सबसे मज़बूत रूप में
इस पूरे तर्क का सबसे तगड़ा जवाब यह है, और मैं इसे पहले ख़ुद लिखना चाहता हूँ: क्रिकेट एनालिटिक्स को पाइपलाइन की समस्या नहीं, अधिकता की समस्या है। एक आधुनिक फ्रेंचाइज़ी सीज़न में सैकड़ों रिपोर्ट बनाती है और उनमें से मुश्किल से दस पढ़ी जाती हैं। इस दुनिया में एक ख़ाली कॉलम ईमानदारी है, धोखा नहीं। जो मॉडल कहता है "मेरे पास इस ओवर का डेटा नहीं है", वह उस मॉडल से बेहतर है जो अंदाज़ा भर देता है। असली बर्बादी यह है कि हम ऐसे ग्रिड बनाते रहते हैं जिन्हें किसी ने माँगा ही नहीं।
इस जवाब में दम है, और मैं अपना दावा संकरा करता हूँ। मेरा आरोप यह नहीं है कि N/A ग़लत है। मेरा आरोप यह है कि N/A को नतीजे की तरह पेश किया जाता है। ख़ाली फ़ील्ड ईमानदारी है; ख़ाली फ़ील्ड को भरी हुई तालिका के बीच रखकर "विश्लेषण पूरा" कहना धोखा है। मेरा फ़ैसला उस स्थिति में पलट जाएगा जब कोई एक भी दर्ज मामला दिखा दे जहाँ ख़ाली पैकेट सचमुच रद्दी की टोकरी में गया, किसी की मेज़ तक नहीं पहुँचा। तब मेरी बात ग़लत साबित होगी और समस्या सिर्फ़ फ़िज़ूलख़र्ची की रहेगी, ख़तरे की नहीं। मुझे ऐसा मामला नहीं मिला। मुझे उल्टे मामले मिले — जहाँ फ़ाइल का आकार सही था इसलिए सवाल नहीं उठा।
अगली बार क्या जाँचें
अगले मैच के बाद जब कोई फ़ेज़ ग्रिड आपके सामने रखे, तीन सवाल पूछिए। कच्चा बॉल-बाय-बॉल दिखाइए। वर्ज़न टैग क्या है। और यह बताइए कि इस रिपोर्ट में कौन-सा फ़ील्ड एरर फेंकने के बजाय N/A हो गया। जो एनालिस्ट इन तीनों का जवाब दे दे, उसकी तालिका पढ़िए। जो तीसरे सवाल पर चुप हो जाए, उसकी तालिका सुंदर है — बस उसमें क्रिकेट नहीं है। फ़ेज़ मैप कह रहा था चौदह से ऊपर; मैच कुछ और कह रहा था। लेकिन मैप तभी बोलता है जब उसके पास कहने के लिए कुछ हो, और यह पता लगाना अब मेरे काम का पहला हिस्सा है, आख़िरी नहीं।
स्रोत और संस्करण नोट: इस टुकड़े का ऊपरी इनपुट पैकेट ख़ाली आया था — शीर्षक, सार, सूचना-बिंदु और एंटिटी, सब N/A। इसलिए लेख सार्वजनिक मैच रिकॉर्ड (आईपीएल फ़ाइनल, 21 मई 2026; ICC पुरुष टी20 विश्व कप, 24 अक्टूबर 2026; आईपीएल 2026, यूएई) और लेखक के अपने बॉल-बाय-बॉल लॉग पर बना है। जो संख्या लेखक के लॉग से है, उसे पाठ में साफ़ कहा गया है। मॉडल संस्करण: फ़ेज़-ग्रिड v2.3, प्रकाशन 13 अगस्त 2026।
