このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

パーソナライゼーションキャンペーンでレコメンデーションを使用する

新しいレコメンデーションを作成したら、それをパーソナライゼーションキャンペーンに統合してください。この記事では、このプロセスに Profile API を使用する方法について説明します。

レコメンデーションをデプロイする

レコメンデーションをデプロイするための主な送信先は、AmplitudeのプロフィールAPIです。このリアルタイムAPIは、ユーザーIDまたはデバイスIDで呼び出すことができます。Amplitudeは1秒以内にユーザーに関する情報の配列を返します。

レコメンデーションにプロフィールAPIへのアクセスを許可するには、_[同期]_タブに移動し、レコメンデーションの送信先としてプロフィールAPIを選択します。

APIは

プロファイル API は REST エンドポイントです。 ユーザー ID またはデバイス ID でクエリを実行すると、各ユーザーの JSON 応答を受け取ることができます。

https://profile-api.amplitude.com/v1/userprofile

APIへの認証を行うには、Amplitudeのプロジェクト設定にある秘密鍵を使用します(設定 > プロジェクト > [プロジェクトを選択] > 一般)。

クエリパラメータを設定して、ユーザーIDとレコメンデーションを指定します。API は結果を JSON レスポンスボディとして返します。

次の例のリクエストは、特定のユーザーとレコメンデーションに関する結果を返します。レコメンデーションページの「詳細」セクションでレコメンデーションIDを確認してください。

