SUPPLY CHAIN MANAGEMENT (SCM) 6 – Peramalan Permintaan (1-2) syurfah@gmail.com
Today! : Peran peramalan Karakteristik peramalan Horizon peramalan Tujuan Pembelajaran : Peran peramalan Karakteristik peramalan Horizon peramalan Langkah-langkah melakukan peramalan Komponen dan model-model peramalan Model peramalan time series Simple Moving Moving Average Exponential Smoothing Ukuran-ukuran kesalahan peramalan
Mengapa sebuah perusahaan perlu melakukan peramalan?
Mengapa perlu dilakukan peramalan? Permintaan atau kebutuhan yang akan datang tidak diketahui dengan pasti. Peramalan menjadi sangat penting jika diperlukan waktu yang lama untuk membeli atau membuat komponen dan untuk membuat produk tertentu, dibandingkan dengan kesediaan pelanggan untuk menunggu pengiriman produk tersebut.
Contoh Dell memesan processor dari Intel Dell membuat PC berdasarkan order pelanggan Intel perlu beberapa minggu untuk membuat processor Pelanggan ingin PC nya dikirim dalam hitungan hari setelah mereka memesan Intel harus memproduksi processor lebih awal daripada pesanan konsumen, sehingga Dell dan Intel harus meramalkan permintaan processor di masa yang akan datang dan merencanakan produksi sesuai dengan ramalan ini
Peran peramalan dalam supply chain Dasar dari seluruh keputusan strategis dan perencanaan dalam supply chain Digunakan pada berbagai proses Contoh: Produksi: penjadualan, inventory, perencanaan agregat Pemasaran: alokasi tenaga pemasar, promosi, pengenalan produk baru Keuangan: investasi pabrik dan peralatan , rencana anggaran Personalia: perencanaan SDM, rekrutmen dan pemberhentian Seluruh keputusan ini saling terkait
Karakteristik dari ramalan Ramalan selalu mempunyai kesalahan. Harus memasukkan nilai ekspektasi dan ukuran kesalahan. Ramalan jangka panjang kurang akurat dibandingkan ramalan jangka pendek Horison peramalan, waktu antara titik dimana ramalah dibuat sampai dengan kejadian diramalkan, penting. Ramalan agregat lebih akurat dibandingkan ramalan yang terperinci.
Horizon peramalan Jangka pendek – sampai 1 tahun, biasanya kurang dari 3 bulan. Merencanakan pembelian, penjadualan kerja, tingkat tenaga kerja, pembagian tugas. Jangka menengah – 3 bulan - 3 tahun. Perencanaan penjualan, perencanaan produksi, cash budgeting, mengevaluasi rencana produksi Jangka panjang – biasanya lebih dari 3 tahun. Perencanaan produk baru, pengeluaran modal, lokasi dan perluasan fasilitas, research and development
Kriteria utama dalam menentukan model peramalan adalah kesesuaian antara waktu keputusan (decision time), kurun waktu peramalan (forecast horizon) dan keakuratan ramalan (forecast accuracy)
Tipe-tipe peramalan Kualitatif Karakteristik: berdasarkan pertimbangan dan pendapat manusia; subyektif. Kelebihan: memperhitungkan perkembangan terakhir dalam lingkungan dan informasi dari dalam Kelemahan: ramalan yang bias dan akurasi yang rendah Kuantitatif Karakteristik: berdasarkan data kuantitatif dan matematis. Kelebihan: konsisten dan obyektif; dapat mempertimbangkan banyak informasi dan data sekaligus Kelemahan: data kuantitatif mungkin tidak dapat diperoleh. Hanya sebaik data yang dimasukkan.
Metode peramalan Qualitative: subjectif, tergantung pada penilaian ahli, lebih tepat dipakai jika sangat sedikit data yang tersedia atau ketika ahli memiliki market intelligence yang baik Time Series: hanya mempergunakan data historis permintaan Static Adaptive Causal: mempergunakan relasi antara permintaan dan faktor-faktor lain yang mempengaruhinya Simulation Memodelkan perilaku konsumen yang meningkatkan permintaan Dapat mengkombinasikan metode time series dan causal Notes:
Model Time Series Mengasumsikan bahwa sejarah permintaan masa lalu adalah indikator yang baik untuk permintaan di masa yang akan datang Paling sesuai jika situasi lingkungan stabil dan pola permintaan dasar tidak bervariasi secara signifikan dari satu tahun ke tahun berikutnya Metode yang paling sederhana dan dapat menjadi titik acuan awal untuk meramalkan permintaan
Komponen Observasi Systematic component: demand yang diharapkan Observed demand (O) = Systematic component (S) + Random component (R) Level (deseasonalized demand saat ini) Trend (kenaikan atau pernurunan pada demand) Seasonality (predictable fluktuasi musiman) Systematic component: demand yang diharapkan Random component: Bagian dari forecast yang menyimpang dari systematic component Tidak perlu diforeccastkan, hanya diperkirakan ukuran dan variabilitasnya yang menggambarkan forecast error Forecast error: perbedaan antara forecast dan demand yang sebenarnya
Beberapa pola dalam data time series Stationary – pola horizontal. Kurva berubah di sekitar sebuah nilai sentral, biasanya mean (rata-rata) 1 2 3 4 5 6 7 8 9 Periode waktu Nilai
Beberapa pola dalam data time series (2) 1 2 3 4 5 6 7 8 9 Periode waktu Nilai Non-stationary – trend naik atau turun
Beberapa pola dalam data time series (3) 3. Seasonal – trend non-stationary dengan variasi siklus yang berulang pada interval yang tetap 1 2 3 4 5 6 7 8 9 Periode waktu Nilai
Langkah-langkah Dasar Melakukan Peramalan Pahami tujuan peramalan Integrasikan perencanaan permintaan dengan peramalan Identifikasi faktor-faktor utama yang mempengaruhi ramalan permintaan Pahami dan identifikasi segmen pelanggan Tentukan teknik peramalan yang tepat Tentukan ukuran kinerja dan kesalahan (error) dari ramalan
Metode Peramalan Time Series Tujuan : memprediksikan systematic component dari demand Multiplicative: (level) x (trend) x (seasonal factor) Additive: level + trend + seasonal factor Mixed: (level + trend) x (seasonal factor) Static: estimasi level, trend dan seasonality sekali dan tidak mengupdte estimasi tersebut meskipun ada demand baru yang diobservasi Adaptive: estimasi level, trend dan seasonality disesuaikan setelah masing-masing demand diobservasi Moving average Simple exponential smoothing Holt’s model (with trend) Winter’s model (with trend and seasonality)
Metode Peramalan Time Series Static
Metode Statis Asumsikan model yang dipakai adalah mixed model: Systematic component = (level + trend)(seasonal factor) Ft+1 = [L + (t + 1)T]St+1 = forecast pada periode t + l untuk demand pada periode t + l L = estimasi level untuk periode 0 T = estimasi trend St = estimasi seasonal factor untuk periode t Dt = actual demand pada periode t Ft = forecast demand pada periode t
Quarterly Demand untuk NaturalGas.Com Table 1 Forecast demand untuk empat quarters berikutnya. Notes:
Quarterly Demand at NaturalGas.Com Notes:
Estimasi Level and Trend Sebelum mengestimasikan level dan trend, data dari demand harus di-deseasonalize Deseasonalized demand = demand yang tidak dipengaruhi fluktiasi seasonal Periodicity (p) Jumlah period setelah siklus seasonal berulang
Deseasonalizing Demand [Dt-(p/2) + Dt+(p/2) + Sum 2Di] / 2p for p even Dt = (sum is from i = t+1-(p/2) to t-1+(p/2)) Sum Di / p for p odd (sum is from i = t-(p/2) to t+(p/2)), p/2 truncated to lower integer
Deseasonalizing Demand contoh, p = 4genap untuk t = 3: D3 = {D1 + D5 + Sum(i=2 hingga 4) [2Di]}/8 = {8000+10000+[(2)(13000)+(2)(23000)+(2)(34000)]}/8 = 19750 D4 = {D2 + D6 + Sum(i=3 hingga 5) [2Di]}/8 = {13000+18000+[(2)(23000)+(2)(34000)+(2)(10000)]/8 = 20625
Deseasonalizing Demand Masukkan trend Dt = L + tT dimana Dt = deseasonalized demand pada periode t L = level (deseasonalized demand pada period 0) T = trend (rata-rata kenaikan dari deseasonalized demand) Trend ditentukan oleh persamaan regresi linear mempergunakan deseasonalized demand sebagai variabel dependen dan period sebagai variabel independen (di Excel) Pada contoh diatas, L = 18,439 and T = 524
Time Series of Demand
Estimating Seasonal Factors Pergunakan persamaan sebelumnya untuk menghitung deseasonalized demand untuk masing-masing periode St = Dt / Dt = seasonal factor for period t Pada contoh diatas, D2 = 18439 + (524)(2) = 19487 D2 = 13000 S2 = 13000/19487 = 0.67 faktor seasonal untuk periode yang lain dihitung dengan cara yang sama
Estimating Seasonal Factors
Estimating Seasonal Factors Faktor seasonal keseluruhan untuk satu season didapatkan dengan menghitung rata-rata semua faktor dalam satu season Jika ada r siklus seasonal, faktor seasonal untuk season i adalah Si = [Sum(j=0 to r-1) Sjp+i]/r Pada cntoh diatas, ada 3 siklus seasonal pada data dan p=4, sehingga S1 = (0.42+0.47+0.52)/3 = 0.47 S2 = (0.67+0.83+0.55)/3 = 0.68 S3 = (1.15+1.04+1.32)/3 = 1.17 S4 = (1.66+1.68+1.66)/3 = 1.67
Estimating Forecast Ft+1 = [L + (t + 1)T]St+1 Using the original equation, we can forecast the next four periods of demand: F13 = (L+13T)S13 = [18439+(13)(524)](0.47) = 11868 F14 = (L+14T)S14 = [18439+(14)(524)](0.68) = 17527 F15 = (L+15T)S15 = [18439+(15)(524)](1.17) = 30770 F16 = (L+16T)S16 = [18439+(16)(524)](1.66) = 44526 Ft+1 = [L + (t + 1)T]St+1
Metode Peramalan Time Series Addaptive Peramalan metode adaptif Moving Average Simple Exponential Smoothing Holt’s Model (Trend Corrected Exponential Smoothing) Winter’s Model (Trend and Seasonality Corrected Exponential Smoothing) Pengukuran error peramalan
Adaptive Forecasting Estimasi dari level, trend dan seasonality dirubah setiap kali dilakukan observasi demand Metode umum dari adaptive forecasting : Moving average Simple exponential smoothing Trend-corrected exponential smoothing (Holt’s model) Trend- and seasonality-corrected exponential smoothing (Winter’s model)
Rumus dasar untuk Adaptive Forecasting Ft+1 = (Lt + l T)St+1 = forecast untuk periode t+l in periode t Lt = Estimasi level pada akhir periode t Tt = Estimasi trend pada akhir periode t St = Estimasi faktor seasonal pada periode t Ft = Forecast permintaan untuk periode t (dibua pada saat periode t-1 atau lebih awal lagi) Dt = demand sebenarnya dari periode t Et = error forecast dari periode t At = Absolute deviation untuk periode t = |Et| MAD = Mean Absolute Deviation = nilai rata-rata dari At
langkah-langkah umum dalam Adaptive Forecasting Initialisasi: hitung nilai estimasi darilevel (L0), trend (T0), dan faktor seasonal (S1,…,Sp). (seperti pada forecast dengan metode statis) Forecast: buat forecast permintaan untuk t+1 dengan mempergunakan persamaan umum Estimasikan error: hitung error Et+1 = Ft+1- Dt+1 Rubah estimasi: rubah estimasi dari level (Lt+1), trend (Tt+1), dan faktor seasonal (St+p+1), didasarkan pada error Et+1 dalam forecast Ulangi langkah 2,3,4 untuk masing-masing periode
Moving Average Dipergunakan jika demand tidak memiliki trend atau seasonality Systematic component dari demand = level Level pada periode t adalah rata-rata permintaan dari N periode terakhir (N-period moving average) Forecast didasarkan pada estimasi level saat ini Lt = (Dt + Dt-1 + … + Dt-N+1) / N Ft+1 = Lt and Ft+n = Lt setelah mengobservasi demand untuk periode t+1, rubah estimasi menjadi : Lt+1 = (Dt+1 + Dt + … + Dt-N+2) / N Ft+2 = Lt+1
Contoh
Contoh MA Pada akhir periode 4, berapa forecast permintaan untuk periode 5-8 dengan menggunakan 4-period moving average? L4 = (D4+D3+D2+D1)/4 = (34000+23000+13000+8000)/4 = 19500 F5 = L4=19500 Observasi demand pada periode 5 (D5) = 10000 Forecast error pada periode 5, E5 = F5 - D5 = 19500 - 10000 = 9500 Rubah estimasi level pada periode 5: L5 = (D5+D4+D3+D2)/4 = (10000+34000+23000+13000)/4 = 20000 F6 = L5 = 20000
Simple Exponential Smoothing Dipakai jika demand tidak memiliki trend atau seasonality Systematic component dari demand = level Estimasi awal dari level, L0, asumsikan sebagai rata-rata dari semua data historis L0 = [Sum(i=1 to n)Di]/n forecast untuk periode kedepan sama dengan estimasi level saat ini, dengan persamaan sbb: Ft+1 = Lt and Ft+n = Lt setelah mengobeservasi demand Dt+1, rubah estimasi dari level: Lt+1 = aDt+1 + (1-a)Lt Lt+1 = Sum(n=0 to t+1)[a(1-a)nDt+1-n ]
Simple Exponential Smoothing L0 = average of all 12 periods of data = Sum(i=1 to 12)[Di]/12 = 22083 F1 = L0 = 22083 Observed demand untuk periode 1 = D1 = 8000 Forecast error untuk periode 1, E1 : E1 = F1 - D1 = 22083 - 8000 = 14083 Asumsikan a = 0.1, rubah estimasi level untuk periode 1: L1 = aD1 + (1-a)L0 = (0.1)(8000) + (0.9)(22083) = 20675 F2 = L1 = 20675
Trend-Corrected Exponential Smoothing (Holt’s Model) Tepat jika demand diasumsikan memiliki level dan trend pada systematic component-nya, tetapi tanpa seasonality Dapatkan estimasi awal dari level dan trend dengan menjalankan regresi linier dengan rumus : Dt = at + b T0 = a L0 = b pada periode t, forecast untuk periode kedepan didapatkan dengan : Ft+1 = Lt + Tt Ft+n = Lt + nTt
Trend-Corrected Exponential Smoothing (Holt’s Model) Setelah mengobservasi demand untuk periode t, rubah estimasi untuk level dan trend menjadi : Lt+1 = aDt+1 + (1-a)(Lt + Tt) Tt+1 = b(Lt+1 - Lt) + (1-b)Tt a = smoothing constant untuk level b = smoothing constant untuk trend Pada contoh, buat forecast demand untuk periode 1 dengan mempergunakan Holt’s model (trend corrected exponential smoothing) Menggunakan regresi linear, L0 = 12015 (linear intercept) T0 = 1549 (linear slope)
Contoh Holt’s Model (continued) Forecast untuk periode 1: F1 = L0 + T0 = 12015 + 1549 = 13564 Observed demand for period 1 = D1 = 8000 E1 = F1 - D1 = 13564 - 8000 = 5564 Assume a = 0.1, b = 0.2 L1 = aD1 + (1-a)(L0+T0) = (0.1)(8000) + (0.9)(13564) = 13008 T1 = b(L1 - L0) + (1-b)T0 = (0.2)(13008 - 12015) + (0.8)(1549) = 1438 F2 = L1 + T1 = 13008 + 1438 = 14446
Systematic component = (level+trend)(seasonal factor) Trend- and Seasonality-Corrected Exponential Smoothing (Winter’s Model) Dipakai jika demand diasumsikan memiliki level, trend, dan faktor seasonal (Winter’s model) Systematic component = (level+trend)(seasonal factor) Asumsikan periodicity p Dapatkan estimasi awal dari level (L0), trend (T0), faktor seasonal (S1,…,Sp) dengan menggunakan metode dari satic forecasting Pada periode t, forecast untuk periode awal : Ft+1 = (Lt+Tt)(St+1) and Ft+n = (Lt + nTt)St+n
Trend- and Seasonality-Corrected Exponential Smoothing (continued) Setelah mengobservasi demand untuk periode t+1, rubah estimasi dari level, trend, dan faktor seasonal sebagai berikut : Lt+1 = a(Dt+1/St+1) + (1-a)(Lt+Tt) Tt+1 = b(Lt+1 - Lt) + (1-b)Tt St+p+1 = g(Dt+1/Lt+1) + (1-g)St+1 a = smoothing constant untuk level b = smoothing constant untuk trend g = smoothing constant untuk faktor seasonal
Ukuran dari Forecast Error Forecast error = Et = Ft - Dt Mean squared error (MSE) MSEn = (Sum(t=1 to n)[Et2])/n Absolute deviation = At = |Et| Mean absolute deviation (MAD) MADn = (Sum(t=1 to n)[At])/n
Measures of Forecast Error Mean absolute percentage error (MAPE) MAPEn = (Sum(t=1 to n)[|Et/ Dt|100])/n Bias memperlihatkan apakah forecast dibawah atau melebihi demand harus berfluktuasi antara 0 biasn = Sum(t=1 to n)[Et] Tracking signal harus ada pada rentang nilai +6 Jika lebih dari +6, ada inidikasi bahwa forecast yang dilakukan bias, dan dpt menunjukkan underforecasting atau overforecasting, sehingga harus mempergunakan metode forecast yang lain TSt = bias / MADt
Exercise Static Addaptive
Static Permintaan untuk ABC Corporation sebagaimana ditunjukkan dalam tabel 1. Dengan menggunakan metode statis untuk peramalan, berapa permintaan untuk tahun 2003.
Tabel 1