カスタム数式:構文と定義
Amplitude Academy
カスタム数式を使用して高度なビジュアライゼーションを作成する
高度な比較の作成、ローリングおよび累積指標の適用、トレンドの視覚化など、すべてを1つのチャートで行うことができます。
今すぐ始めるイベントセグメンテーションまたはデータテーブルチャートでは、[測定基準]モジュールの[詳細設定]ドロップダウンにある[数式]オプションを使用すると、分析を実行する際にさらに柔軟になります。カスタム数式は、同じチャート上の分析を比較するのにも役立ちます。
20種類以上のカスタム数式から選択して、必要なメトリクスをプロットできます。 同じチャートに最大 10 個の数式をプロットできます。数式はセミコロンで区切られます。
この記事では、カスタム数式の仕組みについて説明し、すぐに使用できる数式の例を紹介します。
イベントとセッションの入力を1つの式に組み合わせるには(たとえば、セッションごとの収益やセッションごとのカートへの追加など)、データテーブルまたはメトリクスエクスプローラのチャートでハイブリッド数式を使用します。 イベントセグメンテーションチャートでは、このページで説明されている標準のイベント専用数式パスを引き続き使用しています。
実験結果のチャートも数式メトリクスを使用していますが、その方法はイベントセグメンテーションやデータテーブルのチャートとは異なります。これらの違いについて詳しくは、Amplitudeの実験結果チャートで数式メトリックを使用する方法に関するヘルプセンターの記事を参照してください。
数式の構文
数式では、[イベント]モジュールで選択されたイベントを、対応する文字で参照してください。関数とパラメータは大文字と小文字を区別しません。 また、次の算術演算を実行することもできます。
- 括弧()。
- 加算(+)。
- 減算(-)。
- 乗算(*)。
- 除算(/)。
たとえば、数式UNIQUES(A)の文字AはイベントView Item Detailsを表し、数式UNIQUES(B)の文字BはイベントAdd Item to Cartを表します。 この設定により、アイテムの詳細を表示したユーザーと、アイテムをカートに入れたユーザーとの比率が表示されます。
イベントからなる数式を作成し、各イベントをプロパティごとにグループ化できます。 この数式が有効になるには、セグメント化するすべてのイベントでプロパティの値が一致している必要があります。
たとえば、Page Nameというイベントがある場合、次のプロパティ値は一致しません。
TutorialおよびTUTORIAL(大文字と小文字を区別します)。1および1.0(文字が一致していません)。
プロパティをグループ化する順序も重要です。 両方のイベントに_グループ化基準_値が同じ順序で指定されている必要があります。そうでない場合、Amplitudeはイベントに一致するグループ化基準値がないことを警告します。
複数項の数式によるランキング
グループバイで複数項の数式指標を使用する場合、Amplitude は最終的な計算値ではなく、数式内のすべての指標におけるユニークユーザー数の合計に基づいてグループをランク付けします。このランキングは、カーディナリティの高い結果において、どのグループが表示されるかに影響を与える場合があります。詳細については、「Data Tablesの列ランキング動作」を参照してください。
カスタム数式を使用して、あるコホートのユーザーが別のコホートのユーザーよりも特定のイベントを何倍多くトリガーするかを明らかにします。
2 つの異なるコホートまたはユーザーセグメント間でメトリックを比較するには、イベントを表す文字にセグメント番号を追加します:UNIQUES(A1)/UNIQUES(A2)。この設定により、同じイベントに対する各コホートのパフォーマンス比率が、グラフ上に1本のラインとして表示されます。
数式に次の接頭辞を追加することで、メトリックをパーセントまたはドルで表示することもできます。
- パーセンテージ(%:)。
- ドル($:)。
使用可能な数式のリスト
このセクションでは、使用可能な数式をタイプ別にリストします(メトリック、集計、および関数)。 数式名をクリックすると、その構文を確認できます。
メトリックの数式
メトリック数式を使用すると、関心のある特定のイベントのメトリックをクエリできます。 これらの数式では緑色の色分けが使用されます。 各メトリクスの数式では、パラメータとして、対象のイベントに対応する文字を指定する必要があります。
集計式
集計数式を使用すると、関心のあるメトリックとイベントについて、移動平均または移動ウィンドウを照会できます。これらの数式では紫色の色分けが使用されます。 各集計数式には、集計対象のメトリック、関心のあるイベント、および集計対象の間隔という 3 つの要素が必要です。
関数式
関数式を使用すると、関心のある特定のイベントやメトリックについて数学関数をクエリできます。 これらの数式では青色の色分けが使用されます。 各関数式には、定数またはイベントを含む別の式のいずれかの値が必要です。
メトリックの数式
ACTIVE
構文
ACTIVE(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
返り値
イベントをトリガーしたアクティブ ユーザーの割合(10 進数小数形式)。
イベントをトリガーしたアクティブユーザーの割合を返します。
これは Measured カードのActive %メトリックと同じですが、ここでは小数点形式で表示されます。
例
ACTIVE(A)では、View Item Detailsイベントをトリガーしたアクティブ ユーザーの割合が表示されます。
ARPAU
構文
$:ARPAU(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内の収益イベントに対応する文字です。 |
返り値
通貨形式でフォーマットされた収益イベントプロパティの総額を、同じ期間のユニークアクティブユーザー数で割った値です。 PROPSUM(event) / UNIQUES(any active event)に相当します。
アクティブユーザーごとの総収益を通貨形式で返します。
ARPAU は、イベントの数値プロパティでグループ化した場合にのみ機能します。 $:プレフィックスはオプションです。プレフィックスが存在することにより、出力形式が通貨であることを保証します。
例一般的な E コマース企業におけるアクティブユーザーあたりの平均収益を計算するために使用します`ARPAU`。
ARPAUを集計数式と組み合わせて使用することはできません。
AVG
構文
AVG(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | チャートコントロールパネルの左側モジュール内のイベントに対応する文字です。 |
返り値
ユーザーがイベントをトリガーした平均回数。 TOTALS(event)/UNIQUES(event)に相当します。
ユーザーがイベントをトリガーした平均回数を返します。
例
AVG(A); AVG(B)では、ユーザーが View Item Details(イベント A)をトリガーした平均回数と、ユーザーが Add Item to Cart(イベント B)をトリガーした平均回数を同じチャートに表示しています。
FREQPERCENTILE
構文
FREQPERCENTILE(event, percentage)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
percentage | 対象のパーセンタイル値を指定します。1 以下である必要があります。 |
返り値
すべてのユーザにわたって指定されたパーセンタイルでのイベント頻度。
HIST
構文
HIST(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
返り値
選択した期間におけるユニークユーザーごとのイベント頻度の分布。
選択した期間におけるユニークユーザーごとのイベント頻度の分布を返します。
構文
HIST(session)
パラメータ
| パラメータ | 概要 |
|---|---|
session | セッションカード内のセッションに対応する文字です。 |
返り値
選択した期間におけるセッション時間の分布(秒単位)。
ユーザーセッションチャートでは、セッションがメトリックの対象となるため、HISTの構文が若干異なります。
この変種は、ユーザー セッションの持続時間を把握したい場合に使用します。
PERCENTILE
構文
PERCENTILE(event, percentage)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
percentage | 対象のパーセンタイル値を指定します。1 以下である必要があります。 |
返り値
指定されたパーセンタイルにおける grouped-by プロパティの値。
グループ化対象のプロパティの入力されたパーセンタイルを返します。
この関数は、イベントの数値プロパティでグループ化した場合にのみ使用できます。
例
PERCENTILE(A, 0.9)は、すべてのComplete Purchaseイベントの収益の90パーセンタイル値を返します。PERCENTILEは、ロード時間を追跡し、ロード時間の一定割合が特定のしきい値を下回っていることを確認する場合にも役立ちます。
PROPAVG
構文
PROPAVG(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
返り値
グループ化されたプロパティ値の平均値です。 PROPSUM(event)/TOTALS(event)に相当します。
グループ化に使用しているプロパティ値の平均値を返します。
PROPAVG は、イベントの数値プロパティでグループ化した場合にのみ機能します。 複数のプロパティでグループ化した場合、数式は最初のグループ化句を使用して計算を実行します。
PROPAVG数式は、選択したプロパティ値が(none)のイベントを無視します。
例
PROPAVG を使用して、特定の日に完了した購入によって生み出された平均収益を計算します。
PROPCOUNT
構文
PROPCOUNT(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内のイベントに対応する文字です。 複数のプロパティでグループ化した場合、数式は最初のグループ化句を使用して計算を実行します。 |
返り値
イベントをグループ化する基準となるプロパティの異なるプロパティ値の数。
イベントがグループ化されているプロパティに対して、一意のプロパティ値の数を返します。
PROPCOUNT は、異なるプロパティ値の推定値です。 この推定値はHyperLogLogアルゴリズムに基づいており、その精度は処理対象となるデータ量に依存します。プロパティのカーディナリティに応じて、一意な値が 12,000 件未満の場合は相対誤差がおおよそ 0.1% 程度、一意なプロパティ値が 12,000 件を超える場合は最大 0.5% 程度の相対誤差が発生することがあります。
例
DAU チャートでは、PROPCOUNT(A)指定した期間中にアクティブユーザーが存在した異なる国の数を取得します。
PROPCOUNTAVG
構文
PROPCOUNTAVG(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内のイベントに対応する文字です。 複数のプロパティでグループ化した場合、数式は最初のグループ化句を使用して計算を実行します。 |
返り値
各ユーザーがグループ化基準プロパティに対して持つ異なる値の平均数。
指定されたプロパティに対して各ユーザーが持つ異なる値の平均数を返します。
例
ある音楽アプリでは、各Play Song or VideoイベントでGenre_Typeプロパティを取得しています。 Genre_Typeでグループ化されたPlay Song or VideoでPROPCOUNTAVGを実行すると、Play Song or Videoを起動するユーザーあたりのユニークなGenre_Type値の平均数が返されます。
PROPHIST
構文
PROPHIST(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
返り値
選択した期間におけるグループ化プロパティ値の分布。
選択した期間におけるグループ化基準となるプロパティ値の分布を返します。
PROPHIST は、イベントに関する数値グループ化プロパティで動作します。 複数のプロパティでグループ化した場合、数式は最初のグループ化句を使用して計算を実行します。
例
PROPHIST(A)には、選択した期間中に購入を完了したユーザーのカート金額のヒストグラムが表示されます。
PROPMAX
構文
PROPMAX(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内のイベントに対応する文字です。 grouped-byプロパティは数値である必要があります。 複数のプロパティでグループ化する場合、計算では最初のgroup-by句が使用されます。 |
返り値
指定されたイベントの grouped-by プロパティの最大値。
イベントをグループ化しているプロパティの最大値を返します。
PROPMIN
構文
PROPMIN(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内のイベントに対応する文字です。 grouped-byプロパティは数値である必要があります。 複数のプロパティでグループ化する場合、計算では最初のgroup-by句が使用されます。 |
返り値
指定したイベントのグループ化プロパティの最小値。
イベントをグループ化する基準となるプロパティの最小値を返します。
PROPSUM
構文
PROPSUM(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内のイベントに対応する文字です。 イベントは、合計したいプロパティごとにグループ化する必要があります。 |
返り値
指定されたイベントのグループ化基準プロパティ値の合計。
イベントをグループ化しているプロパティ値の合計を返します。
PROPSUM は、イベントの数値プロパティでグループ化した場合にのみ機能します。 複数のプロパティでグループ化した場合、数式は最初のグループ化句を使用して計算を実行します。
例
PROPSUM(A)は、Complete Purchaseイベントによって生み出された総収益を示しています。
構文
PROPSUM(session)
パラメータ
| パラメータ | 概要 |
|---|---|
session | セッションカード内のセッションに対応する文字です。 |
返り値
一致するすべてのセッションにわたって合計された合計時間(秒単位)。
ユーザーセッションチャートでは、セッションがメトリックの対象となるため、PROPSUMの構文が若干異なります。
以下のグラフは、すべてのセッションにわたって合計された合計時間を秒単位で示しています。

REVENUETOTAL
構文
$:REVENUETOTAL(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベント カード内の収益イベントに対応する文字です。 |
返り値
通貨形式でフォーマットされたプロパティの総和。 PROPSUM(event)に相当します。
収益プロパティの総額を通貨形式で返します。
REVENUETOTAL は、イベントの数値プロパティでグループ化した場合にのみ機能します。 $:プレフィックスはオプションです。プレフィックスが存在することにより、出力形式が通貨であることを保証します。
例
$:REVENUETOTAL(A)は、購入によって生み出された日ごとの総収益を示しています。
TOTALS
構文
TOTALS(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | チャートコントロールパネルの左側モジュール内のイベントに対応する文字です。 |
返り値
ユーザーがイベントをトリガーした総回数。
ユーザーがイベントをトリガーした回数の合計を返します。
例
TOTALS(A); TOTALS(B)は、ユーザーがアイテムの詳細を表示した総回数(イベント A)に、ユーザーがアイテムをカートに追加した総回数(イベント B)を加算した合計を示しています。
UNIQUES
構文
UNIQUES(event)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
返り値
イベントをトリガーしたユニークユーザーの数。
イベントをトリガーしたユニークユーザーの数を返します。
構文
UNIQUES(session)
パラメータ
| パラメータ | 概要 |
|---|---|
session | セッションカード内のセッションに対応する文字です。 |
返り値
指定されたセッションに参加したユニークユーザーの数。
ユーザーセッションチャートでは、セッションがメトリックの対象となるため、UNIQUESの構文が若干異なります。
この例
UNIQUES(A)/UNIQUES(B)は、1 分以上のセッションに参加したユーザーと、1 つ以上のSearch Itemsイベントを含むセッションに参加したユーザーとの比率を示しています。

EVENTTOTALS
構文
EVENTTOTALS(session)
パラメータ
| パラメータ | 概要 |
|---|---|
session | セッションカード内のセッションに対応する文字です。 |
返り値
各セッション中にトリガーされたイベントの総数。
各セッション中にトリガーされたイベントの総数を返します。
この数式メトリックは、ユーザーセッションチャートでのみ使用できます。
例
EVENTTOTALS(A)は、すべてのセッションにわたるPage Viewedイベント数を返します。
SESSIONTOTALS
構文
- ユーザーセッションチャート:
SESSIONTOTALS(session) - イベントセグメンテーションチャート:
SESSIONTOTALS(event)
パラメータ
| パラメータ | 概要 |
|---|---|
session | セッションカード内のセッションに対応する文字です。 |
event | イベントカード内のイベントに対応する文字です。 |
返り値
SESSIONTOTALS(session)の場合: 指定されたセッションラベルに一致するセッション数です。SESSIONTOTALS(event)の場合:指定されたイベントを少なくとも1回含むセッションの数です。
セッション数を返します。 ユーザーセッションとイベントセグメンテーションの両方のチャートで使用できます。
SESSIONTOTALSに渡す値は、使用しているチャートによって異なります。
例
以下の設定は、英国のすべてのユーザーについて、各セッション中に少なくとも 1 つのAdd to Cartイベントを完了した過去 30 日間の日別セッション数の合計を示しています。

SEMANTICTOTALS
構文
SEMANTICTOTALS(event, semantic)
パラメータ
| パラメータ | 概要 |
|---|---|
event | イベントカード内のイベントに対応する文字です。 |
semantic | カートのプロパティ(配列のプロパティ)でグループ化した場合の合計値の計算方法。 サポートされている値:UNIQUE_ARRAY_VALUESは、配列プロパティ内の値を重複排除してカウントすることで、「イベント数のカウント」を実行します。ALL_VALUESは、配列プロパティ内の各要素を重複排除せずにカウントすることで、「アイテム数のカウント」を実行します。 |
返り値
選択した semantic に従ってカウントされた、イベントが発生した合計回数。
配列プロパティのカウント方法を明示的に制御しながら、イベントの総発生回数を返します。
これにより、カートプロパティによるグループ化を行う際に、イベント合計および平均の測定設定で利用可能なカウントオプションへ、数式ベースでアクセスできます。
例
ある Checkout イベントには cart プロパティ item_list.product_categoryがあります。同じプロダクトカテゴリ「タコス」の下に2つのタコス(1つのクランチータコスと1つのソフトタコス)が1つのCheckoutイベントに含まれている場合:
SEMANTICTOTALS(A, UNIQUE_ARRAY_VALUES)は、1件のチェックアウトイベントをカウントします。SEMANTICTOTALS(A, ALL_VALUES)は、2件のチェックアウトアイテムをカウントします。
TOTALSのデフォルトの動作は変更されません(「アイテムの数え方」と同等です)。 イベントをカウントするかアイテムをカウントするかを明示的に選択する必要がある場合SEMANTICTOTALSに使用します。
集計式
CUMSUM
構文
CUMSUM(metric, event)
パラメータ
| パラメータ | 概要 |
|---|---|
metric | 上記のメトリクス式の1つです。 |
event | イベントカード内のイベントに対応する文字です。 |
返り値
チャートの期間にわたる日、週、または月の累計を含む、選択したイベントのメトリック。
選択したイベントのメトリックを、チャートの時間枠にわたる累計値とともに返します。
CUMSUM(UNIQUES, A) は、各データポイントにおける一意ユーザー数を重複排除した上で返します。
例
過去 30 日間の Complete Purchase イベントによる収益の日次の累積合計。2 月 22 日のデータポイントは、2 月 20、21、22 日に発生した収益の合計です。
ROLLAVG
構文
ROLLAVG(metric, event, intervals)
パラメータ
| パラメータ | 概要 |
|---|---|
metric | 上記のメトリクス式の1つです。 |
event | イベントカード内のイベントに対応する文字です。 |
intervals | ローリング平均に含める5分間隔の数、時間数、日数、週数、または月数を指定します。最大範囲は、36回の5分間隔(3時間)、72時間、90日、12週間、または12か月です。 |
返り値
指定された間隔数にわたるイベントのメトリックの平均値です。
選択したイベントのメトリックを、選択した期間の移動平均とともに返します。
日次チャートでは、1日の間隔でのみ移動平均を使用できます。
例
: 毎日のアクティブユーザー数に週間のローリング平均を重ね合わせます。 青い線は日次アクティブユーザーを示し、緑色の線は週間の移動平均を示しています。この比較を使用して、毎日のアクティブユーザー数がローリング平均よりも高いか低いかを確認できます。
ROLLWIN
構文
ROLLWIN(metric, event, intervals)
パラメータ
| パラメータ | 概要 |
|---|---|
metric | 上記のメトリクス式の1つです。 |
event | イベントカード内のイベントに対応する文字です。 |
intervals | ローリングウィンドウに含める5分間隔の数、時間数、日数、週数、または月数。最大範囲は、36回の5分間隔(3時間)、72時間、90日、12週間、または12か月です。 |
返り値
ローリングウィンドウにおけるイベントのメトリック。 ローリングウィンドウ集計は、コホートフィルタが使用されている場合、そのフィルタの_後に_適用されます。
指定した日数、週数、または月数のローリングウィンドウで選択されたイベントのメトリックを返します。
チャートに表示される日、週、または月は、そのウィンドウ期間の最終日を表します。
例
このグラフは、まず各時間間隔の新規ユーザー数を計算し、次にその上にローリングウィンドウ集計を実行します。
ROLLWINBEFORE
構文
ROLLWINBEFORE(metric, event, intervals)
パラメータ
| パラメータ | 概要 |
|---|---|
metric | 上記のメトリクス式の1つです。 |
event | イベントカード内のイベントに対応する文字です。 |
intervals | ローリングウィンドウに含める5分間隔の数、時間数、日数、週数、または月数。最大範囲は、36回の5分間隔(3時間)、72時間、90日、12週間、または12か月です。 |
返り値
ローリングウィンドウにおけるイベントのメトリック。 ローリングウィンドウ集計は、コホートフィルタが使用されている場合、その_前に_適用されます。
指定した数回の間隔にわたってローリングウィンドウで選択されたイベントのメトリックを返します。このメトリックは、コホートフィルタの_前に_適用されます。
例
このグラフは、まず各時間間隔のアクティブ ユーザー数を計算し、次にその上に新しいユーザー コホート フィルターを適用します。
関数式
EXP
構文
EXP(value)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントのUNIQUES)を指定します。 許容される最大値は700です。 |
返り値
e の value 乗。
e を指定した値の累乗として返します。
例では、
EXP(AVG(A)) e をユーザーがチケットを購入する平均回数の累乗として計算しています。
LN
構文
LN(value)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントの関数UNIQUES)。 |
返り値
valueの自然対数です。
LOG
構文
LOG(value, base)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントの関数TOTALS)。 |
base | 定数です。 base は定数でなければならず、他の関数を含めることはできません。 |
返り値
指定された value に対する対数ですbase。
指定された基数に対する値の対数を返します。
例
LOG(UNIQUES(A), 3)は、3 を底とするユニーク アクティブ ユーザー数の対数を返します。
LOG10
構文
LOG10(value)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントの関数AVG)。 |
返り値
valueの 10 進法の対数です。
値の10を底とする対数を返します。
例
LOG10(AVG(A))は、ユーザーが Complete Purchase をトリガーした平均回数の常用対数を返します。
POWER
構文
POWER(value, exponent)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントの関数TOTALS)。 |
exponent | 定数です。 指数は定数である必要があり、他の関数を含めることはできません。 |
返り値
value を exponent 乗します。
指定された指数で累乗した値を返します。
この例では、イベント A をトリガーしたユニークユーザーの数の平方数を
POWER(UNIQUES(A), 2)返します。
SQRT
構文
SQRT(value)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントの関数AVG)。 |
返り値
valueの平方根です。
値の平方根を返します。
例
SQRT(TOTALS(A))は、ユーザーがイベント A をトリガーした総回数の平方根を返します。
TRENDLINE
構文
TRENDLINE(value)
パラメータ
| パラメータ | 概要 |
|---|---|
value | 定数または他の関数(たとえば、イベントの関数UNIQUES)。 |
返り値
valueの通常の最小二乗線形回帰傾向線。
値に対する通常最小二乗法による線形回帰トレンドラインを返します。
比較のためにこの数式と並んで別のカスタム数式をプロットすることを強く検討してください。 そうでない場合、このTRENDLINE関数はチャート上にコンテキストのない直線を表示します。
例
TRENDLINE を使用して、曲またはビデオを購入したユーザー数のトレンドラインを把握し、それをユニークユーザー数と比較します。
これは役に立ちましたか?