![]() |
Optymalizacja alokacji budżetu.
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
)
To obiekt dataclass zawierający wyjściowe zbiory danych z BudgetOptimizer
.
Te zbiory danych obejmują:
nonoptimized_data
: dane o budżecie bez optymalizacji (na podstawie historycznej częstotliwości).nonoptimized_data_with_optimal_freq
: dane o niezoptymalizowanym budżecie na podstawie optymalnej częstotliwości.optimized_data
: dane o zoptymalizowanym budżecie.optimization_grid
: informacje o siatce używane do optymalizacji.
Dane (zmienna danych) to: ROI, mROI, incremental outcome i CPIK.
Dodatkowo przechowywane są tu niektóre wartości pośrednie i odwołania do źródłowego modelu i analizatora. Są one przydatne do wizualizacji i debugowania.
Metody
get_response_curves
get_response_curves() -> xr.Dataset
Oblicza krzywe odpowiedzi w ramach poszczególnych scenariuszy optymalizacji budżetu.
Ta metoda jest opakowaniem metody Analyzer.response_curves()
, która ustawia podane argumenty zgodnie ze scenariuszem optymalizacji budżetu określonym w wywołaniu BudgetOptimizer.optimize()
, które zwróciło ten wynik.
W szczególności:
spend_multiplier
pasuje do siatki optymalizacji dyskretnej, biorąc pod uwagę rozmiar kroku siatki i ograniczenia na poziomie kanału.- Wartości
selected_times
,by_reach
iuse_optimal_frequency
są zgodne z wartościami ustawionymi wBudgetOptimizer.optimize()
.
Zwroty | |
---|---|
zbiór danych zwrócony przez funkcję Analyzer.response_curves() dla każdego scenariusza optymalizacji budżetu określonego w wywołaniu funkcji BudgetOptimizer.optimize() , które zwróciło ten wynik;
|
output_optimization_summary
output_optimization_summary(
filename: str, filepath: str
)
Generuje i zapisuje podsumowanie optymalizacji HTML.
plot_budget_allocation
plot_budget_allocation(
optimized: bool = True
) -> alt.Chart
Tworzy wykres kołowy przedstawiający wydatki przypisane do poszczególnych kanałów.
Argumenty | |
---|---|
optimized
|
Jeśli True , pokazuje zoptymalizowane wydatki. Jeśli ustawiona jest wartość False , wyświetlane są wydatki bez optymalizacji.
|
Zwroty | |
---|---|
Wykres kołowy Altair przedstawiający wydatki według kanału. |
plot_incremental_outcome_delta
plot_incremental_outcome_delta() -> alt.Chart
Rysuje wykres kaskadowy przedstawiający zmianę przyrostowego wyniku.
plot_response_curves
plot_response_curves(
n_top_channels: (int | None) = None
) -> alt.Chart
Rysuje krzywe odpowiedzi z ograniczeniami wydatków w przypadku każdego kanału.
Argumenty | |
---|---|
n_top_channels
|
Opcjonalna liczba najlepszych kanałów według wydatków, które mają być uwzględnione. Domyślnie uwzględniane są wszystkie kanały. |
Zwroty | |
---|---|
Wykres Altair przedstawiający krzywe odpowiedzi z szczegółami optymalizacji. |
plot_spend_delta
plot_spend_delta() -> alt.Chart
Tworzy wykres słupkowy pokazujący zoptymalizowaną zmianę wydatków na kanał.
__eq__
__eq__(
other
)
Zwraca wartość self==value.