bash
curl -H "Authorization: Api-Key Secret-Key" 'https://profile-api.amplitude.com/v1/userprofile?user_id=myuser&rec_id=s234ssg'`

このクエリに対する応答例は次のとおりです。

json
{
  "userData": {
    "recommendations": [
      {
        "rec_id": "s234ssg",
        "is_control": true,
        "items": [
          "investing-101",
          "mortgage-rates-primer",
          "retirement-goals",
          "what-is-a-cd",
          "setting-up-direct-deposit"
        ],
        "recommendation_source": "recommendations_model_v2",
        "last_updated": 1614192260
      }
    ],
    "user_id": "myuser",
    "device_id": "bef34a71-62cd-5b2e-af2f-58cd2eabb4d9",
    "amp_props": null
  }
}

この応答には、次の3つの重要な情報が含まれています。

  • rec_id:レコメンデーションの一意の識別子です。
  • is_control:真または偽の結果で、ユーザーがレコメンデーションのコントロールまたはトリートメントのどちらに属しているかを示します。
  • items:文字列の配列です。Amplitudeは結果を最適化するために予測される可能性に基づいて項目を順序付けします。確率の高い項目を最初に表示します。

また、このAPIを使用してユーザープロパティ、予測、およびコホートメンバーシップを取得することもできます。次の例では、レコメンデーション、すべてのユーザープロパティ、予測、およびコホートメンバーシップを取得するためのリクエストを送信します。

bash
curl -H "Authorization: Api-Key Secret-Key" 'https://profile-api.amplitude.com/v1/userprofile?user_id=myuser&rec_id=s234ssg&get_amp_props=true&prediction_id=t456tth&get_cohorts=true'

このクエリに対する応答例は次のとおりです。

json
{
  "userData": {
    "user_id": "myuser",
    "device_id": "bef34a71-62cd-5b2e-af2f-58cd2eabb4d9",
    "amp_props": {
      "country": "United States",
      "city": "Springfield",
      "first_used": "2019-04-30",
      "language": "English",
      "carrier": "Verizon",
      "last_used": "2021-02-25",
      "plan_type": "starter",
      "device": "samsung samsung SM-N976V",
      "os": "android 30",
      "app_version": "6.1.0",
      "gp:membership_points": "1752",
      "gp:initial_utm_campaign": "abcd",
      "gp:email": "user@example.com"
    },
    "recommendations": [
      {
        "rec_id": "s234ssg",
        "items": [
          "investing-101",
          "mortgage-rates-primer",
          "retirement-goals",
          "what-is-a-cd",
          "setting-up-direct-deposit"
        ],
        "is_control": false,
        "recommendation_source": "recommendations_model_v2",
        "last_updated": 1614192260
      }
    ],
    "predictions": [
      {
        "name": "Likelihood to Convert",
        "percentile": 97.5,
        "pred_id": "t456tth",
        "probability": 0.734
      }
    ],
    "cohort_memberships": ["u567uui"]
  }
}

APIの統合

プロファイルAPIを使用すると、お客様のデジタルワークフローに推奨事項を埋め込むことが容易になります。APIを統合するには、次の手順に従ってください。

  1. APIを呼び出します:
    • ユーザーIDまたはデバイスIDを渡して、ユーザープロフィールを取得します。
    • ユーザーセッション中にリアルタイムで呼び出しを行い、その呼び出し時点で最新のユーザープロフィールを取得できます。
    • アプリケーションのスタートアップ時にコールを発信し、ユーザーセッション全体を通してプロファイルをキャッシュします。Profile APIは低遅延で応答し、妥当なトラフィック量を処理しますが、キャッシュを使用すると遅延の変動をさらに減らすことができます。トレードオフとして、結果の鮮度が落ちる可能性があります。ほとんどの場合、キャッシュされた結果は数時間またはそれ以上有効なままです。
    • アプリケーションレベルの秘密鍵をクライアント側のアプリやウェブソースコードに公開しないでください。 バックエンドまたはプロキシを使用してユーザーIDを検証し、AmplitudeのAPIにリクエストを転送します。
  2. APIがレスポンスを返した後、is_controlの値を確認して、どのレコメンデーション体験を提供するかを決定します。
    • falseの場合、レコメンデーションペイロード内のitemsを使用します。
    • trueの場合、デフォルトではベースラインのプロダクト体験が使用されます。Amplitudeはランダムに選択されたアイテムをitemsに入力します。これは、適切なベースラインになる場合もあれば、そうでない場合もあります。
    • recommendationsブロックがnullの場合、またはAPIがエラーを返す場合、デフォルトではベースラインのプロダクト体験が使用されます。これは、Amplitudeがまだユーザーを知らないか、ユーザーに推奨事項を提供するための十分な履歴がないかのいずれかを意味します。
  3. ペイロードから返されたアイテムを社内の CMS または機能フラグ設定システムと照合して、ユーザーに提供するアイテムを指定します。
  4. API をデリバリーシステムと統合します。

結果を分析する

プロファイルAPIを顧客のアプリ、ウェブサイト、メールチャネルにデプロイした後、Amplitudeはレコメンデーションのパフォーマンスを測定します。 Amplitudeは、特定のレコメンデーションに対してProfile APIを呼び出すたびに、イベント[Recs] Recommendation Eventをログを記録します。

このイベントは、イベントボリュームにカウントされません。

レコメンデーションのパフォーマンスを表示するには、関心のあるレコメンデーションを開き、_[パフォーマンス]_タブをクリックします。

Amplitudeは、ファネルコンバージョンチャートからの統計情報をまとめています。

  • ベースラインに対するリフト。
  • レコメンデーションコンバージョン率。
  • コントロールのコンバージョン率。
  • 有意性

Amplitudeは「有意性」を、両側_t_検定から得られる_p_値を用いた1 - *p*として定義しています。場合によっては、以前に保存された特定のチャートで、過去の結果との整合性を維持するために「パフォーマンスを上回る可能性」が引き続き表示されることがあります。

このファネルは、コントロールセグメントとテストセグメントという2つのセグメントを比較します。コントロールセグメントの場合、recommendations.recommendation_control = Trueです。トリートメントセグメントの場合、recommendations.recommendation_control = Falseです。

デフォルトのファネルは、露出イベントと結果イベントの2つのステップで構成されています。 必要に応じて、これらのステップを手動で更新できます。 ファネルは、2 つのセグメントの経時的な比較を示しています。

コントロールと治療のセグメント間の差が統計的に有意かどうかを判断するには、[有意性] 列の値を確認してください。

これらの結果を使用して、各推奨事項の効果を定量化します。

これは役に立ちましたか?