Cara Ramal Revenue Restoran Di Malaysia: Model 5-Variabel
Kebanyakan ramalan F&B Malaysia adalah tekaan berbalut model. Operator darab covers yang dijangka dengan purata belanja, sampai pada nombor bulat untuk bulan tu, dan anggap itu sebagai plan. Kemudian April mendarat pada RM48,000 bukannya RM65,000 dalam belanjawan dan tiada siapa boleh terangkan kenapa. Panduan ini adalah model 5-variabel yang operator betul-betul guna sebaik mereka berhenti anggap satu pendaraban sebagai ramalan.
Cadangan di sini mudah. Ramalan revenue yang berguna untuk cafe, kopitiam atau restoran Malaysia kena kira lima input bebas: covers, average order value, mix weekday lawan weekend, sumbangan daypart, dan pendarab musim untuk bulan kalendar. Tinggalkan mana-mana satu dan ramalan jadi tekaan masa kejutan pertama. Kekalkan semua lima dan anda ada model yang anda boleh bahas, pertahankan di depan pelabur, dan revise bila realiti drift.
Kenapa ramalan satu-variabel gagal
Struktur ramalan paling biasa dalam F&B Malaysia adalah satu baris: covers harian yang dijangka, darab purata belanja per cover yang dijangka, darab hari berniaga per bulan. Cafe 60-seat di PJ anggap 90 covers sehari pada RM38 purata, beri diri sendiri 28 hari berniaga, dan tulis RM95,760 dalam plan. Kemas. Nampak boleh dipertahankan. Hampir selalu salah.
Masalah pertama ialah cover Isnin dan cover Sabtu bukan haiwan yang sama. Cover lunch Isnin di cafe yang sama belanja RM32 sebab seorang dengan laptop order sandwich dan kopi. Cover brunch Sabtu belanja RM52 sebab kumpulan tiga, kongsi dua main, dua minuman, satu side, dan satu dessert. Purata mereka jadi satu angka RM38 sembunyikan fakta yang anda perlukan kedua-dua weekend tinggi dan weekday yang boleh berfungsi untuk capai nombor tu. Kalau satu tergelincir, purata sahaja takkan beritahu anda yang mana.
Masalah kedua ialah model cover-sahaja tiada pendapat tentang waktu. Daypart adalah unit kerja yang dapur sebenarnya buat. Cover breakfast, cover lunch, cover tea dan cover dinner bawa struktur kos berbeza, masa table turn berbeza, dan siling upsell berbeza. Ramalan yang tak split mereka tak boleh beritahu anda sama ada jurang ke belanjawan ada di pagi kopi atau di servis dinner, yang bermakna anda tak boleh baiki perkara yang betul.
Masalah ketiga ialah kalendar. Revenue F&B Malaysia tak jalan rata sepanjang tahun. Ramadan mampatkan lunch dan letupkan jam pre-buka. Hari Raya potong trafik weekday separuh untuk seminggu. CNY gerakkan outlet majoriti Cina dalam satu arah dan outlet India dan Melayu dalam arah lain. Cuti sekolah pada Mac, Jun, Ogos dan Disember tukar corak keluarga. Berpura-pura kalendar tak wujud bermakna ramalan Januari anda dan ramalan Jun anda bawa logik yang sama, dan salah satunya akan tersasar RM30,000 sebelum pertengahan bulan.
Model 5-variabel
Peralihan bukan dari satu variabel ke sepuluh. Sepuluh variabel adalah akademik. Peralihan adalah dari satu ke lima. Setiap satu lima di bawah peta kepada keputusan sebenar yang operator kena buat: berapa kerusi, berapa menu caj, bila pintu sibuk, waktu apa cetak duit, dan bulan apa.
Variabel 1: Covers harian (kapasiti x table turn x utilisation)
Mula dengan siling fizikal. Covers harian bukan harapan, ia produk tiga sub-nombor: kerusi, table turn, dan utilisation.
Kerusi adalah yang lebih rendah antara kapasiti sah dan bilangan meja yang floor boleh sebenarnya jalankan dengan team on shift. Cafe 60-seat dengan satu waiter dan satu barista pada Selasa lunch boleh sebenarnya jalankan 40 covers, bukan 60, sebab meja 7 dan 8 akan duduk tak dipedulikan. Guna kiraan kerusi yang ada staff, bukan yang dilesen.
Table turn ialah berapa kali kerusi dijual dalam daypart. Benchmark KL yang berfungsi merentas kebanyakan operator yang kami lihat: kerusi cafe breakfast turn 1.4 kali merentas blok breakfast, lunch turn 1.8 hingga 2.2 kali merentas blok 11.30 hingga 2.30, tea adalah 0.8, dinner adalah 1.6 hingga 2.0 merentas 6.30 hingga 9.30. Kopitiam turn lebih cepat (lunch pada 2.5 hingga 3.0 sebab tiket lebih pendek). Restoran Western full-service turn lebih perlahan (lunch pada 1.2 hingga 1.5 sebab main ambil masa lebih lama).
Utilisation ialah peratusan kapasiti teori yang anda sebenarnya isi. Outlet baru jalan pada 35 hingga 45 peratus dalam 90 hari pertama. Outlet stabil jalan pada 55 hingga 70 peratus merentas minggu. Brunch Sabtu puncak kena 85 hingga 95 peratus. Guna angka utilisation berbeza per daypart, per weekday, per weekend. Satu nombor untuk seluruh minggu adalah pembohongan pertama dalam model.
Covers harian, jadi, sama dengan kerusi x table turn x utilisation, dikira per daypart dan dijumlahkan. Untuk cafe PJ 60-seat staffed untuk 40, jalankan breakfast pada turn 1.4 dan utilisation 60 peratus, lunch pada turn 2.0 dan 75 peratus, tea pada turn 0.8 dan 40 peratus, dinner pada turn 1.8 dan 70 peratus, angka cover harian pada Rabu biasa adalah lebih kurang 167.
Variabel 2: Average order value
AOV bukan satu nombor per outlet. Ia sekurang-kurangnya empat, dan idealnya split lagi. Guna satu AOV per daypart, kemudian lapis weekend uplift atas setiap satu. Tarik dari spread cafe dan operator casual-dining Klang Valley yang mewakili pada produk MenuBase, bentuk kasar nampak macam:
- AOV breakfast: RM18 hingga RM26 weekday, RM26 hingga RM38 weekend. Order solo dominasi weekday. Pasangan dan kumpulan kecil sampai weekend.
- AOV lunch: RM28 hingga RM42 weekday, RM38 hingga RM58 weekend. Set dan combo pacu baseline weekday. Kongsi dan item tambahan angkat weekend.
- AOV tea time: RM14 hingga RM22 merentas minggu. Selalunya paling rendah. Minuman dan satu manisan.
- AOV dinner: RM42 hingga RM68 weekday, RM58 hingga RM95 weekend. Swing terbesar dalam hari sebab saiz kumpulan bergerak paling banyak.
- AOV late-night: RM18 hingga RM32. Selalunya banyak minuman, sedikit makanan.
Disiplin bukan pilih nombor tepat untuk setiap cell. Ia menolak guna satu AOV untuk seluruh bulan. Kalau anda ada sejarah POS 12 minggu, bina table dari data sebenar anda. Kalau tidak, mula dengan julat di atas dan tala semula dalam 90 hari. Tujuannya adalah hentikan model dari diam-diam anggap purata RM38 yang tak wujud di mana-mana di floor anda.
Variabel 3: Split weekday lawan weekend
Ambil "hari purata" sembarangan dan model jadi rapuh. Versi yang lebih jujur ialah indeks setiap hari terhadap purata dan biar kalendar bercakap. Corak Klang Valley, purata merentas outlet cafe dan casual-dining yang kami lihat, nampak macam ni:
- Isnin hingga Khamis: 60 peratus hari purata setiap satu. Premis berlabuh-pejabat condong lebih tinggi pada Selasa dan Rabu, lebih rendah pada Isnin dan Khamis.
- Jumaat: 75 peratus. Lunch Jumaat dipacu tempat kerja. Dinner Jumaat angkat bila orang pejabat tinggal.
- Sabtu: 90 peratus. Hari puncak untuk kebanyakan outlet cafe dan casual-dining. Brunch adalah daypart tunggal terbesar.
- Ahad: 80 peratus. Brunch tahan, dinner perlahan sebab Isnin datang.
Kalau anda jumlahkan tu (60 x 4 + 75 + 90 + 80) dan bahagi dengan 7, anda dapat hari purata. Perhatikan coraknya. Hari weekend bawa lebih kurang berat revenue yang sama dengan tiga hari weekday digabungkan. Kalau ramalan anda diam-diam anggap Selasa dan Sabtu cetak sama, anda budget Sabtu terlalu rendah dan Selasa terlalu tinggi. Yang pertama akan nampak macam outperformance, yang kedua akan nampak macam masalah. Tiada yang benar.
Angka ni berubah ikut jenis premis. Kopitiam berlabuh-mall mampatkan spread sebab trafik kaki lebih sama rata. Cafe menara-pejabat tinggikan ia sebab Sabtu kosong. Guna rangka, kemudian fit semula peratusan kepada data POS anda dalam 60 hari buka atau dalam 30 hari sebarang perubahan struktur dalam bangunan sekeliling.
Variabel 4: Sumbangan daypart
Lapisan seterusnya ialah bagaimana hari pecah. Rangka berguna untuk premis full-service:
- Breakfast (7 pagi hingga 11 pagi): 15 peratus revenue harian. Tiket lebih rendah, turn lebih cepat.
- Lunch (11.30 pagi hingga 2.30 petang): 35 peratus. Blok revenue yang boleh diharap. Mix pejabat dan walk-in.
- Tea time (3 petang hingga 5.30 petang): 10 peratus. Selalunya daypart paling bocor, yang bocor rental. Berbaloi lihat berasingan cara aktifkan.
- Dinner (6 petang hingga 10 malam): 35 peratus. Blok lain yang boleh diharap. AOV lebih tinggi, turn lebih perlahan.
- Late-night (selepas 10 malam): 5 peratus. Hanya bermakna untuk mamak, kopitiam lewat dan premis format bar.
Cafe yang tutup pukul 6 petang tolak blok breakfast lebih tinggi (selalunya 25 hingga 30 peratus) dan tiada dinner. Kopitiam yang berlabuh lunch mungkin duduk pada 45 peratus lunch. Premis dinner-sahaja terbalikkan keluk. Tujuan letak sumbangan daypart dalam model ialah ia beritahu anda di mana nak tengok bila ramalan tersasar. Kalau anda budget 35 peratus dinner dan jalankan 22 peratus, jurang bukan "restoran tu", ia adalah dinner.
Variabel 5: Musim
Lapisan terakhir ialah kalendar Malaysia. Apply pendarab per bulan bukan rawat setiap bulan sebagai purata. Inilah bentuk kasar merentas satu tahun berniaga, dengan setiap bulan diindeks kepada baseline 1.0:
- Januari: 1.05 hingga 1.10. Resolusi tahun baru tolak cafe gym-dan-sihat naik. Antisipasi CNY angkat outlet majoriti Cina dalam separuh kedua bulan.
- Februari: 0.90 hingga 1.20 bergantung pada CNY. Outlet tutup 3 hingga 7 hari sekitar CNY. Minggu sebelumnya adalah puncak, minggu selepasnya adalah palung.
- Mac: 0.95 hingga 1.00. Cuti sekolah pacu trafik keluarga. Sedikit perlahan dalam premis berlabuh-pejabat.
- April / Ramadan: 0.65 hingga 0.85 untuk premis bukan halal. 1.10 hingga 1.35 untuk premis halal dengan pre-buka kuat dan limpahan bazaar ramadan. Perdagangan lunch mampat 30 hingga 50 peratus merentas papan.
- Mei / Hari Raya: 0.70 hingga 0.90. Minggu Raya sendiri tenang untuk kebanyakan premis. Hujung minggu selepas adalah rebound.
- Jun: 0.95 hingga 1.05. Cuti sekolah pertengahan bulan. Premis mall nampak trafik keluarga, premis pejabat perlahan.
- Julai: 1.00. Bulan ramalan paling boleh dipercayai. Guna Julai untuk kalibrate model.
- Ogos: 1.00 hingga 1.05. Hujung minggu panjang Merdeka angkat brunch dan dinner.
- September: 0.95 hingga 1.00. Hujung minggu panjang Hari Malaysia bagi satu uplift.
- Oktober: 1.00 hingga 1.10. Deepavali angkat outlet majoriti India dengan bermakna. Ramp hujung tahun pejabat mula.
- November: 1.05 hingga 1.15. Dinner pejabat hujung tahun mula. Booking kumpulan naik.
- Disember: 1.15 hingga 1.30. Bulan terkuat untuk premis casual-dining dan cafe. Krismas, parti pejabat hujung tahun, cuti sekolah, gifting F&B.
Ramalan yang jalankan angka bulanan rata merentas kalendar ini tersasar RM50,000 atau lebih dalam mana-mana arah sepanjang tahun. Bina table musim sekali, tala semula tahunan guna data POS tahun lepas, dan plan bulanan akan kekal dalam 10 peratus variance untuk kebanyakan bulan.
Ramalan satu-variabel adalah tekaan. Ramalan 5-variabel adalah hipotesis yang anda boleh uji.
Contoh berjalan: ramal cafe 60-seat di PJ Damansara untuk Julai 2026
Ambil bentuk sebenar. Cafe 60-seat di PJ Damansara, staffed untuk 40 kerusi berfungsi, buka 7.30 pagi hingga 10 malam tujuh hari seminggu. Tauke nak ramalan revenue Julai 2026. Julai adalah bulan musim 1.0 dan kalendar 31-hari, yang jadikannya ujian pertama ideal.
Langkah 1, covers harian pada hari purata. Apply angka turn daypart dan utilisation dari Variabel 1:
- Breakfast: 40 kerusi x 1.4 turn x 60 peratus utilisation = 33 covers
- Lunch: 40 x 2.0 x 75 peratus = 60 covers
- Tea: 40 x 0.8 x 40 peratus = 13 covers
- Dinner: 40 x 1.8 x 70 peratus = 50 covers
- Covers harian purata: 156
Langkah 2, AOV berwajaran ikut daypart. Tauke tarik dari sejarah POS 12 minggu: breakfast RM22, lunch RM34, tea RM18, dinner RM52. AOV diblend merentas hari, ditimbang ikut share cover, mendarat pada RM34. Tapi model tak guna blend, ia guna setiap baris berasingan.
- Revenue breakfast per hari purata: 33 x RM22 = RM726
- Lunch: 60 x RM34 = RM2,040
- Tea: 13 x RM18 = RM234
- Dinner: 50 x RM52 = RM2,600
- Jumlah hari purata: RM5,600
Langkah 3, taburan weekday/weekend. Apply pemberat 60/60/60/60/75/90/80. Jumlahnya 485 peratus hari purata merentas 7 hari seminggu. Julai 2026 ada 4 minggu penuh tambah 3 hari tambahan (Rabu 29, Khamis 30, Jumaat 31). Matematik pemberat:
- 4 minggu x 485 peratus hari purata = 1,940 peratus
- 3 hari weekday tambahan (Rabu, Kha, Jum) = 60 + 60 + 75 = 195 peratus
- Jumlah day-equivalents: 21.35 hari purata
Langkah 4, jumlah bulanan pada baseline. 21.35 x RM5,600 = RM119,560.
Langkah 5, musim. Julai adalah bulan baseline 1.0, jadi tiada pelarasan. Ramalan untuk Julai 2026 adalah RM119,560.
Kalau tauke guna model satu-variabel (156 covers x RM34 x 31 hari), ia akan hasilkan RM164,424. Itu RM44,864 terlalu tinggi, sebab model satu-variabel anggap setiap hari adalah hari purata, yang Sabtu dan Isnin pasti bukan. Model 5-variabel RM45,000 lebih dekat pada kebenaran, dan yang lebih penting, ia beritahu tauke lever mana nak tarik kalau Julai tersasar. Kalau breakfast underperform, tengok marketing pagi. Kalau dinner underperform, tengok upsell pada menu dinner. Kalau Sabtu underperform, tengok staffing brunch. Model satu-variabel hanya kata "kami tersasar."
Rekonsiliasi ramalan lawan sebenar: tinjauan variance mingguan
Model hanya berguna kalau anda jalankan ia terhadap nombor sebenar setiap minggu. Set tinjauan 30-minit berulang dengan team. Tarik data POS minggu lepas, segmentkan dengan lima cara yang sama ramalan buat, dan banding.
Tinjauan patut jawab tiga soalan. Pertama, adakah variance dalam revenue, atau dalam margin? Miss revenue 12 peratus dengan margin sihat berbeza daripada miss revenue 4 peratus dengan hentakan margin 20 peratus. Kedua, adakah miss dalam covers, AOV, atau mix? Kalau covers tahan tapi AOV jatuh, upsell anda pecah. Kalau covers jatuh tapi AOV tahan, trafik anda pecah. Ketiga, adakah miss dalam daypart spesifik? Kebanyakan variance mingguan hidup dalam satu atau dua cell table 5-variabel, bukan tersebar sama rata.
Simpan log berjalan. Selepas 8 hingga 12 minggu tinjauan variance, corak muncul yang tiada P&L bulanan akan tunjuk. Lunch Selasa mungkin secara konsisten miss 8 peratus. Dinner Jumaat mungkin secara konsisten beat 12 peratus. Itu signal untuk suap balik ke ramalan bulan depan dan ke tinjauan harga menu. Log variance juga adalah apa yang anda bawa kepada pelabur dan rakan kongsi bila mereka tanya sama ada perniagaan on track. Variance 4 peratus dengan sebab diketahui adalah cerita lebih sihat daripada beat 1 peratus tanpa penjelasan.
Bila perlu revise model
Model drift. Respons yang betul bukan revise setiap bulan, yang over-fit kepada noise. Respons yang betul ialah revise atas signal. Tiga signal justify rebuild model:
Signal 1: Tiga minggu berturut-turut variance lebih 15 peratus dalam arah yang sama. Satu minggu buruk adalah cuaca. Dua minggu buruk adalah nasib buruk. Tiga berturut-turut adalah model. Sesuatu dalam table input salah. Paling biasa anggapan AOV dah drift sebab harga menu berubah dan model tak kejar. Kadangkala sumbangan daypart beralih sebab pesaing berdekatan buka atau tutup. Berjalan setiap lima variabel dan cari satu yang tak lagi padan floor.
Signal 2: Perubahan struktur dalam kawasan perdagangan sekeliling. Outlet baru buka di seberang jalan. Penutupan jalan yang pecahkan trafik kaki. Bangunan pejabat baru isi penuh dua pintu jauh. Sekolah berpindah. Mana-mana ni reset angka utilisation dalam Variabel 1, kadangkala 15 hingga 25 peratus dalam mana-mana arah. Jangan tunggu variance buktikannya. Rebuild model dalam minggu 1 perubahan.
Signal 3: Perubahan harga menu. Bila-bila anda tolak harga naik 5 peratus atau lebih merentas kategori, anggapan AOV beralih dan anggapan cover juga mungkin beralih (sesetengah pelanggan sensitif-harga keluar, sesetengah uplift upsell). Rebuild table AOV dari data POS 3 minggu selepas perubahan. Guna angka baru untuk kitaran ramalan seterusnya. Jangan anggap kenaikan harga mengalir bersih.
Bagaimana data MenuBase suap model
Kebanyakan operator yang kami kerja dengan bina versi pertama model 5-variabel atas kertas, kemudian sedar input susah disumber konsisten dari eksport POS sahaja. AOV tahap daypart adalah rumit. Weekend uplift perlukan segmenting tiket ikut hari. Keberkesanan promo tertimbus dalam line item.
Produk MenuBase duduk antara telefon pelanggan dan POS, yang bermakna AOV tahap daypart, kadar terima atas cadangan upsell, corak saiz kumpulan, dan tebusan promo ditangkap per tiket sambil mereka berlaku. Operator tarik ini keluar sebagai eksport bulanan dan suap terus ke input ramalan. Tinjauan variance kemudian jadi tarik dan banding 20-minit, bukan rekonsiliasi manual tiga laporan.
Model sama sama ada data datang dari MenuBase atau tidak. Input hanya jadi jauh kurang sakit untuk kekal terkini bila menu digital sudah menangkap segmen. Tujuan ramalan adalah untuk direvise bila floor berubah. Tujuan lapisan data adalah jadikan revision tu kerja 20-minit, bukan 4-jam.
Kalau model 5-variabel masih mendarat atas 15 peratus variance selepas 6 minggu
Titik tersangkut biasa adalah Variabel 2 (AOV), sebab operator tarik angka diblend dari POS bukannya yang disegmen daypart. Model hanya berfungsi kalau table AOV jujur.
Kalau anda nak bantuan wire input dari data POS sebenar anda, WhatsApp team. 15 minit. Kami akan tengok satu minggu penuh eksport POS anda dan beritahu yang mana satu daripada lima variabel adalah sumber variance terbesar. Kalau MenuBase bukan jawapan yang betul untuk anda, kami akan kata begitu.
WhatsApp team →