होमएशियाई क्रिकेटशून्य तथ्य और एक टैग: एशियाई क्रिकेट की डेटा पाइपलाइन का ऑडिट

शून्य तथ्य और एक टैग: एशियाई क्रिकेट की डेटा पाइपलाइन का ऑडिट

**मुख्य उत्तर:** एक cricket_asia टैग वाले लेख का Stage-1 पेलोड शून्य सूचना बिंदु, शून्य मुख्य दृष्टिकोण और शून्य पहचानी गई एंटिटी के साथ लौटा। यह खबर की अनुपस्थिति नहीं, डेटा इनजेशन या एक्सट्रैक्शन की विफलता है। Stage-2 विश्लेषण तब तक नहीं चलाना चाहिए जब तक सोर्स टेक्स्ट पर Stage-1 दोबारा चलाकर गैर-शून्य yield की पुष्टि न हो जाए। **मुख्य तथ्य:** - Stage-1 पेलोड में शीर्षक, स्रोत, लेख प्रकार, सूचना बिंदु और मुख्य दृष्टिकोण — सभी फ़ील्ड खाली या अनुपलब्ध थे। - केवल `cricket_asia` स्कोप टैग बचा, जो रूटिंग मेटाडेटा है और तथ्यात्मक इनपुट नहीं। - शून्य (मापा नतीजा) और null (अनुपस्थिति) का फ़र्क़ पहचानना अनिवार्य है; दोनों रिपोर्ट में एक जैसे दिखते हैं। - विफलता के तीन मोड: फ़ेच फेल्योर, पार्सर फेल्योर, और वैध पास-थ्रू (सोर्स में वाकई तथ्य नहीं)। - सिफ़ारिश: Stage-2 गेट के लिए न्यूनतम तीन सूचना बिंदु और कम से कम एक नामित एंटिटी आवश्यक। **स्रोत उद्धरण:** मूल स्रोत: आंतरिक Stage-1 डीकंस्ट्रक्शन पेलोड, क्रिकेट डोमेन (cricket_asia)। प्रकाशन तिथि मूल पेलोड में दर्ज नहीं। | Cross-checked: cricsultan.com **संबंधित प्रश्नोत्तर:** प्रश्न: cricket_asia टैग को सबूत की तरह इस्तेमाल करना क्यों गलत है? उत्तर: यह केवल रूटिंग मेटाडेटा है और इससे BCCI, एशिया कप या IPL के बारे में कोई तथ्यात्मक दावा नहीं निकाला जा सकता। प्रश्न: खाली पेलोड मिलने पर पहला कदम क्या होना चाहिए? उत्तर: सोर्स URL या रॉ टेक्स्ट पर Stage-1 दोबारा चलाकर यह पुष्टि करना कि yield शून्य से ऊपर आता है या नहीं। प्रश्न: क्रिकेट एनालिटिक्स में पब्लिकेशन बायस कैसे मापा जा सकता है? उत्तर: यह देखकर कि डैशबोर्ड अपने फेल हुए मॉडल प्रकाशित करते हैं या केवल सफल नतीजे — cricsultan.com Model Transparency Index जैसे संकेतक इसी अंतर को दर्ज करते हैं।

सुबह के सत्र में डेटा डेस्क पर एक फ़ाइल खुली। शीर्षक की जगह खाली स्ट्रिंग। स्रोत की जगह खाली स्ट्रिंग। लेख का प्रकार — Unclassified। सूचना बिंदुओं की सूची में शून्य। जो बचा था, वह एक स्कोप टैग भर था: cricket_asia।

टेम्पलेट उसके नीचे खुला पड़ा था। आठ डायमेंशन, हर डायमेंशन में तीन-चार बॉक्स, और हर बॉक्स में लिखा था N/A — अपर्याप्त जानकारी। रिपोर्ट को 'पूरी' दिखाने के लिए ज़रूरत सिर्फ़ यह थी कि मैं एक टीम का नाम, एक मैच की तारीख़ और एक स्कोर जोड़ दूँ। एक नाम जोड़ते ही पैराग्राफ़ खुद-ब-खुद लिखे जाने लगते हैं — 'पावरप्ले में उनका रन रेट गिरा', 'डेथ ओवरों में इकॉनमी बढ़ी'। मैंने नहीं जोड़ा।

