Meridian でサポートされている形式の広告データ用のデータコンテナ。
meridian.data.input_data.InputData(
kpi: xr.DataArray,
kpi_type: str,
controls: xr.DataArray,
population: xr.DataArray,
revenue_per_kpi: (xr.DataArray | None) = None,
media: (xr.DataArray | None) = None,
media_spend: (xr.DataArray | None) = None,
reach: (xr.DataArray | None) = None,
frequency: (xr.DataArray | None) = None,
rf_spend: (xr.DataArray | None) = None,
organic_media: (xr.DataArray | None) = None,
organic_reach: (xr.DataArray | None) = None,
organic_frequency: (xr.DataArray | None) = None,
non_media_treatments: (xr.DataArray | None) = None
)
属性 |
kpi
|
非負の従属変数を含むディメンション (n_geos, n_times) の DataArray。通常は販売されたユニット数ですが、収益やコンバージョン数など、任意の指標にすることができます。
|
kpi_type
|
KPI が 'revenue' 型か 'non-revenue' 型かを示す文字列。kpi_type が 'non-revenue' で、revenue_per_kpi が存在する場合、費用対効果(ROI)の調整が使用され、収益に基づいて分析が行われます。同じ kpi_type に revenue_per_kpi が存在しない場合、カスタムの ROI の調整が使用され、KPI に基づいて分析が行われます。
|
controls
|
制御変数の値を含むディメンション (n_geos, n_times, n_controls) の DataArray。
|
population
|
各グループの人口を含むディメンション (n_geos,) の DataArray。この変数は、モデリングで KPI とメディアを調整するために使われます。
|
revenue_per_kpi
|
KPI 単位あたりの平均収益額を含むディメンション (n_geos, n_times) の DataArray(省略可)。この値が利用できる場合、モデリングは kpi に基づいて行われますが、モデルの分析と最適化は KPI *
revenue_per_kpi(収益)に基づいて行われます。kpi が収益に対応している場合は、1 の配列が自動的に渡されます。
|
media
|
非負のメディア施策値を含むディメンション (n_geos, n_media_times,
n_media_channels) の DataArray(省略可)。通常はインプレッション数ですが、費用やクリック数など、任意の指標にすることができます。n_media_times は n_times 以上である必要があり、最後の n_times 期間は kpi と controls の時間枠と一致している必要があります。遅延効果があることから、メディアの時間枠の前には最大 max_lag 期間を追加することをおすすめします。n_media_times が n_times + max_lag より小さい場合、モデルは事実上メディア履歴を 0(メディア施策なし)と推定します。n_media_times が n_times + max_lag より大きい場合は、最後の n_times + max_lag の期間だけがモデルの適合に使われます。media と media_spend は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。どちらかの引数を渡す場合、もう一方を省略することはできません。 |
media_spend
|
各メディア チャネルの費用を含む DataArray(省略可)。これは、ROI の計算で分母として使われます。geo と time のディメンションでデータが集計されている場合、DataArray の形状は (n_geos, n_times, n_media_channels) か (n_media_channels,) になります。費用の合計は、kpi と controls のデータの時間枠(ROI の分子の増分結果を計算する時間枠)に合わせて調整することをおすすめします。なお、増分結果は、この時間枠より前のメディア施策による遅延効果の影響を受けます。また、その時間枠中のメディア施策の時間枠を超える遅延効果は、増分結果から除外されます。media と media_spend は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。どちらかの引数を渡す場合、もう一方を省略することはできません。
|
reach
|
非負の reach 値を含むディメンション (n_geos, n_media_times,
n_rf_channels) の DataArray(省略可)。n_media_times は n_times 以上である必要があり、最後の n_times 期間は kpi と controls の時間枠と一致している必要があります。この時間枠には kpi と controls のデータの時間枠を含める必要がありますが、kpi と controls のデータの時間枠より前の遅延期間を含めるかどうかは任意です。遅延リーチが含まれていない場合や、遅延リーチに含まれる期間が max_lag に満たない場合は、最初に観測された期間より前のリーチ施策が 0 だったと仮定して Adstock が計算されます。max_lag の値が非常に大きい場合を除き、n_times + max_lag の期間を含めることをおすすめします。media データのみが使われる場合、reach は None になります。reach、frequency、rf_spend は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。このうちいずれかの引数を渡す場合、他の引数を省略することはできません。
|
frequency
|
非負の frequency 値を含むディメンション (n_geos, n_media_times,
n_rf_channels) の DataArray(省略可)。n_media_times は n_times 以上である必要があり、最後の n_times 期間は kpi と controls の時間枠と一致している必要があります。この時間枠には kpi と controls のデータの時間枠を含める必要がありますが、kpi と controls のデータの時間枠より前の遅延期間を含めるかどうかは任意です。遅延フリークエンシーが含まれていない場合や、遅延フリークエンシーに含まれる期間が max_lag に満たない場合は、最初に観測された期間より前のフリークエンシー施策が 0 だったと仮定して Adstock が計算されます。max_lag の値が非常に大きい場合を除き、n_times + max_lag の期間を含めることをおすすめします。media データのみが使われる場合、frequency は None になります。reach、frequency、rf_spend は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。このうちいずれかの引数を渡す場合、他の引数を省略することはできません。
|
rf_spend
|
リーチチャネルとフリークエンシー チャネルの各費用を含む DataArray(省略可)。これは、ROI の計算で分母として使われます。この DataArray の形状は、(n_rf_channels,)、(n_geos, n_times,
n_rf_channels)、(n_geos, n_rf_channels) のいずれかです。費用は、表示されていない地域ディメンションや期間ディメンションで集計される必要があります。費用の合計は、kpi と controls のデータの時間枠(ROI の分子の増分結果を計算する時間枠)に合わせて調整することをおすすめします。なお、増分結果は、この時間枠より前のメディア施策による遅延効果の影響を受けます。また、その時間枠中のメディア施策の時間枠を超える遅延効果は、増分結果から除外されます。media データのみが使われる場合、rf_spend は None になります。reach、frequency、rf_spend は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。これらの引数のいずれかを渡す場合、他の引数を省略することはできません。 |
organic_media
|
非負のオーガニック メディア値を含むディメンション (n_geos,
n_media_times, n_organic_media_channels) の DataArray(省略可)。オーガニック メディア変数は、直接的費用が発生しないメディア アクティビティです。これにはニュースレター、ブログ投稿、ソーシャル メディア アクティビティ、メール キャンペーンのインプレッション数が含まれることがありますが、クリック数などの任意の指標になることもあります。n_media_times は n_times 以上である必要があり、最後の n_times 期間は kpi と controls の時間枠と一致している必要があります。遅延効果があることから、メディアの時間枠の前には最大 max_lag 期間を追加することをおすすめします。n_organic_media_times が n_times + max_lag より小さい場合、モデルは事実上オーガニック メディア履歴を推定します。n_organic_media_times が n_times + max_lag より大きい場合は、最後の n_times + max_lag の期間だけがモデルの適合に使われます。 |
organic_reach
|
非負のオーガニック リーチ値を含むディメンション (n_geos,
n_media_times, n_organic_rf_channels) の DataArray(省略可)。n_media_times は n_times 以上である必要があり、最後の n_times 期間は kpi と controls の時間枠と一致している必要があります。この時間枠には kpi と controls のデータの時間枠を含める必要がありますが、kpi と controls のデータの時間枠より前の遅延期間を含めるかどうかは任意です。遅延リーチが含まれていない場合や、遅延リーチに含まれる期間が max_lag に満たない場合は、最初に観測された期間より前のリーチ施策が 0 だったと仮定して Adstock が計算されます。max_lag の値が非常に大きい場合を除き、n_times + max_lag の期間を含めることをおすすめします。オーガニックのリーチとフリークエンシーのデータが使用されていない場合、organic_reach と organic_frequency は None になります。organic_reach と organic_frequency は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。どちらかの引数を渡す場合、もう一方を省略することはできません。 |
organic_frequency
|
非負のオーガニック フリークエンシー値を含むディメンション (n_geos,
n_media_times, n_organic_rf_channels) の DataArray(省略可)。n_media_times は n_times 以上である必要があり、最後の n_times 期間は kpi と controls の時間枠と一致している必要があります。この時間枠には kpi と controls のデータの時間枠を含める必要がありますが、kpi と controls のデータの時間枠より前の遅延期間を含めるかどうかは任意です。遅延フリークエンシーが含まれていない場合や、遅延フリークエンシーに含まれる期間が max_lag に満たない場合は、最初に観測された期間より前のフリークエンシー施策が 0 だったと仮定して Adstock が計算されます。max_lag の値が非常に大きい場合を除き、n_times + max_lag の期間を含めることをおすすめします。オーガニックのリーチとフリークエンシーのデータが使用されていない場合、organic_frequency は None になります。organic_reach と organic_frequency は、同じ数のメディア チャネルを同じ順序で含んでいる必要があります。どちらかの引数を渡す場合、もう一方を省略することはできません。 |
non_media_treatments
|
メディア以外の介入変数の値を含むディメンション (n_geos, n_times,
n_non_media_channels) の DataArray(省略可)。メディア以外の介入変数は、広告主が実施する、メディアに直接関係しないマーケティング活動です。こうした活動では直接的なマーケティング費用が発生しませんが、オーガニック メディア変数とは異なり、Adstock 効果も Hill 効果もありません。これらの活動は介入可能と見なされる点で制御変数とは異なり、因果モデルの介入変数に当たります。たとえば、プロモーションの実施、商品の価格、商品のパッケージやデザインの変更などが該当します。 |
control_variable
|
制御変数のディメンションを返します。 |
geo
|
地域ディメンションを返します。
|
media_channel
|
メディア チャネル ディメンションを返します。
|
media_spend_has_geo_dimension
|
media_spend 配列に地域ディメンションがあるかどうかを確認します。
|
media_spend_has_time_dimension
|
media_spend 配列に時間ディメンションがあるかどうかを確認します。
|
media_time
|
メディア時間ディメンションの座標を返します。
|
media_time_coordinates
|
TimeCoordinates ラッパーでメディア時間ディメンションを返します。 |
non_media_channel
|
メディア以外の介入チャネル ディメンションを返します。 |
organic_media_channel
|
オーガニック メディア チャネル ディメンションを返します。 |
organic_rf_channel
|
オーガニック RF チャネル ディメンションを返します。 |
rf_channel
|
RF チャネル ディメンションを返します。 |
rf_spend_has_geo_dimension
|
rf_spend 配列に地域ディメンションがあるかどうかを確認します。
|
rf_spend_has_time_dimension
|
rf_spend 配列に時間ディメンションがあるかどうかを確認します。
|
time
|
時間ディメンションの座標を返します。
|
time_coordinates
|
TimeCoordinates ラッパーで(KPI)時間ディメンションを返します。
|
メソッド
as_dataset
ソースを表示
as_dataset() -> xr.Dataset
単一の xarray.Dataset オブジェクトとしてデータを返します。
get_all_channels
ソースを表示
get_all_channels() -> np.ndarray
すべてのチャネル ディメンションを返します。
このメソッドは、メディア、RF、オーガニック メディア、オーガニック RF、メディア以外のチャネル名を、その順序で 1 つの配列に連結して返します。
ソースを表示
get_all_media_and_rf() -> np.ndarray
メディアと RF の両方を含む、すべてのメディア施策値を返します。
モデリングにメディア、リーチ、フリークエンシーが使用された場合は、メディアの末尾にリーチ × フリークエンシーが連結されます。
| 戻り値 |
media_channel のメディアか、rf_channel のリーチ × フリークエンシーを含む、ディメンションが (n_geos, n_media_times, n_channels) の np.ndarray。
|
get_all_paid_channels
ソースを表示
get_all_paid_channels() -> np.ndarray
メディアと RF の両方を含む、すべての有料チャネル ディメンションを返します。
メディア チャネルと RF チャネルが両方ある場合、RF チャネルはメディア チャネルの最後に連結されます。
get_n_top_largest_geos
ソースを表示
get_n_top_largest_geos(
num_geos: int
) -> list[str]
指定された数まで人口上位の地域を探します。
| 引数 |
num_geos
|
人口の多さに基づいて返す上位の地域の数。 |
| 戻り値 |
|
指定された数までの人口上位の地域のリスト。 |
get_total_spend
ソースを表示
get_total_spend() -> np.ndarray
media_spend と rf_spend を含む合計費用を返します。
__eq__
__eq__(
other
)
self==value を返します。
クラス変数 |
|
frequency
|
None
|
|
media
|
None
|
|
media_spend
|
None
|
|
non_media_treatments
|
None
|
|
organic_frequency
|
None
|
|
organic_media
|
None
|
|
organic_reach
|
None
|
|
reach
|
None
|
|
revenue_per_kpi
|
None
|
|
rf_spend
|
None
|