加入新推出的
Discord 社区,展开实时讨论,获得同行支持,并直接与 Meridian 团队互动!
meridian.data.input_data.InputData
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
一个数据容器,其中存放的广告数据采用了 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 ,系统会使用投资回报率校准,并针对收入运行分析。如果同一 kpi_type 中不存在 revenue_per_kpi ,系统会使用自定义投资回报率校准,并针对 KPI 运行分析。
|
controls
|
维度为 (n_geos, n_times, n_controls) 的 DataArray,其中包含控制变量值。 |
population
|
维度为 (n_geos,) 的 DataArray,其中包含各群组的人口数量。此变量用于扩缩 KPI 和媒体以进行建模。
|
revenue_per_kpi
|
维度为 (n_geos, n_times) 的可选 DataArray,其中包含每个 KPI 单位的平均收入金额。虽然建模是针对 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 ,模型会有效地将媒体历史记录估计为零(没有媒体执行)。如果 n_media_times > n_times + max_lag ,系统仅使用最后 n_times + max_lag 个时段来拟合模型。media 和 media_spend 必须包含相同数量的媒体渠道,并且顺序一致。如果传递了这两个实参中的任何一个,那么另一个就不能是可选实参。
|
media_spend
|
一个可选的 DataArray ,其中包含每个媒体渠道的费用。它被用作计算投资回报率的分母。如果数据是按 geo 和 time 维度进行汇总的,DataArray 的形状可以是 (n_geos, n_times, n_media_channels) 或 (n_media_channels,) 。我们建议,支出总额应与 kpi 和 controls 数据的时间窗口(即计算投资回报率分子增量效果的时间窗口)保持一致。但请注意,增量效果受此时间窗口之前的媒体执行的滞后效应影响,不包括此时间窗口内执行的媒体在相应时间窗口外的滞后效应。media 和 media_spend 必须包含相同数量的媒体渠道,并且顺序一致。如果传递了这两个实参中的任何一个,那么另一个就不能是可选实参。
|
reach
|
一个维度为 (n_geos, n_media_times,
n_rf_channels) 的可选 DataArray ,其中包含非负 reach 值。要求 n_media_times ≥ n_times ,并且最终的 n_times 时间段必须与 kpi 和 controls 的时间窗口保持一致。时间窗口必须包含 kpi 和 controls 数据的时间窗口,但可以选择包含 kpi 和 controls 数据时间窗口之前的滞后时间段。如果未包含滞后覆盖面,或者滞后覆盖面包含的时间段少于 max_lag ,那么模型在计算 Adstock 时会假定在第一个观察时间段之前,覆盖面执行次数为零。我们建议纳入 n_times + max_lag 时间段,除非 max_lag 的值过大。如果仅使用 media 数据,reach 将为 None 。reach 、frequency 和 rf_spend 必须以相同顺序包含数量相同的媒体渠道。如果传递了这些实参中的任何一个,那么其他实参就不是可选实参。
|
frequency
|
一个维度为 (n_geos, n_media_times,
n_rf_channels) 的可选 DataArray ,其中包含非负 frequency 值。要求 n_media_times ≥ n_times ,并且最终的 n_times 时间段必须与 kpi 和 controls 的时间窗口保持一致。时间窗口必须包含 kpi 和 controls 数据的时间窗口,但可以选择包含 kpi 和 controls 数据时间窗口之前的滞后时间段。如果未包含滞后频次,或者滞后频次包含的时间段少于 max_lag ,那么模型在计算 Adstock 时会假定在第一个观察时间段之前,频次执行次数为零。我们建议纳入 n_times + max_lag 时间段,除非 max_lag 的值过大。如果仅使用 media 数据,frequency 将为 None 。reach 、frequency 和 rf_spend 必须以相同顺序包含数量相同的媒体渠道。如果传递了这些实参中的任何一个,那么其他实参就不是可选实参。
|
rf_spend
|
一个可选的 DataArray ,其中包含每个覆盖面和频次渠道的费用。它被用作计算投资回报率的分母。DataArray 的形状可以是 (n_rf_channels,) 、(n_geos, n_times,
n_rf_channels) 或 (n_geos, n_rf_channels) 。支出应根据未体现的地理位置和/或时间维度进行汇总。我们建议,支出总额应与 kpi 和 controls 数据的时间窗口(即计算投资回报率分子增量效果的时间窗口)保持一致。但请注意,增量效果受此时间窗口之前的媒体执行的滞后效应影响,不包括此时间窗口内执行的媒体在相应时间窗口外的滞后效应。如果仅使用 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 ,那么模型在计算 Adstock 时会假定在第一个观察时间段之前,覆盖面执行次数为零。我们建议纳入 n_times + max_lag 时间段,除非 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 ,那么模型在计算 Adstock 时会假定在第一个观察时间段之前,频次执行次数为零。我们建议纳入 n_times + max_lag 时间段,除非 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 和非媒体渠道名称,并按此顺序串联到单个数组中。
查看源代码
get_all_media_and_rf() -> np.ndarray
返回所有媒体执行值,包括媒体和 RF。
如果在建模时使用了媒体、覆盖面和频次,则在媒体末尾串联覆盖面 * 频次。
返回结果 |
维度为 (n_geos, n_media_times, n_channels) 的 np.ndarray ,其中包含每个 media_channel 或 rf_channel 的媒体或覆盖面 * 频次。
|
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
|
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-01-25。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-01-25。"],[],["The `InputData` class organizes advertising data for the Meridian framework, containing a Key Performance Indicator (`kpi`) with its type (`kpi_type`), control variables (`controls`), and population data (`population`). It can optionally include average revenue per KPI unit (`revenue_per_kpi`), media execution values (`media`), media costs (`media_spend`), reach and frequency data (`reach`, `frequency`, `rf_spend`), organic media data (`organic_media`, `organic_reach`, `organic_frequency`) and non-media marketing treatments (`non_media_treatments`). The class can return data as an `xr.Dataset` or retrieve channel, geo, and time dimensions, or obtain the largest geos based on the population.\n"],null,[]]