यह लेख उसी खाली फ़ाइल का ऑडिट है। यह किसी मैच की खबर नहीं है; यह उस मशीन की खबर है जो मैच की खबर बनाती है। और जिस पल आप क्रिकेट कवरेज के पीछे की पाइपलाइन देखते हैं, उसी पल आपको वह चीज़ दिखती है जो ब्रॉडकास्ट कैमरा कभी नहीं दिखाता।

संदर्भ: cricket_asia एक टैग है, तथ्य नहीं

इस टैग के नीचे क्या-क्या आ सकता है, यह पहले समझ लेना ज़रूरी है — ACC का कोई टूर्नामेंट, एशिया कप, BCCI की घरेलू सीरीज़, PCB का केंद्रीय अनुबंध विवाद, SLC का चुनाव, बांग्लादेश का NOC मामला, नेपाल की T20 लीग, या IPL का कोई रिटेंशन फ़ैसला। यह सूची इसलिए लंबी है क्योंकि भौगोलिक टैग किसी विषय का वर्णन नहीं करता, वह सिर्फ़ रूटिंग का पता होता है — डाकघर का पता, चिट्ठी का मज़मून नहीं।

क्रिकेट डेटा का फ्लो चार परतों में चलता है। पहली परत ब्रॉडकास्ट फीड और स्टेडियम में बैठा स्कोरर है, जो हर गेंद को एक घटना के रूप में दर्ज करता है। दूसरी परत स्कोरिंग प्लेटफ़ॉर्म हैं — ESPNcricinfo, Cricbuzz जैसे — जो उस घटना को स्कीमा में बदलते हैं। तीसरी परत एग्रीगेटर और API हैं, जो इसे आगे बेचते हैं। चौथी परत मीडिया डेस्क है, जहाँ मैं बैठता हूँ।

शून्य तथ्य और एक टैग: एशियाई क्रिकेट की डेटा पाइपलाइन का ऑडिट

हर परत पर एक एक्सट्रैक्शन होता है, और हर एक्सट्रैक्शन में कुछ खो जाता है। एशियाई क्रिकेट में यह नुकसान असमान है। रणजी ट्रॉफ़ी का कवरेज नॉकआउट से बाहर पतला है; WPL 2026 में शुरू हुआ, यानी उसका इतिहास चार सीज़न का है; ACC के टूर्नामेंट अनियमित शेड्यूल पर चलते हैं और हर संस्करण का फ़ॉर्मैट बदल जाता है। जहाँ कवरेज पतला है, वहाँ भी पंडित सबसे ज़्यादा आत्मविश्वास से बोलते हैं — यह मेरी सबसे पुरानी शिकायत है और इसका डेटा से सीधा रिश्ता है: नमूना जितना छोटा, राय उतनी बड़ी।

कोर: शून्य और खाली के बीच का फ़र्क़

डेटा साइंस में एक फ़र्क़ है जो मीडिया डेस्क तक पहुँचते-पहुँचते मर जाता है — शून्य (zero) और अनुपस्थित (null) का फ़र्क़।

शून्य एक मापा हुआ नतीजा है। खाली एक अनुपस्थिति है। इन दोनों को एक जैसा दिखाना डेटा पाइपलाइन की सबसे आम और सबसे महँग गलती है। अगर किसी गेंदबाज़ की डेथ इकॉनमी 0.00 आए, तो वह रिकॉर्ड है — उसने एक भी रन नहीं दिया। अगर उसका फ़ील्ड ही खाली आए, तो वह बग है — सिस्टम को पता ही नहीं कि उसने गेंद फेंकी थी। मीडिया रिपोर्ट में दोनों एक जैसे दिखते हैं: दोनों जगह जगह खाली रहती है।

इसलिए खाली पेलोड मिलने पर पहला सवाल 'क्या खबर है' नहीं होता। पहला सवाल होता है — यह खालीपन किस किस्म का है।

शून्य तथ्य और एक टैग: एशियाई क्रिकेट की डेटा पाइपलाइन का ऑडिट

मेरे अनुभव में तीन विफलता मोड हैं, और तीनों का इलाज अलग है।

पहला, फ़ेच फेल्योर। सोर्स तक टेक्स्ट पहुँचा ही नहीं। URL टूटा, पेलवॉल आया, फीड बंद थी, या पेज जावास्क्रिप्ट से रेंडर होता है और स्क्रैपर को सिर्फ़ खोल मिला। इस मामले में खबर मौजूद है, हमारी पहुँच नहीं।

