良い特徴量を選択する
Decisioning Studio Proモデルは、顧客特徴量を入力として使用し、個別化されたおすすめを行います。意思決定空間に適した高品質な特徴量は、モデルのパフォーマンスを向上させるための最も効果的な手段の一つです。この記事では、提供できる特徴量の種類、適切な構築方法、エージェントが選択するアクションと特徴量を整合させる考え方について説明します。
社内にデータサイエンスチームやデータエンジニアリングチームがある場合、データ内のどのシグナルが意味を持つかについて最も多くのコンテキストを持っているため、特徴量の構築とキュレートに最適な立場にあります。

Brazeをご利用のお客様の場合、顧客特徴量は通常、ユーザープロファイルのカスタム属性を通じてDecisioning Studio Proに渡されます。カスタム属性とカスタムイベントの違い、およびそれぞれの更新戦略の詳細については、スナップショットとイベントストリームを参照してください。
顧客特徴量の種類
顧客特徴量には、一般的に次の4つのカテゴリーがあります。
| 特徴量の種類 | 取得する内容 | 例 |
|---|---|---|
| ユーザープロファイリング | 顧客のステータスに関する客観的な事実 | age, loyalty_tier, days_enrolled, city, acquisition_channel |
| ユーザー傾向 | 顧客が何らかの行動をとる可能性を示す、モデルから算出されたスコア | churn_risk_score, purchase_intent_score, upsell_affinity |
| ユーザー行動 | 一定期間における顧客アクティビティの要約 | clicks_past_30d, purchases_past_7d, app_logins_past_14d |
| 環境 | 顧客の外部にある、状況に即したシグナル | is_promotional_period, is_holiday, regional_economic_index |
これらの特徴量の種類を組み合わせることで、モデルはセグメントを特定し、顧客を区別し、それに応じてレコメンデーションを調整するために必要な情報を得られます。
一般的なガイドライン
特徴量を選択して構築する際は、次の点に留意してください。
- 網羅性: 特徴量は、ターゲットオーディエンスのすべての顧客を網羅する必要があります。オーディエンスの大部分で欠落している特徴量や null の特徴量があると、それらの顧客についてモデルが活用できる情報が少なくなります。
- 粒度: すべての特徴量は顧客レベルで集計する必要があります。「顧客レベル」が実際に何を意味するかについては、Braze external ID を使用するを参照してください。
- 鮮度: 特徴量は、毎日など時間ベースのスケジュールで、オーディエンス内のすべての顧客について更新してください。新しいアクティビティがない顧客も対象に含めます。これが重要な理由については、スナップショットとイベントストリームの比較を参照してください。
- 妥当性: 特徴量の値は、その定義に照らして妥当な範囲内に収まる必要があります。たとえば「過去 30 日間の購入数」という特徴量が負の値になることはありません。
- スパース性: 明確なビジネス上の理由がない限り、大多数の顧客でゼロまたは null になる特徴量は避けてください。スパースな特徴量は、シグナルを増やすことなくノイズを増やします。
- 相関: 互いに強く相関する特徴量を含めないようにしてください。冗長な特徴量は予測を改善することなく、バイアスをもたらしたりトレーニングを遅くしたりする可能性があります。
行動特徴量を構築する
行動特徴量は、定義した期間における顧客のアクション履歴を要約したものです (例:「過去28日間の購入回数」)。行動特徴量は顧客が実際にどのように行動しているかを捉えるため、レコメンデーションシステムにとって最も価値の高い特徴量の1つです。静的なプロファイル特性は顧客が誰であるかを表し、行動特徴量は顧客が何をしているかを表します。
期間を選択する
適切な期間は、測定するアクションを顧客がどのくらいの頻度で行うかによって異なります。
- 短い期間 (7~28日): アプリへのログイン、メールの開封、Web サイトへの訪問など、頻度の高いアクティビティに使用します。
- 長い期間 (90~365日): 製品の購入、購読の更新、カスタマーサービスへの問い合わせなど、頻度の低いアクティビティに使用します。
便利な診断方法があります。特徴量の値の大部分がゼロになっている場合、期間が短すぎる可能性があります。顧客間で意味のあるばらつきが見られるようになるまで、期間を広げてください。
集計方法を選択する
- 値を持たないイベント (発生したかどうかだけが重要なもの) には、カウント集計を使用します。例:
email_opens_past_30d。 - 値が関連付けられたイベント (収益、継続時間、数量) には、合計集計と平均集計の両方を使用します。例:
purchase_value_sum_past_90dとpurchase_value_avg_past_90d。これらは、総量とイベントごとの大きさについて、互いに補完する情報を提供します。
アクションスペースに合わせて特徴量を設計する
Decisioning Studio Proはランキングシステムです。その目的は、定義された選択肢の中から、顧客ごとに最良の結果をもたらす可能性が最も高いアクションを特定することです。そのため、特徴量には特有の要件があります。可能な限り、特定の顧客に対して利用可能な選択肢をモデルが区別しやすくなる情報を特徴量で提供する必要があります。
これが重要な理由
たとえば、エージェントのアクションスペースが、コーヒー、紅茶、タピオカティーの3つのメニュー項目から1つを推奨するものだとします。
特徴量が顧客を大まかに表すもの(「ドリンクを頻繁に注文する」や「メールエンゲージメントが高い」など)であれば、モデルは顧客を大まかなグループに分けることができます。しかし、特定の顧客に対してコーヒーとタピオカティーのどちらを上位にするかを判断する際には、大まかな特徴量はあまり役に立ちません。大まかな特徴量では同一に見える2人の顧客でも、好みがまったく正反対である場合があるためです。
一見似ている2人の顧客にコーヒーを推奨したのに一方しかコンバージョンしなかった場合のように、モデルが矛盾するシグナルに直面すると、効果的に学習できません。このノイズにより、正確なランキングを行う能力が低下します。
アクションスペースに合った特徴量を作成する
アクションスペースと同じ粒度に対応する特徴量は、モデルにはるかに強力なランキングシグナルを提供します。カフェの例では、coffee_orders_past_14d のような特徴量は、顧客がコーヒーを好むかどうかを直接モデルに伝えます。black_tea_orders_past_14d のような特徴量は、紅茶について同じ役割を果たします。これにより、モデルは十分な情報に基づいたランキングの判断を行えるようになります。
アクションに合わせた特徴量があれば、モデルは飽和や疲労も検出できます。顧客の coffee_orders_past_14d の値が高いにもかかわらず、最近のコーヒーの推奨でコンバージョンしなかった場合、モデルはコーヒーを再度推奨することが最善の選択ではない可能性を学習し、代替案のテストを開始します。
完全に一致させることができない場合
特徴量とアクションを完全に一致させることが理想ですが、多くの場合、データの可用性によって制約を受けます。完全に一致した特徴量を作成できない場合は、次の2つのアプローチが役立ちます。
データの集約:紅茶とタピオカティーの購入を区別できない場合は、集約した tea_orders_past_14d 特徴量を使用します。精度は多少低下しますが、お茶を好む顧客とコーヒーを好む顧客をモデルが区別するのに役立ちます。
間接的なシグナル:アクションスペースに直接含まれない特徴量でも、アクションスペースと論理的な関係があれば価値があります。たとえば、dessert_purchased_past_30d は甘いものへの好みを示す妥当な代理指標であり、タピオカティーへの好みと相関している可能性が高いと考えられます。モデルは、直接一致する特徴量がなくても、こうした間接的なシグナルから学習できます。
根本的な原則として、より関連性が高く粒度の細かい情報は常に役立ちますが、モデルは不完全な特徴量からでも学習できます。まずは手元にあるデータから始め、より多くのデータが利用可能になるにつれて、時間をかけて改善していきましょう。