AI 式ビルダーの使用 create-ranking-formulas

ランキング式 ​を使用すると、優先度スコアを考慮するのではなく、最初に提示するオファーを決定するルールを定義できます。

これらのルールを作成するために、Adobe Journey Optimizer の AI 式ビルダーを使用すると、オファーのランク付け方法をより柔軟に制御できます。静的なオファーの優先度のみに依存するのではなく、ガイド付きインターフェイスを通じて、AI モデルスコア、オファーの優先度、プロファイル属性、オファー属性、コンテキストシグナルを組み合わせたカスタムランキング式を定義できるようになりました。

このアプローチにより、AI 駆動型の傾向、ビジネス価値、リアルタイムのコンテキストの任意の組み合わせに基づいてオファーのランキングを動的に調整できるので、マーケティング目標と顧客ニーズの両方に合わせた決定が容易になります。AI 式ビルダーは、適用するコントロールのレベルに応じて、シンプルな式または高度な式をサポートします。

ランキング式を作成したら、選択戦略に割り当てることができます。この選択戦略の使用時に実施要件を満たすオファーが複数ある場合、決定エンジンは選択した式を使用して、最初に配信するオファーを計算します。

ランキング式の作成 create-ranking-formula

ランキング式を作成するには、次の手順に従います。

  1. 戦略設定 ​メニューにアクセスし、「ランキング式」タブを選択します。以前に作成した式のリストが表示されます。

  2. 数式を作成」をクリックします。

  3. 式の名前を指定し、必要に応じて説明を追加します。

    {width="80%"}

  4. オプションで、「AI モデルを選択」をクリックして、ランキング式を作成するための参照として使用するモデルを設定します。

    note note
    NOTE
    連続的な指標を使用した、パーソナライズされた最適化モデルは、AI 式ビルダーではサポートされていません。

    以下の式を定義する際にモデルスコアを参照するたびに、選択した AI モデルが使用されます。

    note caution
    CAUTION
    ランキング式に組み込まれた AI モデルを使用する場合、ホールドアウトトラフィックとモデル駆動型トラフィックのコンバージョン率レポートにデータが反映されません。
  5. 一致する決定項目のランキングスコアを決定する条件を定義します。以下のいずれかを実行できます。

    note note
    NOTE
    ランキング式のネスト深度は 30 レベルに制限されています。これは、PQL 文字列内の ) の閉じ丸括弧をカウントすることによって測定されます。UTF-8 でエンコードされた文字の場合、ルール文字列のサイズは最大 8 KB になります。これは、8,000 個の ASCII 文字(各 1 バイト)、または 2,000~4,000 個の非 ASCII 文字(各 2~4 バイト)に相当します。詳しくは、決定ガードレールと制限を参照してください
  6. また、Adobe Experience Platform のデータを使用して、実際の条件を反映するようにランキングロジックを動的に調整することもできます。これは、製品の在庫状況やリアルタイムの価格設定など、頻繁に変更される属性の場合に特に役立ちます。

    この機能は現在、パブリックベータ版としてすべてのお客様にご使用いただけます。アクセス権をご希望の場合は、アカウント担当者にお問い合わせください。詳しくは、決定の Adobe Experience Platform データの使用方法を参照してください。

式ビルダーを使用した条件の定義 ranking-select-criteria

直感的なインターフェイスにより、AI スコア(傾向)、オファーの値(優先度)、コンテキストレバー、外部プロファイルの傾向を個別または組み合わせて調整することで、決定を微調整し、すべてのインタラクションを最適化できます。

インターフェイスから直接条件を定義するには、次の手順に従います。

  1. 条件 1」セクションで、次の手順を実行して、ランキングスコアを適用する決定項目を指定します。

    {width="70%"}

  2. オプションで、追加の要素を指定して、条件が true になる一致条件を絞り込むことができます。

    {width="80%"}

    例えば、条件 1 として、天気 ​カスタム属性が​ 暖かい ​に​ 等しい ​という条件を定義したとします。さらに、最初の条件が満たされ、リクエスト時に温度が 75℃を超える場合は条件 1 が true になるなどの別の条件を追加できます。

  3. 上記で定義した条件を満たす決定項目にランキングスコアを割り当てる式を作成します。次のいずれかを参照できます。

    • 上記の「詳細」セクションでオプションで選択した AI モデルから出力されたスコア。
    • 決定項目の優先度(決定項目を作成する際に手動で割り当てられる値)。
    • 外部で派生した傾向スコアなど、プロファイルに存在する可能性のある属性。
    • 自由な形式で割り当てることができる静的な値。
    • 上記のすべての組み合わせ。

    {width="70%"}

    note note
    NOTE
    フィールドの横にあるアイコンをクリックして、定義済みの変数を追加します。
  4. 条件を追加」をクリックし、必要な回数に応じて 1 つ以上の条件を追加します。ロジックは次のとおりです。

    • 特定の決定項目に対して最初の条件が true である場合、その条件は次の条件よりも優先されます。
    • 最初の条件が true でない場合、決定エンジンは 2 番目の条件に進み、それ以降も同様に処理されます。
  5. 最後のフィールドでは、上記の条件を満たさないすべての決定項目に割り当てられる式を作成できます。

    {width="70%"}

  6. 作成」をクリックして、ランキング式を完成させます。リストから選択して詳細を表示し、編集または削除できるようになりました。実施要件を満たす決定項目をランク付けするための選択戦略で使用する準備が整いました。