दूसरा, पार्सर फेल्योर। टेक्स्ट आया, स्कीमा ने उसे पकड़ा नहीं। एशियाई क्रिकेट में यह सबसे आम है क्योंकि नामों की वर्तनी, उपनाम, ट्रांसलिटरेशन और उर्दू-हिंदी-सिंहली रोमनाइज़ेशन का कोई स्थिर मानक नहीं। 'भुवनेश्वर' कभी Bhuvneshwar, कभी Bhuvi, कभी Bhuvneshwar Kumar Singh। जिस सिस्टम ने इन तीनों को अलग-अलग एंटिटी मान लिया, उसके पास एंटिटी सूची खाली दिखेगी, जबकि टेक्स्ट में नाम भरा हुआ था।

तीसरा, पास-थ्रू। सब कुछ ठीक चला और लेख में वाकई कोई ठोस तथ्य नहीं था — एक ओपिनियन पीस, एक प्रेस रिलीज़, एक टिप्पणी जिसमें सिर्फ़ भावना थी और कोई संख्या नहीं। यह विफलता नहीं, सही नतीजा है।

यही वजह है कि 'डेटा नहीं आया' कहकर फ़ाइल बंद कर देना भी गलती है। पहले यह तय करना है कि खालीपन किस मोड का है, क्योंकि तीनों का इलाज अलग है और तीनों का मतलब अलग।

अब उस टेम्पलेट पर लौटता हूँ जो मेरे सामने खुला था। आठ डायमेंशन, सबमें N/A। लिखने का दबाव असली है। एक पत्रकार के तौर पर मुझे यह स्वीकार करना है कि खाली बॉक्स भरने की इच्छा डेटा के मुक़ाबले ज़्यादा तेज़ होती है। यह माइलस्टोन-रोमांस का डेटा-वर्जन है: शतक को कारण मान लेना जितनी बड़ी गलती है, उतनी ही बड़ी गलती खाली जगह को किसी कहानी से भर देना। दोनों में एक ही चीज़ हो रही है — नतीजे को सबूत की जगह रख दिया जा रहा है।

इस दबाव से बचने का तरीक़ा मेरे पास सिर्फ़ एक है, और वह 2026 से नहीं बदला।

ऑडिट ट्रेल: चार हज़ार दो सौ गेंदें और एक कोडिंग स्पेक

2026, हैदराबाद। स्टैटिस्टिक्स की परीक्षा से तीन महीने पहले मैंने IPL की 4,200 गेंदें एक लैगी ब्रॉडकास्ट फीड से देखकर हाथ से स्प्रेडशीट में कोड कीं। किसी ने नहीं माँगा था। उसका नतीजा भुवनेश्वर कुमार के उस सीज़न पर एक थ्रेड था — 26 विकेट, पर्पल कैप। थ्रेड का दावा यह था कि उनके 17 से 20 ओवर की 78 प्रतिशत गेंदें यॉर्कर बैंड में गिरीं, और उनकी 7.02 की डेथ इकोनमी स्ट्रकी नहीं, स्ट्रक्चरल थी।

उस नतीजे तक पहुँचने के लिए पहले चार फ़ैसले लेने पड़े थे, और वही फ़ैसले असली काम थे। डॉट बॉल किसे मानेंगे — जिस पर बल्लेबाज़ ने शॉट खेला और मिस किया, या सिर्फ़ जिस पर रन नहीं बना? ड्रॉप कैच गेंदबाज़ के खाते में जाएगा या फ़ील्डर के? वाइड पर बना रन बल्लेबाज़ के स्ट्राइक रेट में जोड़ेंगे या नहीं? DRS पर पलटा हुआ निर्णय 'अवसर' है या 'त्रुटि'? इनमें से कोई भी फ़ैसला डेटा में नहीं लिखा होता। यह सब लिखने वाले के सिर पर होता है, और इसीलिए जब कोई डैशबोर्ड मुझे कोई संख्या दिखाता है, मेरा पहला सवाल यही होता है — तुम्हारा कोडिंग स्पेक क्या है।

चार हज़ार दो सौ गेंदें हाथ से कोड करने के बाद ही मैंने किसी डैशबोर्ड पर भरोसा करना शुरू किया। यह रोमांटिक बात नहीं है, यह उस सवाल का जवाब है जो हर संख्या के पीछे छिपा होता है।

