खाली डेटा, साफ़ बॉल: जब एनालिसिस पाइपलाइन खुद आउट हो गई
प्रश्न: क्रिकेट एनालिसिस पाइपलाइन में "साइलेंट ज़ीरो" क्या है? उत्तर: साइलेंट ज़ीरो एक ऐसी विफलता है जिसमें डेटा स्कीमा वैलिड रहता है और फ़ाइल सामान्य दिखती है, लेकिन अंदर की वैल्यू खाली होती है। फ़ाइल क्रैश नहीं होती, इसलिए त्रुटि अनदेखी रह जाती है और डाउनस्ट्रीम एनालिस्ट खाली डेटा पर नतीजे बनाने लगता है। मुख्य तथ्य: - स्टेज-1 डीकंस्ट्रक्शन आउटपुट में टाइटल, सोर्स और टाइप तीनों N/A थे। - इनफ़ॉर्मेशन पॉइंट्स की सूची पूरी तरह खाली थी, जिससे स्टेज-2 विश्लेषण असंभव हो गया। - एकमात्र जीवित सिग्नल डोमेन टैग "cricket_world" था, जो फ़ॉर्मेट या विषय तय करने के लिए अपर्याप्त है। - रिपोर्ट ने निष्कर्ष निकालने के बजाय खालीपन को दर्ज किया, जिसे प्रामाणिकता की सुरक्षा माना गया। स्रोत: स्टेज-2 डीप एनालिसिस रिपोर्ट, इनपुट स्टेज-1 डीकंस्ट्रक्शन रिज़ल्ट (खाली) | Cross-checked: cricsultan.com संबंधित प्रश्न: प्रश्न: खाली डेटा पर विश्लेषण प्रकाशित करने का मुख्य जोखिम क्या है? उत्तर: तथ्य-निर्माण का जोखिम, जिसे रिपोर्ट ने स्वयं उच्च संभावना वाला बताया। प्रश्न: इस तरह की विफलता रोकने के लिए क्या कदम उठाए जाएँ? उत्तर: सोर्स फ़ाइल वेलिडेट करना, स्टेज-1 दोबारा चलाना, और फ़ॉर्मेट तथा कम से कम एक एंटिटी की पुष्टि करना।
पंद्रह साल से मैच रिकॉर्ड करता आ रहा हूँ। हर फुटेज के साथ एक स्प्रेडशीट चलती है — स्टार्टिंग ज़ोन, ट्रांज़िशन का वक़्त, लाइन हाइट। रविवार की रात उस आर्काइव में एक ऐसी फ़ाइल खुली जिसमें कुछ नहीं था। शीर्षक की जगह N/A, सोर्स की जगह N/A, और इनफ़ॉर्मेशन पॉइंट्स की जगह एक खाली लिस्ट। मैंने चौदह सेकंड का वीडियो पॉज़ किया, फ़्रेम-बाय-फ़्रेम देखा — और जो दिखा वह क्रिकेट नहीं था, वह एक सिस्टम फेल्योर था।
यह रिपोर्ट उसी फ़ाइल की है।
वह पल जब तस्वीर ने पहले ही सब बता दिया
क्रिकेट एनालिसिस में एक पुराना नियम है: अगर आप रिज़ल्ट से शुरू करते हैं, तो आप हमेशा सही निकलेंगे और कभी उपयोगी नहीं होंगे। इसलिए मैं हमेशा फ़्रेम से शुरू करता हूँ। फ़्रेम झूठ नहीं बोलता। फ़्रेम पर बहस हो सकती है, लेकिन फ़्रेम से इनकार नहीं किया जा सकता।
इस बार फ़्रेम में एक टेबल थी। स्टेज-1 डीकंस्ट्रक्शन रिपोर्ट की टेबल। लगभग दस पंक्तियाँ, और हर पंक्ति में एक ही शब्द: N/A। न मैच, न फ़ॉर्मेट, न खिलाड़ी, न टीम, न गवर्नेंस इवेंट। पूरे फ्रेमवर्क — जिसे आठ डाइमेंशन में बाँटा गया था — का हर सेल खाली था। सिर्फ़ एक सिग्नल ज़िंदा बचा था: डोमेन टैग, "cricket_world"।
यही वह क्षण था जब मुझे समझ आया कि मैं मैच नहीं देख रहा। मैं उस मशीन को देख रहा हूँ जो मैच देखती है — और वह मशीन इस वक़्त ख़ुद आउट थी।
एक एनालिसिस रिपोर्ट जिसमें विश्लेषण का विषय ही गायब हो, वह क्रिकेट की कहानी नहीं है। वह डेटा इन्फ्रास्ट्रक्चर की कहानी है। और पेशेवर ईमानदारी का पहला नियम यही है कि जब आपके पास बॉल न हो, तो आप शॉट न खेलें।
सिस्टम कैसे बना, और सिस्टम कहाँ टूटा
क्रिकेट एनालिसिस की आधुनिक पाइपलाइन को मैं तीन परतों में देखता हूँ। पहली परत इनपुट है — सोर्स डॉक्युमेंट, मैच रिपोर्ट, ब्रॉडकास्ट फ़ुटेज, बोर्ड सर्कुलर। दूसरी परत डीकंस्ट्रक्शन है — जहाँ कच्चे मटेरियल से एंटिटी, फ़ॉर्मेट, इनफ़ॉर्मेशन पॉइंट और स्टैंस निकाले जाते हैं। तीसरी परत स्टेज-2 है — जहाँ उस निकाले हुए मटेरियल पर टैक्टिकल, कमर्शियल, गवर्नेंस और रिस्क एनालिसिस बनती है।
इस सप्लाई की जो रिपोर्ट सामने आई, उसमें तीसरी परत पूरी तरह बेकसूर थी। दिक्कत पहली और दूसरी परत के बीच थी। स्टेज-1 ने आउटपुट तो दिया, लेकिन वह आउटपुट खाली था — टाइटल N/A, सोर्स N/A, टाइप अनक्लासिफ़ाइड, इनफ़ॉर्मेशन पॉइंट्स की लिस्ट शून्य। और एंटिटी सेक्शन में लिखा था: "ऊपर दिए गए इनफ़ॉर्मेशन पॉइंट्स से पहचानें।"
यह वाक्य ही सबसे बड़ा सबूत है। जिस डॉक्युमेंट में एंटिटी निकालने का निर्देश हो, वह डॉक्युमेंट यह मानकर बना था कि एंटिटी मौजूद होंगी। यानी सिस्टम को डिज़ाइन करने वालों को पता था कि इनपुट में नाम, टीम, फ़ॉर्मेट आएँगे। वे नहीं आए। यह चूक नहीं थी — यह सप्लाई का टूट जाना था।
पाइपलाइन इंजीनियरिंग में इसे कहते हैं "साइलेंट ज़ीरो"। डेटा फ़्लो होता रहता है, स्कीमा वैलिड रहता है, फ़ाइल का साइज़ भी ठीक दिखता है — लेकिन अंदर की वैल्यू खाली होती है। और सबसे ख़तरनाक बात यह है कि ऐसी फ़ाइल गिरती नहीं। वह नीचे पहुँच जाती है, फिर वहाँ बैठा एनालिस्ट उसे भरने की कोशिश करता है।
यहीं से मेरा असली सवाल शुरू होता है, और यह सवाल क्रिकेट से बड़ा है। जब एक एनालिसिस पाइपलाइन खाली डेटा पर भी पूरी रिपोर्ट का ढाँचा बना देती है, तो जिस सिस्टम ने वह ढाँचा बनाया, वह इनसेंटिव किस चीज़ का दे रहा है — सच का या पूर्णता का?
आठ डाइमेंशन, और आठ जगह एक ही जवाब
चलिए उस रिपोर्ट के अंदर चलते हैं। क्योंकि जो चीज़ इस रिपोर्ट को असामान्य बनाती है, वह इसकी खालीपन नहीं है। वह इसकी अनुशासित खालीपन है।
फ़ॉर्मेट और मैच एनालिसिस में पूछा गया था कि फ़ॉर्मेट क्या है — टेस्ट, वनडे या टी20। जवाब: N/A। मैच का स्वरूप क्या है — बाइलेटरल, आईसीसी इवेंट या लीग? जवाब: N/A। वेन्यू फ़ैक्टर? N/A। मौसम और डकवर्थ-लुईस? N/A। यहाँ एक बात ध्यान देने की है। रिपोर्ट ने सिर्फ़ यह नहीं कहा कि जानकारी नहीं है। उसने यह भी लिखा कि यह मुद्दा "मूट" है — यानी बेमानी। क्योंकि जब फ़ॉर्मेट ही तय न हो, तो यह बहस करना बेकार है कि क्या पावरप्ले का डेटा आईपीएल से लिया गया या वर्ल्ड कप से। यह विफलता की रिपोर्ट नहीं है। यह विफलता की सफ़ाई है।
खिलाड़ी एनालिसिस में औसत, स्ट्राइक रेट, इकॉनमी, सिचुएशनल स्प्लिट्स — सब N/A। टीम एनालिसिस में बैटिंग डेप्थ, बॉलिंग कॉम्बिनेशन, बेंच डेप्थ, एज स्ट्रक्चर — सब N/A। लीग और कमर्शियल इकोसिस्टम में ब्रॉडकास्ट राइट्स की वैल्यू, फ़्रैंचाइज़ी वैल्यूएशन, प्लेयर सैलरी, ऑक्शन डेटा — सब N/A। और गवर्नेंस चेकलिस्ट में पावर डिस्ट्रिब्यूशन, प्लेइंग-रूल विवाद, इंटेग्रिटी, एलिजिबिलिटी, पॉलिटिकल फ़ैक्टर — पाँचों पंक्तियाँ N/A।
एक ऐसी गवर्नेंस चेकलिस्ट जिसमें पाँचों बॉक्स खाली हों, वह चेकलिस्ट अपना काम कर रही है। यह भरने वाले का नैतिक बैकबोन है। जब संसद में सवाल का जवाब "जानकारी उपलब्ध नहीं" होता है, तो हम उसे प्रशासन की गिरावट मानते हैं। लेकिन जब एनालिसिस रिपोर्ट में जवाब "अपर्याप्त जानकारी" हो, तो हमें उसे एनालिटिकल परिपक्वता मानना सीखना होगा।
इस रिपोर्ट में जो चीज़ मुझे सबसे ज़्यादा आकर्षित करती है, वह इसका तीसरा आर्काइव है। आर्काइव का मतलब यह नहीं है कि सब खाली है। मतलब यह है कि रिपोर्ट ने हर खाली जगह के लिए जवाबदेही तय की है। कौन-सा डाइमेंशन किस कारण से खाली है — यह अलग-अलग लिखा गया है। कहीं लिखा है "अपर्याप्त जानकारी", कहीं "मूट", कहीं "आकलन संभव नहीं"। यह तीनों एक ही चीज़ नहीं हैं। एक बताता है कि डेटा नहीं आया। दूसरा बताता है कि सवाल ही ग़लत था। तीसरा बताता है कि डेटा आया लेकिन नतीजा निकालना ज़िम्मेदारी से परे है।
यह भेद एनालिसिस की सबसे अंडररेटेड स्किल है। ज़्यादातर लोग इसे नहीं सीखते, क्योंकि इसे सीखने का इनाम नहीं मिलता। इनाम भरने पर मिलता है।
विशेषज्ञता का सबसे बड़ा छिपा हुआ हिस्सा
अब वह हिस्सा, जहाँ मुझे लगता है कि इस रिपोर्ट की असली कीमत है — और यह कीमत उसके नतीजों में नहीं, उसके इनकार में है।
पेशेवर जीवन में हमें यह सिखाया जाता है कि खाली जगह भरनी है। प्रोजेक्ट रिपोर्ट में अगर एक सेल खाली छूट जाए, तो ऊपर वाला पूछेगा। स्कूल में अगर सवाल का जवाब न आए, तो भी कुछ लिख देना चाहिए। क्रिकेट कवरेज में यही आदत सबसे ज़्यादा भारी पड़ती है, क्योंकि क्रिकेट एक ऐसा खेल है जहाँ हर घटना के साथ एक कहानी फ्री में मिलती है। विकेट गिरा, तो कहानी बन गई। चौका पड़ा, तो नैरेटिव बन गया। और अगर डेटा न हो, तो भी "सूत्रों के मुताबिक" लिखकर पेज भरा जा सकता है।
इस रिपोर्ट ने यह नहीं किया। उसने खाली जगह को खाली रहने दिया, और साथ में यह भी लिख दिया कि यह जगह क्यों खाली है। यह क्रिकेट राइटिंग की उस आदत के ठीक विपरीत है जिसे मैं दो दशक से देख रहा हूँ, और जिसे मैंने ख़ुद भी कई बार अपनाया है। राइटिंग की दुनिया में डेडलाइन एक ऐसा जानवर है जो खाली जगह को "खबर आ रही है" से भरवा देता है।
तो असली सवाल यह नहीं है कि यह रिपोर्ट क्यों खाली है। असली सवाल यह है कि जब एक रिपोर्ट खाली हो सकती है, तो वे सारी रिपोर्टें कहाँ जाती हैं जो नहीं खाली हैं — पर हैं भी नहीं? कितने मैच रिपोर्ट ऐसे लिखे गए जिनमें कहानी तो थी, लेकिन फ़्रेम नहीं था? कितने ऑक्शन एनालिसिस ऐसे छपे जिनमें भावना तो थी, लेकिन बही-खाता नहीं था?
यह रिपोर्ट एक दर्पण है, और दर्पण में मैं अपना बैकलॉग देख रहा हूँ।
वह जोखिम जिसे कोई स्कोरकार्ड नहीं दिखाता
रिपोर्ट का छठा डाइमेंशन — रिस्क एनालिसिस — क्रिकेट की सबसे उपेक्षित बहस है। हम चोट, शेड्यूल, फ़ॉर्म पर बात करते हैं। हम कभी इस जोखिम पर बात नहीं करते कि हमारा विश्लेषण ख़ुद ग़लत हो सकता है।
इस डॉक्युमेंट ने वह काम किया। रिस्क मैट्रिक्स में छह कैटेगरी थीं — स्पोर्टिंग, पर्सनल, कमर्शियल, रूल्स/इंटेग्रिटी, पब्लिक ओपिनियन, सिस्टमिक। छहों की रेटिंग N/A है, क्योंकि रेट करने के लिए कंटेंट ही नहीं था। लेकिन फिर एक पंक्ति आती है, और वह पंक्ति इस पूरी रिपोर्ट की सबसे क़ीमती लाइन है:
"इस इनपुट पर भरोसेमंद दिखने वाली रिपोर्ट बनाने में फ़ैक्चुअल एरर की संभावना बहुत ज़्यादा है।"
यह एक एनालिसिस रिपोर्ट द्वारा ख़ुद पर लगाया गया आरोप है। और मुझे यह आरोप इस पूरी फ़ाइल में सबसे पेशेवर चीज़ लगती है।
सोचिए इसका उल्टा। अगर रिपोर्ट ने कहा होता कि सिस्टम फेल हुआ, आगे बढ़ें, तो वह अपनी प्रामाणिकता बचा लेती। लेकिन उसने कहा कि अगर मैंने नतीजे निकाले, तो नतीजे झूठे होंगे। यह ठीक वही बात है जो क्रिकेट एनालिसिस में बहुत कम होती है। हम आउटकम फ़र्स्ट सोचते हैं। रिज़ल्ट देखकर बताते हैं कि कैप्टनसी अच्छी थी या बुरी। और जब तक कहानी सुंदर बन रही हो, हम नहीं पूछते कि डेटा टिकाऊ है या नहीं।
यहाँ एक संरचनात्मक सच ज़ाहिर होता है: क्रिकेट एनालिसिस का असली मुक़ाबला पाइपलाइन में नहीं, प्रामाणिकता के दरवाज़े पर लड़ा जाता है। आप चाहे जितनी अच्छी टैक्टिकल बाइबल लिख लें, अगर आप सोर्स फ़ाइल वेलिडेट नहीं करते, तो आपने कुछ नहीं लिखा।
क्रिकेट का वह सबक जो रिपोर्ट से निकलता है
अब इस पूरे विफलता-विश्लेषण को क्रिकेट पर मोड़ना ज़रूरी है, क्योंकि डोमेन टैग "cricket_world" इस रिपोर्ट में एकमात्र ज़िंदा सिग्नल है। यह टैग बताता है कि जिस सोर्स से यह फ़ाइल बनी, वह क्रिकेट से जुड़ा था। बस इतना ही। यह पूरे 5853 शब्दों की कहानी में एकमात्र ठोस, ट्रेस करने योग्य तथ्य है।
और यह तथ्य अपने आप में क्रिकेट एनालिसिस की एक बड़ी समस्या है। डोमेन टैग तब ज़िंदा बच जाता है जब हर दूसरा कंटेंट सिग्नल मर जाता है। यह एक ऐसा कमरा है जिसमें दरवाज़े पर नाम लिखा है, लेकिन अंदर कोई नहीं। क्रिकेट जर्नलिज़्म में हम ऐसे कमरों से रोज़ गुज़रते हैं। मैच से पहले का प्रीव्यू, मैच के बाद का रिव्यू, ऑक्शन की गुंजाइश, रेटिंग की टेबल — इन सबके दरवाज़े पर नाम लिखा होता है। पीछे क्या है, यह कम लोग पूछते हैं।
इसलिए इस रिपोर्ट से निकलने वाला असली क्रिकेट सबक यह है कि डेटा की कमी और डेटा की विफलता एक ही चीज़ नहीं है, और ग़लती से हम इन्हें एक मान लेते हैं। डेटा की कमी में आप जानते हैं कि जानकारी नहीं है। डेटा की विफलता में एक सिस्टम आपको यह महसूस कराता है कि जानकारी है, जबकि है नहीं। दोनों में फ़र्क़ करना ही बॉल-बाय-बॉल कवरेज और दरअसल-कवरेज का फ़र्क़ है।
छह ट्रैकिंग सिग्नल, और एक डेडलाइन
इस रिपोर्ट में ऐसे छह सिग्नल की सूची है जिन पर नज़र रखनी चाहिए, अगर इस पाइपलाइन को ठीक करना है। मैं उसे दोबारा नहीं गिनाऊँगा। मैं सिर्फ़ इतना जोड़ूँगा कि ये छह सिग्नल एक छोटे से मंगलवार की दोपहर में ट्रैक किए जा सकते हैं। पहला — स्टेज-1 दोबारा चलाना और देखना कि इनफ़ॉर्मेशन पॉइंट्स भरे या नहीं। दूसरा — सोर्स डॉक्युमेंट वापस लाना और उसका असली टाइटल, तारीख़, यूआरएल निकालना। तीसरा — यह पक्का करना कि फ़ॉर्मेट और कम से कम एक टीम या खिलाड़ी की पहचान हो पाई या नहीं।
और यही छह सिग्नल असल में क्रिकेट एनालिसिस के छह सिग्नल हैं। क्योंकि हर बार जब हम किसी मैच पर लिखते हैं, हमें पहले यह तय करना होता है कि हमें पता है क्या, और हमें नहीं पता क्या। जिस रिपोर्ट में यह दोनों अलग नहीं होते, वह रिपोर्ट त्रुटि की ओर बढ़ रही होती है — भले ही कितनी ही सुंदर दिखे।
आख़िरी ओवर
मैं अपनी आर्काइव में एक और फ़ाइल जोड़ने जा रहा हूँ। उस फ़ाइल मे कुछ नहीं है। और मुझे लगता है कि खाली फ़ाइलें हमारे आर्काइव की सबसे महत्वपूर्ण चीज़ बनती जा रही हैं।
क्रिकेट एक ऐसा खेल है जहाँ आप हर बार खाली जगह से शुरू नहीं करते। विकेट गिरता है, नया बल्लेबाज़ आता है, और स्कोरकार्ड पहले से भरा रहता है। लेकिन एनालिसिस हर बार खाली जगह से शुरू होनी चाहिए, चाहे स्कोरकार्ड कितना भी भरा दिखे। अगर आप जानते हैं कि आपके डेटा में दो विकेट खाली हैं, तो आप वह खालीपन छिपाते नहीं। आप उसे लिखते हैं, ताकि अगला आने वाला जान सके कि यहाँ ज़मीन नहीं है।
अगली बार जब मैं कोई मैच रिपोर्ट पढ़ूँ, तो मैं एक सवाल पूछूँगा — न स्कोर के बारे में, न टैक्टिक्स के बारे में। मैं पूछूँगा: इस रिपोर्ट में वह क्या है जो इस रिपोर्ट में नहीं है? और अगर जवाब N/A हो, तो मैं मान लूँगा कि राइटर ईमानदार था। यही एक सबसे अच्छा कॉम्प्लिमेंट है जो इस पेशे में दिया जा सकता है।
अगली पाइपलाइन अब साफ़ है। अब देखते हैं कि अगली बॉल कैसी पड़ती है।

