Eine fehlgeschlagene Möbellieferung ist auf eine Weise teuer, wie es eine fehlgeschlagene Paketzustellung nicht ist. Ein Lkw, ein Zwei-Personen-Team und ein vereinbartes Zeitfenster sind verschwendet, wenn die Adresse auf der Bestellung nirgendwohin Sinnvolles führt, und ein Möbelhändler, der große Artikel in festen Lieferfenstern ausliefert, trug diese Kosten mehrmals pro Woche.
Die meisten Fehlschläge ließen sich auf dieselbe Ursache zurückführen: eine Adresse, die nach Ansicht des Kunden korrekt eingegeben war, sich aber tatsächlich nicht zu einem belieferbaren Ort auflösen ließ, sei es wegen eines Tippfehlers im Straßennamen, einer Postleitzahl, die nicht zur eingegebenen Stadt passte, oder einer komplett fehlenden Wohnungsnummer. Nichts davon ist offensichtlich, wenn man nur den Text der Adresse liest. Es wird erst offensichtlich, wenn etwas versucht, diese Adresse mit echten geografischen Daten abzugleichen.
Der Händler fügte bei der Bestellbestätigung eine Prüfung ein, noch bevor die Bestellung überhaupt an das System für die Lieferplanung übergeben wurde. Die vom Kunden eingegebene Adresse wurde an /v1/forward gesendet, das sie abzugleichen versucht und ein Ortsergebnis zusammen mit einer Angabe zur Trefferqualität zurückgibt. Es zeigt also, wie sicher die Adresse aufgelöst wurde, statt so zu tun, als sei jede Eingabe gleich zuverlässig. Zusätzlich wurde die vom Kunden eingegebene Postleitzahl gegen /v1/postcode geprüft, das nachschlägt, wofür diese Postleitzahl steht. So wurde der konkrete Fall erkannt, dass Postleitzahl und Stadtname nicht zueinander passten, ein Fehler, der einem Kunden durch fehlerhaftes automatisches Ausfüllen leicht unterläuft und der beim Lesen des Bestellformulars nur sehr schwer auffällt.
Bestellungen, bei denen beide Prüfungen sauber ausfielen, gingen direkt in die Planung. Bestellungen, bei denen die Adresse nur teilweise übereinstimmte oder Postleitzahl und Stadt nicht zueinander passten, wurden für einen kurzen Bestätigungsanruf oder eine E-Mail markiert, bevor überhaupt ein Lieferfenster gebucht wurde. Dieser eine zusätzliche Schritt, der automatisch ablief und griff, bevor Kosten für einen Lkw entstanden, verlagerte die Korrektur nach vorn im Prozess: von „entdeckt von einem Team, das an der falschen Adresse steht“ zu „geklärt per E-Mail am selben Tag, an dem die Bestellung aufgegeben wurde“.
Der Händler achtete genau darauf, was er seinen Kunden gegenüber behauptete. Eine solche Prüfung bestätigt, dass eine Adresse korrekt aufgebaut und geografisch plausibel ist. Sie bestätigt nicht, dass eine bestimmte Wohnungsnummer in einem großen Wohnkomplex existiert oder dass die bestellende Person tatsächlich dort wohnt. Deshalb wurde die Markierungslogik so eingestellt, dass sie eindeutig fehlerhafte Adressen erkennt, statt alles abzulehnen, was auch nur leicht ungewöhnlich ist, denn das hätte mehr Fehlalarme erzeugt als Probleme gelöst.
Da die Prüfung einmal pro Bestellung lief und nicht pro Seitenaufruf, war das Volumen leicht vorherzusagen und blieb für einen Händler dieser Größe deutlich innerhalb des kostenlosen Tageskontingents, wobei Prepaid-Guthaben jeden Überschuss während einer Rabattaktion abdeckte. Der Nutzen der Änderung zeigte sich direkt in weniger verschwendeten Lieferfenstern, und das sind Kosten, die sich leicht messen und gegenüber einem sehr niedrigen Preis pro Anfrage leicht rechtfertigen lassen.
Die Dokumentation für beide Endpunkte, einschließlich der Darstellung der Trefferqualität, finden Sie unter /docs/forward-geocoding/ und /docs/postal-code-lookup/.