![]() |
The optimized budget allocation.
meridian.analysis.optimizer.OptimizationResults(
meridian: meridian.model.model.Meridian
,
analyzer: meridian.analysis.analyzer.Analyzer
,
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: meridian.analysis.optimizer.OptimizationGrid
,
new_data: (meridian.analysis.analyzer.DataTensors
| None) = None
)
This is a dataclass object containing datasets output from BudgetOptimizer
.
The performance metrics (data variables) are: spend, percentage of spend, ROI, mROI, incremental outcome, CPIK, and effectiveness.
Methods
get_response_curves
get_response_curves() -> xr.Dataset
Calculates response curves, per budget optimization scenario.
This method is a wrapper for Analyzer.response_curves()
, that sets the
following arguments to be consistent with the budget optimization scenario
specified in BudgetOptimizer.optimize()
call that returned this result.
In particular:
spend_multiplier
matches the discrete optimization grid, considering the grid step size and any channel-level constraint bounds.selected_times
,by_reach
, anduse_optimal_frequency
match the values set inBudgetOptimizer.optimize()
.
Returns | |
---|---|
A dataset returned by Analyzer.response_curves() , per budget
optimization scenario specified in BudgetOptimizer.optimize() call that
returned this result.
|
output_optimization_summary
output_optimization_summary(
filename: str, filepath: str
)
Generates and saves the HTML optimization summary output.
plot_budget_allocation
plot_budget_allocation(
optimized: bool = True
) -> alt.Chart
Plots a pie chart showing the spend allocated for each channel.
Args | |
---|---|
optimized
|
If True , shows the optimized spend. If False , shows the
non-optimized spend.
|
Returns | |
---|---|
An Altair pie chart showing the spend by channel. |
plot_incremental_outcome_delta
plot_incremental_outcome_delta() -> alt.Chart
Plots a waterfall chart showing the change in incremental outcome.
plot_response_curves
plot_response_curves(
n_top_channels: (int | None) = None
) -> alt.Chart
Plots the response curves, with spend constraints, for each channel.
Args | |
---|---|
n_top_channels
|
Optional number of top channels by spend to include. By default, all channels are included. |
Returns | |
---|---|
An Altair plot showing the response curves with optimization details. |
plot_spend_delta
plot_spend_delta() -> alt.Chart
Plots a bar chart showing the optimized change in spend per channel.
__eq__
__eq__(
other
)
Return self==value.
Class Variables | |
---|---|
new_data |
None
|