meridian.analysis.optimizer.OptimizationResults

Optymalizacja alokacji budżetu.

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.

meridian Dopasowany model Meridian, który został użyty do utworzenia tej alokacji budżetu.
analyzer Analizator powiązany z powyższym modelem.
use_posterior Określa, czy do optymalizacji budżetu użyto rozkładu warunkowego. Jeśli False, użyto poprzedniego rozkładu.
use_optimal_frequency Informację, czy do optymalizacji budżetu użyto optymalnej częstotliwości.
spend_ratio Współczynnik wydatków służący do skalowania danych niesprofilowanego budżetu do danych sprofilowanego budżetu.
spend_bounds Granice wydatków służące do skalowania danych nieoptymalizowanego budżetu do danych zoptymalizowanego budżetu.
nonoptimized_data Dane o budżecie niespełniającym kryterium optymalizacji (na podstawie historycznej częstotliwości).
nonoptimized_data_with_optimal_freq Dane o budżecie niezoptymalizowanym na podstawie optymalnej częstotliwości.
optimized_data Dane dotyczące zoptymalizowanego budżetu.
optimization_grid Informacje dotyczące siatki używane na potrzeby optymalizacji.
template_env Współdzielone środowisko szablonu powiązane z tym zoptymalizowanym budżetem.

Metody

get_response_curves

Wyświetl źródło

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:

  1. spend_multiplier pasuje do siatki optymalizacji dyskretnej, biorąc pod uwagę rozmiar kroku siatki i ograniczenia na poziomie kanału.
  2. Wartości selected_times, by_reachuse_optimal_frequency są zgodne z wartościami ustawionymi w BudgetOptimizer.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

Wyświetl źródło

Generuje i zapisuje podsumowanie optymalizacji HTML.

plot_budget_allocation

Wyświetl źródło

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

Wyświetl źródło

Rysuje wykres kaskadowy przedstawiający zmianę przyrostowego wyniku.

plot_response_curves

Wyświetl źródło

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

Wyświetl źródło

Tworzy wykres słupkowy pokazujący zoptymalizowaną zmianę wydatków na kanał.

__eq__

Zwraca wartość self==value.