चेकआउट से पहले जाँचना कि पता अपने बताए गए पिन कोड से मेल खाता है
ऑर्डर फ़ॉर्म पर पिन कोड और शहर का मेल न खाना एक छोटी सी टाइपिंग गलती लगती है, जब तक कि वह देश के बिल्कुल गलत हिस्से में भेजी गई डिलीवरी में न बदल जाए।
ग्राहकों के पतों की ग्यारह हज़ार पंक्तियाँ एक स्प्रेडशीट में पड़ी थीं, इनवॉइस बनाने के लिए उपयोगी और योजना बनाने के लिए बेकार। एक सेल्स ऑपरेशंस टीम अपनी टेरिटरी को इस आधार पर दोबारा बनाना चाहती थी कि ग्राहक असल में कहाँ थे, न कि उन काउंटी सीमाओं के आधार पर जो किसी ने सालों पहले चुनी थीं, पर सड़क के पतों से भरी स्प्रेडशीट को भूगोल के अनुसार क्रमबद्ध नहीं किया जा सकता। उसे केवल वर्णानुक्रम में क्रमबद्ध किया जा सकता है, जो एक ही बात नहीं है।
हल एक अकेला बैच जॉब था। टीम ने अपनी ग्राहक सूची से हर अनोखा पता निर्यात किया और उन्हें एक बल्क अनुरोध के रूप में /v1/forward पर भेजा, क्योंकि पतों की सूची में हर आइटम को एक बिल किया गया अनुरोध गिना जाता है, न कि प्रति कॉल शुल्क लिया जाता है जैसा ग्यारह हज़ार अलग लुकअप में होता। जवाब में हर पते के लिए एक लोकेशन मिलान आया, जिसमें अक्षांश और देशांतर शामिल थे, यानी वे संरचित निर्देशांक जिनके साथ कोई मैपिंग टूल या स्प्रेडशीट फ़ॉर्मूला सच में काम कर सकता है।
हर ग्राहक के साथ निर्देशांक जुड़ जाने पर, टेरिटरी का पुनर्गठन अनुमान की समस्या के बजाय डेटा की समस्या बन गया। टीम ग्राहकों को निकटता के आधार पर समूहों में बाँट सकती थी, माप सकती थी कि प्रस्तावित क्षेत्रों के सेट में राजस्व कितनी बराबरी से बँटा है, और तुरंत देख सकती थी कि कब कोई टेरिटरी सीमा बिना किसी अच्छे कारण के ग्राहकों के घने समूह को आधे में बाँट रही है। इसमें से कुछ भी तब दिखाई नहीं देता था जब एकमात्र लोकेशन फ़ील्ड एक टेक्स्ट पता था जिससे स्प्रेडशीट दूरी नहीं माप सकती थी।
टीम ने हर मिलान के देश और क्षेत्र फ़ील्ड को प्रतिनिधियों के मौजूदा खाता असाइनमेंट से भी मिलाया, जिससे कुछ ऐसे खाते सामने आए जो समय के साथ गलत टेरिटरी में चले गए थे, ऐसे ग्राहक जिन्होंने दफ़्तर बदल लिया था या जिन्हें सालों पहले गलती से पड़ोसी क्षेत्र के किसी प्रतिनिधि को सौंप दिया गया था और कभी सुधारा नहीं गया। इसे ठीक करना एक ऐसा साइड इफ़ेक्ट था जिसकी किसी ने योजना नहीं बनाई थी, और पता चला कि कोटा की निष्पक्षता के लिए यह टेरिटरी के पुनर्गठन से भी ज़्यादा मायने रखता था।
क्योंकि पूरी ग्राहक सूची को समय के साथ थोड़ा-थोड़ा करने के बजाय एक बार में जियोकोड किया गया, यह एक लगातार चलने वाले इंटीग्रेशन के बजाय एक बार के प्रोजेक्ट के ज़्यादा करीब था। टीम ने बैच चलाया, परिणामों को वापस अपनी योजना स्प्रेडशीट में निर्यात किया, और अगली बड़ी टेरिटरी समीक्षा तक एंडपॉइंट को दोबारा कॉल करने की ज़रूरत नहीं पड़ी। इस तरह के काम के लिए, मुफ़्त दैनिक कोटा ने बिना किसी प्रीपेड क्रेडिट के पूरे रन को कवर कर लिया, और पूरा प्रोजेक्ट किसी बाहरी वेंडर के साथ कई हफ़्तों की मैपिंग परियोजना के बजाय एक दोपहर में पूरा हो गया।
बड़ा बदलाव इस बात में था कि टीम ने उसके बाद अपने डेटा के बारे में कैसे सोचा। पतों के साथ निर्देशांक जुड़ जाने के बाद, जिन सवालों के लिए पहले किसी सलाहकार की ज़रूरत होती थी, जैसे ग्राहक घनत्व की तुलना में कौन-से क्षेत्र कम सेवा पा रहे हैं या ज़रूरत से ज़्यादा भरे हैं, वे ऐसे सवाल बन गए जिनका जवाब टीम खुद एक स्प्रेडशीट और थोड़े से गणित से दे सकती थी। जियोकोडिंग का चरण ही एकमात्र हिस्सा था जिसके लिए बाहरी सेवा की ज़रूरत थी, और यह प्रोजेक्ट का सबसे छोटा हिस्सा भी था।
पतों का बैच ज़रूरी नहीं कि ग्राहक सूची ही हो। स्टोर के स्थान, सेवा क्षेत्र, कार्यक्रम स्थल, स्प्रेडशीट में टेक्स्ट पते के रूप में रहने वाली कोई भी चीज़ इसी प्रक्रिया से गुज़र सकती है। बैच की सीमाएँ और अनुरोध का फ़ॉर्मेट /docs/forward-geocoding/ और /docs/rate-limits/ पर बताए गए हैं।