W tym dokumencie opisujemy scenariusze stałe i elastyczne dotyczące budżetu oraz podajemy przykłady , który pomoże Ci dostosować optymalizację budżetu.
Stały budżet – maksymalizacja zwrotu z inwestycji lub przyrostowy KPI
W takim scenariuszu dla danego budżetu można znaleźć optymalną alokację
kanały i taktyki maksymalizacji zwrotu z inwestycji (ROI). Jeśli kpi_type
ma wartość bez przychodów, a revenue_per_kpi jest nieznany, stały budżet
scenariusz znajduje optymalną alokację, która pozwoli zmaksymalizować przyrostowy KPI.
Ten scenariusz przedstawia ustawienia domyślne i jest uruchamiany, jeśli wywołasz
Metoda optimize() z klasy BudgetOptimizer bez dodatkowych
. Można też zmienić scenariusz stałego budżetu poprzez
przez zmianę przedziału czasu optymalizacji przez wprowadzenie odrębnych budżetów
wstępnie zoptymalizowanych wydatków na media oraz wskazywać dolne i górne limity;
na wydatki na media.
Przykładowy kod
Ten przykładowy kod ilustruje scenariusz niestandardowego stałego budżetu:
budget_optimizer = optimizer.BudgetOptimizer(meridian)
optimization_results = budget_optimizer.optimize(
      selected_times=('2023-01-16', '2024-01-15'),
      budget=70000000,
      pct_of_spend=[0.2, 0.2, 0.2, 0.1, 0.2, 0.1],
      spend_constraint_lower=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2],
      spend_constraint_upper=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2],
)
Kluczowe parametry
- selected_times: krotka zawierająca wymiary czasu rozpoczęcia i zakończenia dla wymiaru czas trwania optymalizacji. Wymiary czasu powinny odpowiadać Wymiary południowej. Domyślnie używane są wszystkie przedziały czasu.- Przykład - Aby zmienić zakres dat: - budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(selected_times=('2023-01-16','2024-01-15')) # date range from week 100 to 200
- budget: liczba określająca łączny budżet w scenariuszu dotyczącym budżetu stałego. Domyślnie jest to budżet historyczny.- Przykład - Aby zmienić budżet na - 70000000:- budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(budget=70000000) # change the budget to 150000
- pct_of_spend: liczbowa lista rozmiaru- n_media, która zawiera wartość procentową. na media. Zamówienie musi pasować do:- InputData.mediaz wartości od 0 do 1, sumujące się do- 1. Domyślnie przydział historyczny wynosi . Budżet i alokacja są używane w połączeniu do określenia niezoptymalizowanych wydatków na poziomie mediów, które służą do obliczania niezoptymalizowanych danych dotyczących skuteczności (np. ROI) i tworzyć realny zakres wydatków na poziomie mediów przy zachowaniu ograniczeń wydatków.- Przykład - Aby określić przydział: - budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(pct_of_spend=[0.2, 0.2, 0.2, 0.1, 0.2, 0.1]) # non-optimized allocation is 20% to channel0, 20% to channel1 etc
- spend_constraint_lower: liczbowa lista o długości- n_media, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartość- floatjako takie samo ograniczenie wydatków dla wszystkich kanałów komunikacji. Wskazuje dolną granicę wartości na poziomie mediów. Dolna granica wydatków na poziomie mediów to- ((1 - spend_constraint_lower) * budget * allocation). Wpisana wartość musi być od 0 do 1. Wartość domyślna to 0,3 (co oznacza 70% wydatków na media) Stały budżet i 1 (co oznacza 0% wydatków na media) dla budżetu elastycznego.- Przykład - Aby zmienić ograniczenie wydatków: - budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(spend_constraint_lower=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2]) # change the lower bound to 70%, 80%, 70%, 70%, 70% and 80% of media spends
- spend_constraint_upper: liczbowa lista o długości- n_media, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartość- floatjako takie samo ograniczenie wydatków dla wszystkich kanałów komunikacji. Wskazuje górną granicę wartości na poziomie mediów. Górna granica wydatków na poziomie mediów to- (1 + spend_constraint_upper) * budget * allocation). Wartość domyślna to 0,3. (czyli 130% wydatków na media) dla budżetu stałego oraz 1 (czyli 200% wydatki na media) dla elastycznego budżetu.- Przykład - Aby zmienić górne ograniczenie wydatków: - budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(spend_constraint_lower=[0.3, 0.2, 0.3, 0.3, 0.3, 0.2]) # change the upper bound to 130%, 120%, 130%, 130%, 130% and 120% of media spends
Elastyczny budżet: docelowy minimalny ROI
W tym scenariuszu elastycznego budżetu podajesz określoną minimalną wartość docelową ROI. Dzięki tej opcji możesz się dowiedzieć, jaki jest maksymalny budżet, jaki możesz wydać. dowolne limity budżetu, aż ogólny zwrot z inwestycji osiągnie X na całym poziomie marketingu. Meridian podaje zalecany maksymalny budżet oraz optymalną przez odpowiednie rozłożenie budżetu na różne kanały komunikacji w celu osiągnięcia docelowego ROI. Warto zauważyć, że ograniczenie docelowego ROI jest stosowane na poziomie całkowitego zwrotu z inwestycji w działania marketingowe. a nie na poziomie kanału.
Przykładowy kod
Poniższy przykładowy kod ilustruje scenariusz niestandardowego elastycznego budżetu z parametrem docelowy minimalny ROI:
budget_optimizer = optimizer.BudgetOptimizer(meridian)
optimization_results = budget_optimizer.optimize(
      selected_times=('2023-01-16','2024-01-15'),
      fixed_budget=False,
      spend_constraint_lower=0.5,
      spend_constraint_upper=0.5,
      target_mroi=1,
)
Kluczowe parametry
- fixed_budget: wartość logiczna wskazująca, czy optymalizacja budżetu jest stała. lub elastyczną optymalizację budżetu. Domyślna wartość to- True, co oznacza stałą budżetu. Jeśli- False, musisz również określić- target_roialbo- target_mroi
- target_roi: liczba zmiennoprzecinkowa wskazująca ograniczenie docelowego ROI. Używany tylko do scenariuszy elastycznych budżetów. Budżet jest ograniczony do czasu, w którym ROI łączne wydatki na media osiągają- target_roi.- Przykład - Aby przejść na scenariusz elastycznego budżetu i ustawić docelowy ROI na - 1:- budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(fixed_budget=False, target_roi=1)
- selected_times: krotka zawierająca wymiary czasu rozpoczęcia i zakończenia dla wymiaru czas trwania optymalizacji. Wymiary czasu powinny odpowiadać Wymiary południowej. Domyślnie używane są wszystkie przedziały czasu.
- pct_of_spend: liczbowa lista rozmiaru- n_media, która zawiera wartość procentową. na media. Zamówienie musi pasować do:- InputData.mediaz wartości od 0 do 1, sumujące się do- 1. Domyślnie przydział historyczny wynosi . Budżet i alokacja są używane w połączeniu do określenia niezoptymalizowanych wydatków na poziomie mediów, które służą do obliczania niezoptymalizowanych danych dotyczących skuteczności (np. ROI) i tworzyć realny zakres wydatków na poziomie mediów przy zachowaniu ograniczeń wydatków.
- spend_constraint_lower: liczbowa lista o długości- n_media, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartość- floatjako takie samo ograniczenie wydatków dla wszystkich kanałów komunikacji. Wskazuje dolną granicę wartości na poziomie mediów. Dolna granica wydatków na poziomie mediów to- ((1 - spend_constraint_lower) * budget * allocation). Wpisana wartość musi być od 0 do 1. Wartość domyślna to 0,3 (co oznacza 70% wydatków na media) Stały budżet i 1 (co oznacza 0% wydatków na media) dla budżetu elastycznego.
- spend_constraint_upper: liczbowa lista o długości- n_media, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartość- floatjako takie samo ograniczenie wydatków dla wszystkich kanałów komunikacji. Wskazuje górną granicę wartości na poziomie mediów. Górna granica wydatków na poziomie mediów to- (1 + spend_constraint_upper) * budget * allocation). Wartość domyślna to 0,3. (czyli 130% wydatków na media) dla budżetu stałego oraz 1 (czyli 200% wydatki na media) dla elastycznego budżetu.
Elastyczny budżet: docelowy krańcowy ROI
W tym scenariuszu elastycznego budżetu podajesz krańcowy docelowy ROI przyrostowe wydatki. Ta opcja informuje o maksymalnym budżecie, jaki możesz wydać bez żadnych ograniczeń budżetu, dopóki krańcowy ROI dla każdego kanału mediów nie osiągnie przy docelowym krańcowym zwrocie z inwestycji. Nadal może się zdarzyć, że krańcowy ROI niektórych kanałów nie będzie równy docelowemu krańcowemu ROI ze względu na realny zakres mediów wydatków. Jednak krańcowy ROI będzie skutecznie zmniejszać się w kierunku wartości docelowej krańcowy ROI. W szczególności docelowy krańcowy ROI jest stosowany na poziomie kanału, a nie na całościowym poziomie marketingu.
Przykładowy kod
Poniższe przykłady kodu pokazują niestandardowy scenariusz elastycznego budżetu z docelowy krańcowy ROI:
budget_optimizer = optimizer.BudgetOptimizer(meridian)
optimization_results = budget_optimizer.optimize(
      selected_times=('2023-01-16','2024-01-15'),
      fixed_budget=False,
      spend_constraint_lower=0.5,
      spend_constraint_upper=0.5,
      target_mroi=1,
)
Kluczowe parametry
- fixed_budget: wartość logiczna wskazująca, czy optymalizacja budżetu jest stała. lub elastyczną optymalizację budżetu. Domyślna wartość to- True, co oznacza stałą budżetu. Jeśli ustawiona jest wartość- False, musisz określić- target_roilub- target_mroi.
- target_mroi: liczba zmiennoprzecinkowa wskazująca docelowe ograniczenie krańcowego ROI. Tylko wykorzystywanych w scenariuszach elastycznego budżetu. Budżet jest ograniczony do czasu, w którym krańcowy ROI wszystkich wydatków na media osiąga wartość- target_mroi.- Przykład - Aby przejść na scenariusz elastycznego budżetu i ustawić docelowy krańcowy ROI na - 1:- budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(fixed_budget=False, target_mroi=1)
- selected_times: krotka zawierająca wymiary czasu rozpoczęcia i zakończenia dla wymiaru czas trwania optymalizacji. Wymiary czasu powinny odpowiadać Wymiary południowej. Domyślnie używane są wszystkie przedziały czasu.
- pct_of_spend: liczbowa lista rozmiaru- n_media, która zawiera wartość procentową. na media. Zamówienie musi pasować do:- InputData.mediaz wartości od 0 do 1, sumujące się do- 1. Domyślnie przydział historyczny wynosi . Budżet i alokacja są używane w połączeniu do określenia niezoptymalizowanych wydatków na poziomie mediów, które służą do obliczania niezoptymalizowanych danych dotyczących skuteczności (np. ROI) i tworzyć realny zakres wydatków na poziomie mediów przy zachowaniu ograniczeń wydatków.
- spend_constraint_lower: liczbowa lista o długości- n_media, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartość- floatjako takie samo ograniczenie wydatków dla wszystkich kanałów komunikacji. Wskazuje dolną granicę wartości na poziomie mediów. Dolna granica wydatków na poziomie mediów to- ((1 - spend_constraint_lower) * budget * allocation). Wpisana wartość musi być od 0 do 1. Wartość domyślna to 0,3 (co oznacza 70% wydatków na media) Stały budżet i 1 (co oznacza 0% wydatków na media) dla budżetu elastycznego.
- spend_constraint_upper: liczbowa lista o długości- n_media, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartość- floatjako takie samo ograniczenie wydatków dla wszystkich kanałów komunikacji. Wskazuje górną granicę wartości na poziomie mediów. Górna granica wydatków na poziomie mediów to- (1 + spend_constraint_upper) * budget * allocation). Wartość domyślna to 0,3. (czyli 130% wydatków na media) dla budżetu stałego oraz 1 (czyli 200% wydatki na media) dla elastycznego budżetu.
