チェックアウトの前に住所と記載された郵便番号が一致するか確認する
注文フォームの郵便番号と市区町村の不一致は、小さな入力ミスに見えますが、やがて国内のまったく別の地域に荷物が送られる事態につながります。
農村部を対象にすると、都市向けに作られた店舗検索が当然のように持っている多くの前提が崩れます。広大な農業地域に独立系販売店のネットワークを持つある農業機械メーカーは、10マイルや20マイルの半径内の販売店を表示する、都市規模の距離に合わせた検索では、顧客のかなりの割合に対して結果が空になることに気づきました。そうした顧客は、大きな買い物のためなら最寄りの販売店まで1時間以上車を走らせるのが当然だと考えている可能性があります。
その現実に合った検索づくりは、距離に基づくあらゆる検索と同じく、座標から始まりました。メーカーのネットワーク内のすべての販売店住所は、/v1/forwardを通した1回の一括処理で一度だけジオコーディングされました。一括リクエストでは、一覧に販売店がいくつあっても、各住所が1件の課金対象として数えられるからです。これにより、以前の販売店一覧で使われていた「3郡エリアに対応」のような大まかな地域の説明に頼るのではなく、すべての販売店に距離を測るための固定の座標が与えられました。
本当の変化は距離の初期値でした。都市に合わせた固定の検索半径ではなく、農村部の検索エリアでは初期半径を大幅に広げ、さらに顧客が1つの操作で半径を広げられるようにしました。「販売店が見つかりません」という壁に突き当たると、メーカーが近くにまったく拠点を持っていないかのように誤って受け取られてしまうからです。位置の検出を許可した顧客には、IPアドレスからおおよその座標に解決する/v1/ipから開始地点が与えられ、町名や郵便番号の入力を好む顧客には、その入力が販売店一覧と同じ方法でジオコーディングされました。
メーカーは、ジオコーディング済みの販売店ネットワークを顧客向けの検索以外にも活用しました。社内の提供エリア分析です。サービスや保証の登録住所をもとに、自社の機械が実際に使われている場所に対して、販売店と販売店の間に本当の空白がどこにあるかを調べました。販売店ネットワーク全体に座標が付いてから実行されたこの分析は、同社が新しい販売店の募集をどこで優先するかの判断材料になりました。それまでこの判断は、地域の営業担当者がどこでカバーが手薄だと感じるかという非公式な感覚に頼っていました。
これには、コードそのものの中で農村部と都市部の顧客を別々に扱う必要はありませんでした。すべての検索で同じジオコーディングと距離計算が実行されました。変わったのは調整、つまり初期の検索半径と「結果なし」の状態の文言や扱い方です。これらの判断は、根底にある位置情報技術からではなく、実際に対象とする地理の理解から生まれたものでした。その技術自体は、地域が密集していてもまばらでもまったく同じように動作しました。
ジオコーディングの量はほぼすべてが最初の販売店ネットワークの一括処理に集中し、その後は新しい販売店が加わるたびに少しずつ発生するだけでした。この作業量は、メーカーのキーに含まれる1日あたりの無料枠に余裕で収まりました。顧客向けの検索はその上に控えめな継続的利用量を加えましたが、これもこの規模の会社であれば無料枠に十分収まりました。販売店検索は、たとえば日常的な小売店の検索と比べて、はるかに低い頻度でしか行われないからです。
都市を前提として作られた距離ベースのツールは、農村部のユーザーに対して気づかれないまま機能しなくなります。その解決策が別の技術であることはまれで、たいていは同じ計算に別の初期値を適用するだけです。エンドポイントのドキュメントは/docs/forward-geocoding/にあります。