セグメントを使用してオーディエンスを絞り込む - Amazon CloudWatch

セグメントを使用してオーディエンスを絞り込む

オーディエンスセグメントを定義して起動や実験に使用できます。セグメントとは、1 つまたは複数の特徴を共有する、オーディエンスの一部分です。例えば、Chrome ブラウザのユーザー、ヨーロッパのユーザー、ヨーロッパの Firefox ブラウザのユーザーで、年齢などアプリケーションが収集する他の条件にも適合するユーザーなどです。

実験でセグメントを使用すると、セグメントの条件に一致するユーザーのみを評価するように実験が制限されます。起動で 1 つまたは複数のセグメントを使用すると、異なるオーディエンスセグメントに対して異なるトラフィック分割を定義できます。

セグメントルールのパターンの構文

セグメントを作成するには、セグメントルールのパターンを定義します。ユーザーセッションがそのセグメントに含まれるかどうかを評価するために使用する属性を指定します。作成したパターンは、Evidently がユーザーセッション内で見つけた evaluationContext の値と比較されます。詳細については、「EvaluateFeature の使用」を参照してください。

セグメントルールのパターンを作成するには、パターンに一致させたいフィールドを指定します。また、AndOrNotExists などのロジックもパターンで使用できます。

evaluationContext がパターンと一致するためには、evaluationContext がルールパターンのすべての部分と一致する必要があります。Evidently では、ルールパターンに含まれていない evaluationContext のフィールドは無視されます。

ルールパターンが一致する値は、JSON のルールに従います。二重引用符 (") で囲んだ文字列、数値、およびキーワード truefalse、および null を含めることができます。

文字列の場合、Evidently では文字単位の厳密な一致が使用され、大文字の小文字化など文字列の正規化は行われません。そのため、ルールの一致では大文字と小文字が区別されます。例えば、evaluationContextbrowser 属性が含まれていても、ルールパターンが Browser をチェックするため、一致しません。

数値の場合、Evidently では文字列表現を使用します。たとえば、300、300.0、3.0e2 は等しいとはみなされません。

evaluationContext と一致させるルールパターンを記述するときは、TestSegmentPattern API または test-segment-pattern CLI コマンドを使用して、パターンが正しい JSON と一致することをテストできます。詳細については、TestSegmentPattern を参照してください。

以下は、Evidently セグメントパターンで使用可能なすべての比較演算子をまとめたものです。

比較 ルール構文

Null

UserId が Null

{ "UserID": [ null ] }

LastName が空白

{ "LastName": [""] }

等しい

ブラウザが「Chrome」

{ "Browser": [ "Chrome" ] }

And

国が「フランス」および端末が「モバイル」

{ "Country": [ "France" ], "Device": ["Mobile"] }

または (1 つの属性の複数の値)

ブラウザが「クローム」または「Firefox」

{ "Browser": ["Chrome", "Firefox"] }

または (異なる属性)

ブラウザが「Safari」またはデバイスが「タブレット」

{ "$or": [ {"Browser": ["Safari"]}, {"Device": ["Tablet"}] ] }

Not

ブラウザが「Safari」以外

{ "Browser": [ { "anything-but": [ "Safari" ] } ] }

数値 (等しい)

Price が 100

{ "Price": [ { "numeric": [ "=", 100 ] } ] }

数値 (範囲)

Price が 10 より大きく 20 以下

{ "Price": [ { "numeric": [ ">", 10, "<=", 20 ] } ] }

存在する

Age フィールドが存在する

{ "Age": [ { "exists": true } ] }

存在しない

Age フィールドが存在しない

{ "Age": [ { "exists": false } ] }

プレフィックスで始まる

リージョンが米国にある

{ "Region": [ {"prefix": "us-" } ] }

サフィックスで終わる

場所に「West」のサフィックスが付く

{ "Region": [ {"suffix": "West" } ] }

セグメントルールの例

次のすべての例では、ルールパターンで使用しているものと同じフィールドラベルと値で evaluationContext の値を渡しているものとします。

次の例は、Browser が Chrome または Firefox で、Location が米国西部の場合に一致します。

{ "Browser": ["Chrome", "Firefox"], "Location": ["US-West"] }

次の例は、Browser が Chrome 以外のブラウザで、LocationUS で始まり、Age フィールドが存在する場合に一致します。

{ "Browser": [ {"anything-but": ["Chrome"]}], "Location": [{"prefix": "US"}], "Age": [{"exists": true}] }

次の例は、Location が日本で、Browser が Safari または Device がタブレットの場合に一致します。

{ "Location": ["Japan"], "$or": [ {"Browser": ["Safari"]}, {"Device": ["Tablet"]} ] }

セグメントの作成

セグメントを作成すると、それをあらゆるプロジェクトのあらゆる起動や実験で使用できます。

セグメントを作成するには
  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで、[Application Signals][Evidently] の順に選択します。

  3. [Segments] (セグメント) タブを選択します。

  4. [Create segment] を選択します。

  5. [Segment name] (セグメント名) に、このセグメントを識別するために使用する名前を入力します。

    必要に応じて説明を追加することもできます。

  6. [Segment pattern] (セグメントパターン) に、ルールパターンを定義する JSON ブロックを入力します。ルールパターンの構文の詳細については、「セグメントルールのパターンの構文」を参照してください。