Optimization Story: Optimisasi Alokasi Budget Marketing Perusahaan
Kemarin ada seorang rekan kerja dari departemen yang berbeda bertanya kepada saya:
“Kang, kamu familiar dengan MILP?”
Say tentu jawab: iya. Tesis saya merupakan contoh kasus MILP dan hampir semua post dengan tag optimization story merupakan contoh-contoh kasus mixed integer linear programming. Kali ini saya mau share contoh kasus MILP sederhana dalam dunia marketing.
Sebuah perusahaan ingin mengalokasikan marketing budget ke tiga jenis promosi:
- Iklan TV,
- Sosial Media, dan
- Email.
Ketiga jenis promosi ini bertujuan untuk memaksimalkan total omset. Namun perlu diperhatikan bahwa perusahaan pasti memiliki keterbatasan budget dan harus memilih minimal satu jenis promosi berbayar berupa TV atau sosial media. Perusahaan memiliki budget maksimum sebesar Rp 10 juta.
Jadi jenis promosi apa yang harus dipilih? Kita akan mencarinya menggunakan optimisasi matematika.
Pertama-tama kita akan memformulasikan masalah di atas menjadi bahasa optimisasi berikut ini:
Variabel Keputusan
Kita akan mendefinisikan decision variable (variabel keputusan), yakni inti keputusan yang akan diambil kelak.
: Budget untuk iklan TV (dalam juta rupiah). Nilai
kita definisikan bertipe continuous.
: Budget untuk iklan sosial media (dalam juta rupiah), variabel ini juga kita definisikan bertipe continuous.
: Budget untuk iklan melalui email marketing, variabel ini jugat didefinisikan bertipe continuous.
: Binary (1 jika memilih email marketing atau 0 jika tidak).
Parameter
Setiap known values dari masalah ini disebut dengan parameter. Pada kasus ini, kita memiliki informasi berikut ini:
- ROI (Return on Investment) setiap jenis promosi:
- TV: 3x (setiap Rp1 spending iklan menghasilkan Rp3 penjualan).
- Sosial Media: 2x
- Email: 5x (tetapi hanya aktif jika
).
- Budget total: Rp10,000,000.
- Biaya tetap untuk email marketing: Rp2,000,000 (jika dipilih).
- Minimal alokasi untuk TV atau Sosial Media: Rp3,000,000.
Formulasi Matematika
Tujuan masalah ini adalah memaksimalkan ROI dari spending promosi.
Fungsi Tujuan (Maksimalkan Penjualan)
Berikut adalah objective function dari masalah ini.
Batasan (Constraints):
-
Budget Total:
Budget dalam juta rupiah, biaya Email termasuk jika ia dipilih.
-
Minimal Alokasi TV atau Sosial Media:
-
Email Marketing Hanya Jika Dipilih (
) binary:
Jika
maka
.
-
Non-negatif dan Binary:
Untuk menyelesaikan masalah ini, saya akan membuat skripnya di R
menggunakan library(ompr)
sebagai berikut:
Mixed integer linear optimization problem
Variables:
Continuous: 3
Integer: 0
Binary: 1
Model sense: maximize
Constraints: 3
<SOLVER MSG> ----
GLPK Simplex Optimizer 5.0
3 rows, 4 columns, 7 non-zeros
0: obj = -0.000000000e+00 inf = 3.000e+00 (1)
1: obj = 9.000000000e+00 inf = 0.000e+00 (0)
* 3: obj = 3.400000000e+01 inf = 0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
GLPK Integer Optimizer 5.0
3 rows, 4 columns, 7 non-zeros
1 integer variable, which is binary
Integer optimization begins...
Long-step dual simplex will be used
+ 3: mip = not found yet <= +inf (1; 0)
+ 4: >>>>> 3.400000000e+01 <= 3.400000000e+01 0.0% (2; 0)
+ 4: mip = 3.400000000e+01 <= tree is empty 0.0% (0; 3)
INTEGER OPTIMAL SOLUTION FOUND
<!SOLVER MSG> ----
Solusi yang dihasilkan adalah:
Status: success
Objective value: 34
Max omset yang didapatkan sebesar Rp34 juta dengan konfigurasi:
jenis_promosi | budget_dlm_juta |
---|---|
TV | 3 |
Sosial media | 0 |
Email marketing | 5 |
Expected ROI dari:
- TV: budget sebesar Rp3 juta menghasilkan omset Rp9 juta.
- Email marketing: Rp5juta menghasilkan omset Rp25 juta.
if you find this article helpful, support this blog by clicking the ads.