Pada suatu waktu, salah seorang teman saya yang menjadi sales manager di suatu daerah bertanya:
Bisa gak sih kita buat model yang bisa memberikan early warning sign suatu produk bakalan sukses atau tidak?
Teman saya ini bekerja di salah satu distributor produk FMCG yang terkenal. Dalam kesehariannya, dia meng-handle distribusi ratusan SKU produk.
Singkat cerita, dia memberikan kepada saya sejumlah data yang dia kumpulkan. Asumsi yang digunakan adalah semua produk tersebut memiliki level harga yang sama dan kita mengabaikan faktor lainnya. Data tersebut dia sajikan dalam bentuk tabel berisi 3 kolom:
Nama produk.Performa sales; teman saya menghitung performa sales dengan cara menghitung berapa persen toko yang rutin reorder produk tersebut dari total populasi toko di daerahnya. Rentang waktu perhitungan ini dibuat selama 12 bulan.Risk; teman saya menghitung risk dengan cara menghitung persentase berapa persen toko yang tidak reorder dan retur (mengembalikan produk akibat tidak laku) dari total toko yang dia lakukan penetrasi selama beberapa periode tertentu.Perlu diperhatikan bahwa menghitung performa sales lebih mudah dan cepat karena risk biasanya harus menunggu dalam rentang yang lebih lama (terkait prosedur retur). Terlepas dari cara dia mendefinisikan performa sales dan risk, saya yakin dia sebagai business expert sudah mempertimbangkan hal ini dengan matang.
Hal pertama yang saya lakukan saat mendapatkan data ini adalah membuat scatter plot dari kedua variabel tersebut.
Secara visual, kita bisa menduga ada korelasi negatif antara
performa salesdenganrisk.
Namun seberapa kuat?
Saya akan menghitungnya menggunakan Pearson’s Correlation:
##
## Pearson's product-moment correlation
##
## data: data_nasional$ea and data_nasional$ro
## t = -10.796, df = 131, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.7668324 -0.5841851
## sample estimates:
## cor
## -0.6861759
Hasilnya kita dapatkan bahwa korelasinya kuat negatif sebesar \(r \approx -0.69\).
Ada kecenderungan semakin tinggi
performa sales,risk-nya turun; vice versa.
Sekarang pertanyaannya adalah apakah kita bisa membuat model antara performa sales dengan risk?
Top of mind yang muncul di benak saya adalah kita bisa memodelkan kedua variabel itu dengan model kausalitas berupa regresi. Kenapa? Karena teman saya ingin mengetahui:
Berapa persentase
performa salesyang mulai memberikan peningkatan persentaserisk?
Maksudnya bagaimana?
Contoh: Suatu saat teman saya harus memasarkan produk baru (sebut saja produk XYZ). Pada akhir bulan ketiga, dihitung performa sales-nya sebesar \(x\%\). Tanpa harus menunggu perhitungan retur, dia harus bisa menentukan berapa risk-nya. Sehingga:
performa sales-nya buruk, tentu dia tidak akan melanjutkan ekspansi dan penetrasi ke toko lainnya.performa sales-nya baik, maka dia harus melakukan ekspansi dan penetrasi ke toko-toko lainnya.Jadi langsung saja saya buatkan model regresinya. Saya membuat tiga model regresi:
Model regresi yang akan kita pakai kelak harus memenuhi tiga syarat sebagai berikut:
\[RMSE = \sqrt{\frac{(predicted - real)^2}{n}}\]
Garis kurva tidak melewati garis hitam (saat sumbu \(y = 0\)).
Bisa digunakan untuk menghitung cut off persentase performa sales dan risk.
Terlihat jelas bahwa hanya ada satu kurva regresi yang tidak melanggar syarat 2, yakni regresi polinom orde 3.
Apakah kurva regresi tersebut akan overfit terhadap data?
Menurut saya, kurva regresi polinom orde 3 dinilai mampu memberikan gambaran real terhadap fenomena yang ada di lapangan.
##
## Call:
## lm(formula = ro ~ poly(ea, 3), data = .)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.118555 -0.011355 0.000827 0.015112 0.106685
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.065310 0.002671 24.45 <2e-16 ***
## poly(ea, 3)1 -0.919544 0.030807 -29.85 <2e-16 ***
## poly(ea, 3)2 0.816537 0.030807 26.50 <2e-16 ***
## poly(ea, 3)3 -0.401429 0.030807 -13.03 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.03081 on 129 degrees of freedom
## Multiple R-squared: 0.9318, Adjusted R-squared: 0.9302
## F-statistic: 587.8 on 3 and 129 DF, p-value: < 2.2e-16
Formula regresinya adalah:
\[risk = -0.401429psales^3 + 0.816537psales^2 - 0.919544psales+ 0.065310\]
Sekarang bagaimana caranya saya menentukan nilai cut off persentase performa sales, yakni:
Pada persentase performa sales berapa akan menghasilkan nilai risk yang mulai membesar?
Nilai cut off bisa kita dapatkan dengan memanfaatkan aturan di kalkulus terkait persamaan kuadratik yakni titik belok.
Perhatikan ilustrasi di bawah ini:
Titik belok bisa didapatkan dengan cara mencari turunan kedua \(\frac{d^2}{dx^2}f(x)\). Suatu titik \(a\) disebut titik belok saat \(f(a)\) ter-diferensiabel dua kali, \(\frac{d^2}{dx^2}f(a) = 0\), dan memenuhi:
ATAU
Selain titik belok, kita juga perlu menemukan titik early signal, yakni suatu nilai persentase performa sales di mana terjadinya perlambatan penurunan persentase risk.
Mari kita lihat kembali grafik berikut ini:
Berikut adalah turunan kedua dari persamaan regresi yang ada:
\[risk = -0.401429psales^3 + 0.816537psales^2 - 0.919544psales+ 0.065310 \\ risk' = -1.204287psales^2 + 1.633074psales - 0.919544 \\ risk'' = -2.408574psales + 1.633074 \]
Perhatikan bahwa \(risk'' = 0\), maka:
\[risk'' = -2.408574psales + 1.633074 = 0\]
\[2.408574psales = 1.633074\]
\[psales = 0.6780253\]
Maka didapatkan titik belok pada:
performa sales sebesar 0.6780253 ~ 67.8%, danrisk sebesar 0.0167432 ~ 1.67%.Titik early signal didapatkan dari titik persentase performa sales yang memiliki perlambatan laju persentase risk terbesar (kurva mulai melandai).
Untuk mendapatkannya, kita perlu mencari gradient dari persamaan regresi polinom orde 3.
Diketahui:
\[risk' = -1.204287psales^2 + 1.633074psales - 0.919544\]
Ingat bahwa:
\[\text{gradient} = risk'\]
Di sini saya akan mendefinisikan batasan gradient yang disebut mulai landai adalah saat nilainya -0.5.
Sehingga didapatkan:
| Performa sales | Gradient |
|---|---|
| 0.35 | -0.4954933 |
Gradient kurva mulai melandai pada saat performa sales sebesar 0.35 ~ 35% dengan nilai risk sebesar 0.1570521 ~ 15.71%.