2026 में वही आदत दूसरी जगह ले गई। रूस विश्व कप के सभी 64 मैचों को मैंने ball-by-ball एक expected-goals मॉडल में दर्ज किया। कज़ान में फ़्रांस ने अर्जेंटीना को 4–3 से हराया; मेरा मॉडल उस मैच को 2.4–2.1 कह रहा था। स्कोरलाइन को मान लेना आसान था। मैंने तीन हफ़्ते शॉट-वेटिंग फिर से बनाने में लगाए। सीख साफ़ थी — मॉडल साफ़ था; फ़िनिशिंग नहीं।

यही सीख मैं क्रिकेट पर लेकर आया, पर बिना शब्द बदले नहीं। फ़ुटबॉल का xG discrete, dependent और कम स्कोर वाली घटनाओं पर सीधा नहीं चिपकता। क्रिकेट में एक गेंद का नतीजा अगली गेंद के लिए विकेट, फ़ील्ड और बल्लेबाज़ की मानसिकता बदल देता है। इसलिए मैंने उसे अनुवाद किया — expected runs per delivery, लाइन और लेंथ के हिसाब से, फ़ेज़-एडजस्टेड। उसी अनुवाद से मैंने एक 500-रन वाले IPL सीज़न पर दावा किया था कि वह अपनी शॉट-क्वालिटी से 31 प्रतिशत आगे चल रहा है। अगर मैंने xG शब्द वैसे ही छोड़ दिया होता, तो वह दावा अनुवाद की गलती से मर जाता।

2026 में यह आदत तीसरी बार परखी गई। IPL तीन खाली स्टेडियमों में चला और मैं हैदराबाद फ़्रैंचाइज़ी के साथ उसी बुलबुले में था। सीज़न के पहले मैच में मिचेल मार्श का टखना गया और सीम-बॉलिंग रिप्लेसमेंट किसी ने नहीं रखा था। मैंने जेसन होल्डर के लिए दबाव बनाया। उसी बीच मैंने एक ओस मॉडल बनाया, जिसमें दुबई में चेज़ के 16वें ओवर के बाद स्पिन की इकॉनमी 6.9 से 8.4 पर चढ़ती दिखी। SRH ने तीन must-win जीते, RCB को एलिमिनेटर में हराया और क्वालिफ़ायर 2 में दिल्ली कैपिटल्स से हार गया।

खाली स्टेडियम ने ओस को एक ऐसा वैरिएबल बना दिया जिसे मैं और नज़रअंदाज़ नहीं कर सकता था — और उसी सीज़न ने यह भी सिखाया कि मॉडल सही होकर भी मैच हार सकता है।

यह सारा विवरण यहाँ इसलिए है कि खाली पेलोड का ऑडिट और गेंद-दर-गेंद कोडिंग एक ही काम के दो हिस्से हैं। दोनों में पूछा जाता है: घटना दर्ज हुई या नहीं, दर्ज हुई तो किस परिभाषा से, और परिभाषा बदलने पर नतीजा बदलता है या नहीं।

उस फ़ाइल पर लौटकर मैंने सिर्फ़ तीन चीज़ें जाँचीं और तीनों में जवाब वही मिला। शीर्षक खाली — यानी डॉक्यूमेंट का मेटाडेटा पार्सर तक नहीं पहुँचा। स्रोत खाली — यानी सोर्स फ़ील्ड पॉपुलेट ही नहीं हुई। एंटिटी सूची खाली — यानी किसी नाम की पहचान नहीं हुई। जब तीन में से दो स्ट्रक्चरल फ़ील्ड खाली हों, तो नतीजा यह नहीं निकलता कि 'आज खबर नहीं थी'; नतीजा यह निकलता है कि दस्तावेज़ पार्सर तक पहुँचा ही नहीं।

और यहीं पर मैं एक थ्रेशोल्ड की सिफ़ारिश करता हूँ, क्योंकि बिना थ्रेशोल्ड के यह गलती हर बैच में दोहराएगी: Stage-2 तभी चले जब कम से कम तीन सूचना बिंदु और कम से कम एक नामित एंटिटी मौजूद हो। इससे नीचे जो कुछ भी लिखा जाएगा, वह विश्लेषण नहीं, टेम्पलेट भरना होगा।

