![]() |
优化后的预算分配情况。
meridian.analysis.optimizer.OptimizationResults(
meridian: meridian.model.model.Meridian
,
analyzer: meridian.analysis.analyzer.Analyzer
,
use_posterior: bool,
use_optimal_frequency: bool,
spend_ratio: np.ndarray,
spend_bounds: tuple[np.ndarray, np.ndarray],
_nonoptimized_data: xr.Dataset,
_nonoptimized_data_with_optimal_freq: xr.Dataset,
_optimized_data: xr.Dataset,
_optimization_grid: xr.Dataset
)
这是一个 dataclass 对象,包含来自 BudgetOptimizer
的数据集输出。这些数据集包括:
nonoptimized_data
:未优化的预算指标(基于历史频次)。nonoptimized_data_with_optimal_freq
:基于最佳频次的未优化预算指标。optimized_data
:优化后的预算指标。optimization_grid
:用于优化的网格信息。
指标(数据变量)包括:投资回报率、边际投资回报率、增量效果、CPIK。
此外,其中还存储了一些中间值和对来源拟合模型以及分析器的引用。这些对于直观呈现和调试非常有用。
方法
get_response_curves
get_response_curves() -> xr.Dataset
根据预算优化方案计算响应曲线。
此方法是 Analyzer.response_curves()
的封装容器,用于设置以下实参,以与返回此结果的 BudgetOptimizer.optimize()
调用中指定的预算优化方案保持一致。具体而言:
spend_multiplier
与离散优化网格一致,会考虑网格步长和任何渠道级限制范围。selected_times
、by_reach
和use_optimal_frequency
与BudgetOptimizer.optimize()
中设置的值一致。
返回结果 | |
---|---|
由 Analyzer.response_curves() 根据返回此结果的 BudgetOptimizer.optimize() 调用中指定的预算优化方案返回的数据集。 |
output_optimization_summary
output_optimization_summary(
filename: str, filepath: str
)
生成并保存 HTML 优化摘要输出。
plot_budget_allocation
plot_budget_allocation(
optimized: bool = True
) -> alt.Chart
绘制一个饼图,显示为每个渠道分配的支出。
实参 | |
---|---|
optimized
|
如果为 True ,则显示优化后的支出。如果为 False ,则显示未优化的支出。
|
返回结果 | |
---|---|
显示各渠道支出的 Altair 饼图。 |
plot_incremental_outcome_delta
plot_incremental_outcome_delta() -> alt.Chart
绘制一个瀑布图,显示增量效果的变化。
plot_response_curves
plot_response_curves(
n_top_channels: (int | None) = None
) -> alt.Chart
绘制每个渠道的响应曲线,其中包含支出限制。
实参 | |
---|---|
n_top_channels
|
要包含的支出最高的渠道数量(可选)。默认包含所有渠道。 |
返回结果 | |
---|---|
显示响应曲线和优化详细信息的 Altair 图。 |
plot_spend_delta
plot_spend_delta() -> alt.Chart
绘制一个条形图,显示各渠道的优化后支出变化。
__eq__
__eq__(
other
)
返回 self==value。