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 rozmiarun_media
, która zawiera wartość procentową. na media. Zamówienie musi pasować do:InputData.media
z wartości od 0 do 1, sumujące się do1
. 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ścin_media
, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartośćfloat
jako 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ścin_media
, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartośćfloat
jako 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ść toTrue
, co oznacza stałą budżetu. JeśliFalse
, musisz również określićtarget_roi
albotarget_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 rozmiarun_media
, która zawiera wartość procentową. na media. Zamówienie musi pasować do:InputData.media
z wartości od 0 do 1, sumujące się do1
. 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ścin_media
, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartośćfloat
jako 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ścin_media
, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartośćfloat
jako 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ść toTrue
, co oznacza stałą budżetu. Jeśli ustawiona jest wartośćFalse
, musisz określićtarget_roi
lubtarget_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 rozmiarun_media
, która zawiera wartość procentową. na media. Zamówienie musi pasować do:InputData.media
z wartości od 0 do 1, sumujące się do1
. 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ścin_media
, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartośćfloat
jako 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ścin_media
, której wartości mają być różne ograniczeń wydatków dla różnych kanałów lub pojedynczą wartośćfloat
jako 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.