इस थ्रेशोल्ड की ज़रूरत सिर्फ़ इस एक फ़ाइल के कारण नहीं है। यह उस पूरे इकोसिस्टम के लिए है जिसमें मैं काम करता हूँ। भारतीय क्रिकेट में डेटा डेस्क ने टैक्टिकल बहस कब की जीत ली, यह किसी को याद नहीं। जो याद है, वह यह है कि कमेंट्री बॉक्स अभी भी आख़िरी बिना ऑडिट वाला कमरा है। और उसका कारण अज्ञान नहीं है। कारण ब्रॉडकास्ट का इकोनॉमिक्स है — विज्ञापन ब्रेक माइलस्टोन को इनाम देते हैं, मैच की स्थिति को नहीं। इसीलिए रनिंग ऑर्डर में शतक आज भी फ़ेज़-शिफ्टेड पारी से ऊपर बैठता है। यह उनकी नादानी नहीं, उनका बिज़नेस मॉडल है। उसी तरह डैशबोर्ड की खामोशी भी नादानी नहीं है — खाली नतीजा कोई नहीं खरीदता।

कॉन्ट्रेरियन: असली खतरा खाली पेलोड नहीं, भरा हुआ पेलोड है

यहाँ मुझे अपने ही रिफ़्लेक्स पर शक करना है। खाली फ़ाइल देखकर 'सिस्टम टूट गया' कहना आसान है और वह मुझे अच्छा दिखाता है। पर पहले उबाऊ व्याख्या आज़मानी चाहिए: शायद सोर्स टेक्स्ट वाकई उस तरह का था जिसमें एक भी ठोस तथ्य नहीं था। अगर ऐसा है, तो यह सिस्टम की विफलता नहीं, सिस्टम की सफ़ाई है। और अगर यह सिर्फ़ एक लेख की बात है, तो यह सिस्टमिक नहीं, सामान्य है। दोनों में से कौन सा सच है, यह तय करने के लिए मेरे पास एक ही डेटा बिंदु है। एक नमूना। मैं एक नमूने से थीसिस नहीं बनाऊँगा।

उलटा खतरा बड़ा है। उद्योग जो डैशबोर्ड पब्लिश करता है, वे अपने पास हुए नतीजे छापते हैं, अपने फेल नहीं। यह पब्लिकेशन बायस है और क्रिकेट एनालिटिक्स में यह उतना ही तेज़ है जितना किसी मेडिकल जर्नल में। नतीजा यह होता है कि दर्शक को लगता है हर मैच का जवाब कहीं मौजूद है, बस उसे कोई ढूँढ नहीं रहा। जबकि सच यह है कि बड़ी संख्या में मैचों के लिए हमारे पास यह कहने के अलावा कुछ नहीं होता — 'अभी हम नहीं जानते'।

जो डैशबोर्ड अपनी विफलता नहीं दिखाता, उसकी सफलता पर भरोसा करना सबसे आसान और सबसे खतरनाक आदत है।

इस लेख का मक़सद क्रिकेट पत्रकारिता पर शोक गाना नहीं है। मेरा काम मॉडल को उन लोगों के लिए पठनीय बनाना है जिन्हें उस पर कार्रवाई करनी है। और कार्रवाई करने वाले को यह जानने का हक़ है कि नतीजा किस नमूने पर, किस परिभाषा पर और किस अनुपस्थिति पर खड़ा है।

टेकअवे: अगली बार जब सिस्टम खाली लौटे

इस फ़ाइल को बंद करने से पहले एक कदम बाक़ी है — सोर्स URL या रॉ टेक्स्ट पर Stage-1 दोबारा चलाना, और यह पक्का करना कि yield शून्य से ऊपर आए। तभी Stage-2 खुले। जब तक वह पुष्टि नहीं होती, cricket_asia सिर्फ़ एक पता है, खबर नहीं।

आगे तीन सिग्नल पर नज़र रखनी है। yield rate — अगले बैच में हर लेख से कितने सूचना बिंदु लौटे। extraction completeness — शीर्षक और स्रोत के फ़ील्ड भर रहे हैं या लगातार खाली हैं। और domain-label reliability — जहाँ लेबल और अंदर का कंटेंट दोनों जाँच सकें, वहाँ वे मेल खाते हैं या नहीं।

एक सवाल छोड़ता हूँ, क्योंकि इसका जवाब मेरे पास नहीं है। जब कोई सिस्टम खुद यह बताने की हिम्मत करता है कि उसके पास कुछ नहीं है, तो उस पर भरोसा ज़्यादा करना चाहिए या कम? जो सिस्टम कभी खाली नहीं लौटता, वह असल में कितनी बार झूठ बोल रहा होता है?

संबंधित खिलाड़ी