![]() |
Die optimierte Budgetzuweisung.
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
)
Dies ist ein Dataclass-Objekt mit Datasets, die von BudgetOptimizer
ausgegeben wurden.
Zu diesen Datasets gehören:
nonoptimized_data
: Die Messwerte für das nicht optimierte Budget basierend auf der bisherigen Häufigkeit.nonoptimized_data_with_optimal_freq
: Die Messwerte für das nicht optimierte Budget basierend auf der optimalen Häufigkeit.optimized_data
: Die Messwerte für das optimierte Budget.optimization_grid
: Die für die Optimierung verwendeten Rasterinformationen.
Die Messwerte (Datenvariablen) sind: ROI, Grenz-ROI, inkrementelles Ergebnis, inkrementeller KPI (CPIK).
Zusätzlich werden hier auch einige Zwischenwerte und Verweise auf das an die Ausgangsdaten angepasste Modell und den Analyzer gespeichert. Sie sind hilfreich für die Visualisierung und Fehlerbehebung.
Methoden
get_response_curves
get_response_curves() -> xr.Dataset
Berechnet die Reaktionskurven für die einzelnen Budgetoptimierungsszenarien.
Diese Methode ist ein Wrapper für Analyzer.response_curves()
, mit dem die folgenden Argumente so festgelegt werden, dass sie mit dem Budgetoptimierungsszenario übereinstimmen, das im Aufruf von BudgetOptimizer.optimize()
angegeben wurde, der dieses Ergebnis zurückgegeben hat.
Wichtig ist insbesondere:
spend_multiplier
entspricht dem diskreten Optimierungsraster und berücksichtigt die Schrittgröße des Rasters sowie etwaige Beschränkungen auf Channelebene.selected_times
,by_reach
unduse_optimal_frequency
stimmen mit den inBudgetOptimizer.optimize()
festgelegten Werten überein.
Ausgabe | |
---|---|
Ein Dataset, das von Analyzer.response_curves() zurückgegeben wird, pro Budgetoptimierungsszenario, das im BudgetOptimizer.optimize() -Aufruf angegeben ist, bei dem dieses Ergebnis zurückgegeben wurde.
|
output_optimization_summary
output_optimization_summary(
filename: str, filepath: str
)
Generiert und speichert die HTML-Ausgabe für die Optimierungszusammenfassung.
plot_budget_allocation
plot_budget_allocation(
optimized: bool = True
) -> alt.Chart
Ein Kreisdiagramm mit den Ausgaben nach Channel.
Argumente | |
---|---|
optimized
|
Wenn True , werden die optimierten Ausgaben angezeigt. Wenn False , werden die nicht optimierten Ausgaben angezeigt.
|
Ausgabe | |
---|---|
Ein Altair-Kreisdiagramm mit den Ausgaben nach Channel. |
plot_incremental_outcome_delta
plot_incremental_outcome_delta() -> alt.Chart
Erstellt ein Wasserfalldiagramm für die Änderung des inkrementellen Ergebnisses.
plot_response_curves
plot_response_curves(
n_top_channels: (int | None) = None
) -> alt.Chart
Erstellt die Reaktionskurven mit Ausgabenbeschränkungen für die einzelnen Channels.
Argumente | |
---|---|
n_top_channels
|
Optionale Anzahl der Top-Channels nach Ausgaben, die eingeschlossen werden sollen. Standardmäßig sind alle Channels enthalten. |
Ausgabe | |
---|---|
Ein Altair-Diagramm mit den Reaktionskurven und Optimierungsdetails. |
plot_spend_delta
plot_spend_delta() -> alt.Chart
Erstellt ein Balkendiagramm für die optimierte Änderung der Ausgaben nach Channel.
__eq__
__eq__(
other
)
Gibt zurück, ob „self==value“.