ランキング式の例

次の例をご覧ください。

{width="80%"}

決定項目の地域(カスタム属性)がプロファイルの地理ラベル(プロファイル属性)と等しい場合、ここで表されるランキングスコア(決定項目の優先度、AI モデルスコア、静的な値の組み合わせ)が、その条件を満たすすべての決定項目に適用されます。

コードエディターの使用 ranking-code-editor

ランキング式を PQL 構文 ​で表すには、画面の右上にある専用ボタンを使用してコードエディターに切り替えます。PQL 構文の使用方法について詳しくは、関連するドキュメントを参照してください。

CAUTION
このアクションは、この式のデフォルトのビルダー表示に戻るのを防ぎます。

その後、プロファイル属性、コンテキストデータ決定項目属性を活用できます。

例えば、実際の気温が高い場合に、「hot」属性を持つすべてのオファーの優先度を上げるとします。これを行うには、決定の呼び出し時に contextData.weather=hot を渡します。

{width="80%"}

IMPORTANT
ランキング式を作成する際、過去 1 か月以内に発生したエクスペリエンスイベントを式のコンポーネントとして追加するなど、以前の期間を振り返ることはサポートされていません。数式の作成中にルックバック期間を含めようとすると、保存時にエラーがトリガーされます。

数式で決定項目に関連する属性を活用するには、ランキング式のコードで正しい構文に従っていることを確認してください。詳しくは、各節を展開してください。

決定項目の標準属性の活用
決定項目のカスタム属性の活用

ランキング式 PQL の例 ranking-formula-examples

必要に応じて、様々なランキング式を作成できます。以下に例を示します。

プロファイル属性に基づいた特定のオファー属性を持つオファーのブースト

オファーに対応する市区町村にプロファイルが住んでいる場合は、その市区町村内のすべてのオファーの優先度を 2 倍にします。

ランキング式:

code language-none
if( offer.characteristics.get("city") = homeAddress.city, offer.rank.priority * 2, offer.rank.priority)
終了日が今から 24 時間以内のオファーのブースト

ランキング式:

code language-none
if( offer.selectionConstraint.endDate occurs <= 24 hours after now, offer.rank.priority * 3, offer.rank.priority)
オファーされる製品を顧客が購入する傾向に基づいたオファーのブースト

顧客の傾向スコアに基づいて、オファーのスコアを上げることができます。

この例では、インスタンステナントは _salesvelocity です。また、プロファイルスキーマには、一連のスコアが配列に格納されます。

これを前提として、例えば、次のようなプロファイルの場合、

code language-none
{"_salesvelocity": {"individualScoring": [
                    {"core": {
                            "category":"insurance",
                            "propensityScore": 96.9
                        }},
                    {"core": {
                            "category":"personalLoan",
                            "propensityScore": 45.3
                        }},
                    {"core": {
                            "category":"creditCard",
                            "propensityScore": 78.1
                        }}
                    ]}
}
コンテキストデータに基づいてオファーの優先度を上げる

Journey Optimizer を使用すると、呼び出しで渡されるコンテキストデータに基づいて、特定のオファーの優先度を上げることができます。例えば、contextData.weather=hot が渡される場合は、attribute=hot を含んだすべてのオファーの優先度を上げる必要があります。

note note
NOTE
コンテキストデータを渡す方法について詳しくはこの節を参照してください。

Decisioning API を使用する場合は、次の例のように、コンテキストデータをリクエスト本文のプロファイル要素に追加します。

code language-none
"xdm:profiles": [
{
    "xdm:identityMap": {
        "crmid": [
            {
            "xdm:id": "CRMID1"
            }
        ]
    },
    "xdm:contextData": [
        {
            "@type":"_xdm.context.additionalParameters;version=1",
            "xdm:data":{
                "xdm:weather":"hot"
            }
        }
    ]

}],
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76