これは「注文の裏話」シリーズの第2弾です。今回は私たちのアプリはどのように食料品をピックアップし、ページで閲覧を可能にし、shopperをチェックアウトするまで案内し、ラストマイル(宅配)ロジスティクスを強化するテクノロジーを紹介します。 全てはあなたの晩御飯が1時間以内にドアに届けるためです。 この投稿を読む前に、是非パート1をチェックして、食料品カタログデータを収集して正規化する方法を確認してください。

前回の記事では、直前の夕食プランの食材、平日夜のレモニーハーブサーモンについて語りました。サーモンフィレ、マイヤーレモン、ディルの商品リストを一般的な食料品カタログに取り込む方法を詳しく説明しました。今回の記事では、これらの材料を見つけてカートに追加し、ボタンをタップするだけでチェックアウトできる技術について説明します。

検索可能なカタログを作成する

ユーザーは、チェックアウトする前にバスケットごとに平均で20回検索します。

私たちはお客様に時間をセーブするためにInstacartを構築し、我々の検索チームはお客様がこれら20件の検索を最大限に活用できるように支援しています。問題は、20,000の場所にある5億件の商品リストを簡単に閲覧できるようにすることは本当に難しいことです。 検索バーに「dill」を追加する場合、新鮮なディール、システムが乾燥ディール、またはディルピクルスかどちらを欲しいかを判断し、それらの提案を最も関連性の高い順に表示する必要があります。

これを実現するために、Elasticsearchと、カタログおよび購入データの7年間のバックログに頼っています。 この特定のクエリに適用できる検索フレームワークは次のとおりです。

1.)ユーザーの意図を理解(決定)する

最初に行う必要があるのは、検索クエリに基づいて意図を特定することです。検索者はただインスピレーションを得るためアプリを利用しますか、または彼らはある特定のアイテムを購入したいのでしょうか? たとえば、ユーザーが「ハーブ」と入力した場合、料理に合わせてさまざまなハーブを探索していると想定できますが、「オーガニックの新鮮なディル」と入力した場合、意図はより明確になります。

2.)商品のキーワードを特定する

すべての検索クエリで核の商品(core product)を取得します。この場合は「dill」です。 この検索の次のレイヤーでは、顧客がその商品に関してのモディファイア(keywords)を追加したかどうかを確認します。これは普通、より強い購入意図があると分かっています。 この例では、「オーガニック」と「フレッシュ」がモディファイアです。 特定のブランドや部門など、他の強力なモディファイアは、検索結果の整理に役立ちます。

3.)カタログへのマッチング

小売業者が在庫データを入力すると、通常は部門ごとに整理されます。 そうでない場合は、事前設定され標準化された部門のリストに追加します。 商品モディファイアを通して適切な意図を判断したら、Elasticsearchを商品とのクエリマッチメーカーとして利用し、カタログデータベースを調べて関連製品を見つけます。


「Organic freshdill」検索に関連する可能性のある部門と製品の検索ツリーの例。

4.)結果のランキング

最後に、顧客がどの商品を購入する可能性が最も高いかを判断し、それらを「トップ」にランク付けする必要があります。 アプリ内で結果を表示する際、キーワードの関連性、過去の購入データ(どのアイテムがバスケットに最も追加されますか)の組み合わせに注目して、理想的なランキングを洗い出します。 時が経つにつれて、より多くのアイテムがより多くのカードに追加されるので、どの商品が各クエリに最も関連しているかについて、より詳細に理解することができます。


クエリのランク付けされた検索結果。 どう思いましたか?

動的バスケット合計の計算

あなたは欲しい商品の一覧をやっと見つけました。そして、商品をカードに入れる前に、価格を確認します。 すべての注文で、クーポンと割引などの取引を合計にリアルタイムで適用するために、顧客プロファイル、小売業者、およびCPGパートナーが提供するロジックを合わせて判断する必要があります。

市場全体で、合計注文コストに影響を与える可能性のある10,000,000以上の取引または割引を実行できます。

アプリにリスト価格を提示するために、顧客、カード内のアイテムの量、小売業者、バスケット内の特定の製品ブランドに関連するさまざまなコンテキストの詳細を考慮します。

さまざまな要因が、店頭やチェックアウト時に選んだサーモンの価格に大きく影響を与える可能性があります。

  • リスティング固有の取引:CPGおよびブランドパートナーは、プラットフォーム上の特定のアイテムのクーポンまたは割引を提供できます。
  • 会員限定割引:特定の小売業者は、会員番号をInstacartユーザープロファイルに入力する顧客にロイヤルティクラブ値段を提供しています。
  • ロケーション(地域)ベースの取引:小売業者は、多くの場合、ロケーションまたは地域固有の取引またはクーポンを提供します。
  • 配送割引:パートナーは、初回利用者に無料配送を提供できます。また、顧客が特定の製品をカードに入れた場合、配送料の免除も提供できます。
  • 大量購入の割引:ブランド業者は、一度に多くの商品を購入することを選択した場合、注文の合計から一定の金額を差し引くことができます。例えば、ヨーグルト販売業者でよく見られる10個買って、10ドルにする、こういう販売手段です。
  • Instacart Expressのメンバーシップ:利用者がInstacart Expressのメンバーである場合、ある金額を超えると注文の配送料は免除されます。
  • ギフトカードとクレジット:個々の顧客プロファイルに追加または発行されたギフト金額です。

上は、期限付き販売価格の対象となる例です

注文の合計がこれらの取引や割引などをすべて考慮に入れるようにするために、Elasticsearchを利用してカタログから製品の基本属性(アイテム名、画像、リスティング設定価格などのすぐわかるもの)を理解し、 そして、我々は単純なRubyロジックを適用されて、選んだ商品に値段の調整を反映します。この調整(price transformation)できたら、カードの合計も一緒に変わります。

このすべてが進行しているため、メンバーズカード、エクスプレスメンバーシップ、初回注文、注文クレジットなど、アカウントに関連付けられている他のコンテキスト情報を取り込み、カードの合計にリアルタイムで適用します。 カート内のサーモンの切り身、新鮮なディル、マイヤーレモンのアイテムが適切に(値段)変換されたことが確認できたら、[注文する]をクリックします。注文情報は永続化され、その情報はフルフィルメントチームがバッチ処理するときに利用します。この注文作成の一環として、合計計算のすべてを確認し、合計請求額を決定し、支払いプロセッサであるStripe®を介して支払い承認を作成します。

この注文の話の次は? フルフィルメントです。 このシリーズの次の記事では、shopperが店内で注文を選ぶのに役立つ技術と、注文をあなたの家に届くためにナビゲートするロジスティクスシステムについて詳しく説明します。

検索、機械学習、ダイナミックバスケットの価格について興味ありますか。もしそうでしたら、 現在の募集をご覧ください。

原文タイトル:The story behind an Instacart order, part 2: browsing and buying

原文作者:instacart

原文リンク先:https://tech.instacart.com/the-story-behind-an-instacart-order-part-2-browsing-and-ordering-6b6a6066a706

今すぐシェアしよう!
今すぐシェアしよう!