Dokumen ini menjelaskan skenario anggaran yang tetap dan fleksibel serta memberikan contoh kode untuk membantu Anda memahami cara menyesuaikan pengoptimalan anggaran.
Anggaran tetap: Memaksimalkan ROI atau KPI inkremental
Dalam skenario ini untuk anggaran tertentu, Anda dapat menemukan alokasi optimal di seluruh
saluran dan taktik untuk memaksimalkan laba atas investasi (ROI). Jika kpi_type
ditetapkan ke bukan pendapatan dan revenue_per_kpi
tidak diketahui, anggaran tetap
menemukan alokasi optimal untuk memaksimalkan KPI inkremental.
Skenario ini mewakili setelan {i>default<i} dan berjalan jika Anda memanggil
Metode optimize()
dari class BudgetOptimizer
tanpa tambahan
argumen. Ada juga opsi untuk mengubah skenario anggaran tetap dengan
mengubah periode waktu pengoptimalan, memasukkan anggaran yang berbeda, dan
alokasi pembelanjaan media yang telah dioptimalkan, dan menunjukkan batas bawah dan atas
untuk pengeluaran media.
Kode contoh
Contoh kode berikut menunjukkan skenario anggaran tetap yang disesuaikan:
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],
)
Parameter kunci
selected_times
: Tuple yang berisi dimensi waktu mulai dan waktu berakhir untuk durasi pengoptimalan. Dimensi waktu harus selaras dengan Dimensi waktu meridian. Secara default, semua jangka waktu akan digunakan.Contoh
Untuk mengubah rentang tanggal:
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
: Angka yang menunjukkan total anggaran untuk skenario anggaran tetap. Setelan defaultnya adalah anggaran historis.Contoh
Untuk mengubah anggaran menjadi
70000000
:budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(budget=70000000) # change the budget to 150000
pct_of_spend
: Daftar numerik ukurann_media
yang berisi persentase untuk pembelanjaan media. Pesanan harus cocok denganInputData.media
dengan nilai antara 0-1, yang dijumlahkan menjadi1
. Secara default, alokasi historis adalah data Anggaran dan alokasi digunakan bersamaan untuk menentukan yang tidak dioptimalkan, yang digunakan untuk menghitung metrik performa yang tidak dioptimalkan (misalnya, ROI) dan menyusun rentang pengeluaran tingkat media yang layak dengan batasan pengeluaran.Contoh
Untuk menentukan alokasi:
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
: Daftar numerik dengan panjangn_media
yang akan digunakan batasan pembelanjaan untuk saluran yang berbeda, atau satu nilaifloat
sebagai batasan pengeluaran yang sama untuk semua saluran media. Menunjukkan batas bawah dari pembelanjaan tingkat media. Batas bawah pembelanjaan tingkat media adalah((1 - spend_constraint_lower) * budget * allocation)
. Nilai yang dimasukkan harus antara 0-1. Nilai defaultnya adalah 0,3 (artinya 70% pembelanjaan media) untuk anggaran tetap dan 1 (artinya 0% dari pembelanjaan media) untuk anggaran yang fleksibel.Contoh
Untuk mengubah batasan pembelanjaan yang lebih rendah:
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
: Daftar numerik dengan panjangn_media
yang akan digunakan batasan pembelanjaan untuk saluran yang berbeda, atau satu nilaifloat
sebagai batasan pengeluaran yang sama untuk semua saluran media. Menunjukkan batas atas dari pembelanjaan tingkat media. Batas atas pembelanjaan tingkat media adalah(1 + spend_constraint_upper) * budget * allocation)
. Nilai defaultnya adalah 0,3 (artinya 130% pembelanjaan media) untuk anggaran tetap dan 1 (artinya 200% dari pembelanjaan media) untuk anggaran yang fleksibel.Contoh
Untuk mengubah batasan pembelanjaan atas:
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
Anggaran fleksibel: Menargetkan ROI minimum
Dalam skenario ini untuk anggaran yang fleksibel, Anda memasukkan target ROI minimum yang spesifik. Opsi ini memungkinkan Anda mengetahui jumlah anggaran maksimum yang dapat dibelanjakan tanpa batas anggaran hingga keseluruhan ROI mencapai X pada total tingkat pemasaran. Meridian memberikan rekomendasi anggaran maksimum, serta alokasi anggaran di seluruh saluran media, untuk mencapai target ROI tersebut. Secara khusus, batasan target ROI diterapkan pada tingkat ROI total pemasaran dan bukan pada tingkat channel.
Kode contoh
Contoh kode berikut menunjukkan skenario anggaran fleksibel yang disesuaikan dengan target ROI minimum:
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,
)
Parameter kunci
fixed_budget
: Boolean yang menunjukkan apakah ini merupakan pengoptimalan anggaran tetap atau tidak atau pengoptimalan anggaran yang fleksibel. Default-nya adalahTrue
, menunjukkan nilai yang sudah diperbaiki anggaran. JikaFalse
, Anda juga harus menentukantarget_roi
atautarget_mroi
.target_roi
: Float yang menunjukkan batasan ROI target. Hanya digunakan untuk skenario anggaran yang fleksibel. Anggaran dibatasi ketika ROI total pembelanjaan media mencapaitarget_roi
.Contoh
Untuk beralih ke skenario anggaran fleksibel dan menetapkan ROI target ke
1
:budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(fixed_budget=False, target_roi=1)
selected_times
: Tuple yang berisi dimensi waktu mulai dan waktu berakhir untuk durasi pengoptimalan. Dimensi waktu harus selaras dengan Dimensi waktu meridian. Secara default, semua jangka waktu akan digunakan.pct_of_spend
: Daftar numerik ukurann_media
yang berisi persentase untuk pembelanjaan media. Pesanan harus cocok denganInputData.media
dengan nilai antara 0-1, yang dijumlahkan menjadi1
. Secara default, alokasi historis adalah data Anggaran dan alokasi digunakan bersamaan untuk menentukan yang tidak dioptimalkan, yang digunakan untuk menghitung metrik performa yang tidak dioptimalkan (misalnya, ROI) dan menyusun rentang pengeluaran tingkat media yang layak dengan batasan pengeluaran.spend_constraint_lower
: Daftar numerik dengan panjangn_media
yang akan digunakan batasan pembelanjaan untuk saluran yang berbeda, atau satu nilaifloat
sebagai batasan pengeluaran yang sama untuk semua saluran media. Menunjukkan batas bawah dari pembelanjaan tingkat media. Batas bawah pembelanjaan tingkat media adalah((1 - spend_constraint_lower) * budget * allocation)
. Nilai yang dimasukkan harus antara 0-1. Nilai defaultnya adalah 0,3 (artinya 70% pembelanjaan media) untuk anggaran tetap dan 1 (artinya 0% dari pembelanjaan media) untuk anggaran yang fleksibel.spend_constraint_upper
: Daftar numerik dengan panjangn_media
yang akan digunakan batasan pembelanjaan untuk saluran yang berbeda, atau satu nilaifloat
sebagai batasan pengeluaran yang sama untuk semua saluran media. Menunjukkan batas atas dari pembelanjaan tingkat media. Batas atas pembelanjaan tingkat media adalah(1 + spend_constraint_upper) * budget * allocation)
. Nilai defaultnya adalah 0,3 (artinya 130% pembelanjaan media) untuk anggaran tetap dan 1 (artinya 200% dari pembelanjaan media) untuk anggaran yang fleksibel.
Anggaran fleksibel: Target ROI marginal
Dalam skenario ini untuk anggaran yang fleksibel, Anda memasukkan target ROI marginal untuk pembelanjaan inkremental. Opsi ini memberitahukan berapa anggaran maksimum yang dapat dibelanjakan tanpa batas anggaran hingga ROI marginal setiap saluran media mencapai target ROI marginal. Ada kemungkinan bahwa ROI marginal beberapa saluran tidak akan sama dengan ROI marginal target karena rentang media yang memungkinkan mengurangi pengeluaran Google Cloud Anda. Namun, ROI marginal akan secara efektif menyusut sesuai target ROI marginal. Secara khusus, ROI marginal target diterapkan pada tingkat saluran dan bukan di tingkat pemasaran total.
Kode contoh
Contoh kode berikut menunjukkan skenario anggaran fleksibel yang disesuaikan dengan target ROI marginal:
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,
)
Parameter kunci
fixed_budget
: Boolean yang menunjukkan apakah ini merupakan pengoptimalan anggaran tetap atau tidak atau pengoptimalan anggaran yang fleksibel. Default-nya adalahTrue
, menunjukkan nilai yang sudah diperbaiki anggaran. JikaFalse
, Anda harus menentukantarget_roi
atautarget_mroi
.target_mroi
: Float yang menunjukkan batasan ROI marginal target. Hanya digunakan untuk skenario anggaran yang fleksibel. Anggaran dibatasi ketika ROI marginal dari total pembelanjaan media mencapaitarget_mroi
.Contoh
Untuk beralih ke skenario anggaran fleksibel dan menetapkan target ROI marginal ke
1
:budget_optimizer = optimizer.BudgetOptimizer(meridian) opt = budget_optimizer.optimize(fixed_budget=False, target_mroi=1)
selected_times
: Tuple yang berisi dimensi waktu mulai dan waktu berakhir untuk durasi pengoptimalan. Dimensi waktu harus selaras dengan Dimensi waktu meridian. Secara default, semua jangka waktu akan digunakan.pct_of_spend
: Daftar numerik ukurann_media
yang berisi persentase untuk pembelanjaan media. Pesanan harus cocok denganInputData.media
dengan nilai antara 0-1, yang dijumlahkan menjadi1
. Secara default, alokasi historis adalah data Anggaran dan alokasi digunakan bersamaan untuk menentukan yang tidak dioptimalkan, yang digunakan untuk menghitung metrik performa yang tidak dioptimalkan (misalnya, ROI) dan menyusun rentang pengeluaran tingkat media yang layak dengan batasan pengeluaran.spend_constraint_lower
: Daftar numerik dengan panjangn_media
yang akan digunakan batasan pembelanjaan untuk saluran yang berbeda, atau satu nilaifloat
sebagai batasan pengeluaran yang sama untuk semua saluran media. Menunjukkan batas bawah dari pembelanjaan tingkat media. Batas bawah pembelanjaan tingkat media adalah((1 - spend_constraint_lower) * budget * allocation)
. Nilai yang dimasukkan harus antara 0-1. Nilai defaultnya adalah 0,3 (artinya 70% pembelanjaan media) untuk anggaran tetap dan 1 (artinya 0% dari pembelanjaan media) untuk anggaran yang fleksibel.spend_constraint_upper
: Daftar numerik dengan panjangn_media
yang akan digunakan batasan pembelanjaan untuk saluran yang berbeda, atau satu nilaifloat
sebagai batasan pengeluaran yang sama untuk semua saluran media. Menunjukkan batas atas dari pembelanjaan tingkat media. Batas atas pembelanjaan tingkat media adalah(1 + spend_constraint_upper) * budget * allocation)
. Nilai defaultnya adalah 0,3 (artinya 130% pembelanjaan media) untuk anggaran tetap dan 1 (artinya 200% dari pembelanjaan media) untuk anggaran yang fleksibel.