![]() |
Menjalankan dan menampilkan skenario pengoptimalan anggaran pada model Anda.
meridian.analysis.optimizer.BudgetOptimizer(
meridian: meridian.model.model.Meridian
)
Menemukan alokasi anggaran optimal yang memaksimalkan hasil berdasarkan berbagai skenario tempat anggaran, data, dan batasan dapat disesuaikan. Hasilnya dapat dilihat sebagai plot dan sebagai halaman output ringkasan HTML.
Metode
optimize
optimize(
use_posterior: bool = True,
selected_times: (tuple[str | None, str | None] | None) = None,
fixed_budget: bool = True,
budget: (float | None) = None,
pct_of_spend: (Sequence[float] | None) = None,
spend_constraint_lower: (_SpendConstraint | None) = None,
spend_constraint_upper: (_SpendConstraint | None) = None,
target_roi: (float | None) = None,
target_mroi: (float | None) = None,
gtol: float = 0.0001,
use_optimal_frequency: bool = True,
confidence_level: float = c.DEFAULT_CONFIDENCE_LEVEL,
batch_size: int = c.DEFAULT_BATCH_SIZE
) -> meridian.analysis.optimizer.OptimizationResults
Menemukan alokasi anggaran optimal yang memaksimalkan hasil.
Hasil biasanya adalah pendapatan, tetapi jika KPI bukan pendapatan dan data "pendapatan per KPI" tidak tersedia, Meridian akan menentukan Hasil sebagai KPI itu sendiri.
Args | |
---|---|
use_posterior
|
Boolean. Jika True , anggaran akan dioptimalkan berdasarkan
distribusi posterior model. Jika tidak, distribusi
sebelumnya akan digunakan.
|
selected_times
|
Tuple yang berisi koordinat dimensi waktu mulai dan akhir
untuk durasi pengoptimalan. Nilai waktu yang dipilih harus sesuai dengan koordinat dimensi waktu Meridian dalam model yang mendasarinya. Secara default, semua jangka waktu digunakan. Komponen waktu mulai atau waktu akhir dapat berupa None untuk mewakili koordinat waktu pertama atau terakhir.
|
fixed_budget
|
Boolean yang menunjukkan apakah pengoptimalan anggaran tetap
atau pengoptimalan anggaran fleksibel. Default-nya adalah True . Jika False , harus
menentukan target_roi atau target_mroi .
|
budget
|
Angka yang menunjukkan total anggaran untuk skenario anggaran tetap. Setelan defaultnya adalah anggaran historis. |
pct_of_spend
|
Daftar numerik berukuran n_total_channels yang berisi
alokasi persentase untuk pembelanjaan untuk semua media dan saluran RF. Urutan
harus cocok dengan InputData.media dengan nilai antara 0-1, yang jumlahnya
1. Secara default, alokasi historis akan digunakan. Anggaran dan alokasi
digunakan bersama untuk menentukan pembelanjaan tingkat media
yang tidak dioptimalkan, yang digunakan untuk menghitung metrik performa
yang tidak dioptimalkan (misalnya, ROI) dan membuat rentang pembelanjaan tingkat media
yang memungkinkan dengan batasan pembelanjaan.
|
spend_constraint_lower
|
Daftar numerik dengan ukuran n_total_channels atau float
(batasan yang sama untuk semua saluran) yang menunjukkan batas bawah
belanja tingkat media. Batas bawah pembelanjaan tingkat media adalah (1 -
spend_constraint_lower) * budget * allocation) . Nilainya harus
antara 0-1. Secara default, 0.3 untuk anggaran tetap dan 1 untuk fleksibel.
|
spend_constraint_upper
|
Daftar numerik berukuran n_total_channels atau float
(batasan yang sama untuk semua saluran) yang menunjukkan batas atas
belanja tingkat media. Batas atas pembelanjaan tingkat media adalah (1 +
spend_constraint_upper) * budget * allocation) . Secara default, setelan ini ditetapkan ke 0.3 untuk
anggaran tetap dan 1 untuk fleksibel.
|
target_roi
|
Float yang menunjukkan batasan target ROI. Hanya digunakan untuk
skenario anggaran fleksibel. Anggaran dibatasi saat ROI
total pembelanjaan mencapai target_roi .
|
target_mroi
|
Float yang menunjukkan batasan ROI marginal target. Hanya
digunakan untuk skenario anggaran fleksibel. Anggaran dibatasi saat ROI marginal dari total pembelanjaan mencapai target_mroi .
|
gtol
|
Float yang menunjukkan error relatif yang dapat diterima untuk anggaran yang digunakan
dalam penyiapan petak. Anggaran akan dibulatkan oleh 10*n , dengan n adalah
bilangan bulat terkecil sehingga (budget - rounded_budget) kurang dari
atau sama dengan (budget * gtol) . gtol harus kurang dari 1.
|
use_optimal_frequency
|
Jika True , gunakan optimal_frequency yang dihitung oleh
model Meridian terlatih untuk pengoptimalan. Jika False , gunakan frekuensi historis.
|
confidence_level
|
Nilai minimum untuk menghitung interval keyakinan. |
batch_size
|
Penggambaran maksimum per rantai dalam setiap batch. Penghitungan dijalankan
secara batch untuk menghindari kehabisan memori. Jika terjadi error memori, coba kurangi batch_size . Penghitungan umumnya akan lebih cepat dengan
nilai batch_size yang lebih besar.
|
Hasil | |
---|---|
Objek OptimizationResults yang berisi set data alokasi anggaran
yang dioptimalkan, beserta beberapa nilai perantara yang digunakan untuk mendapatkannya.
|