MenuBase BM
Playbook  /  Kewangan

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:

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:

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:

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:

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:

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.

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:

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 →
Nak ini pada menu anda?

Hantar menu anda. Dapat model uplift 15 minit.

Kami bina semula menu anda dalam MenuBase, setup smart upsell, daypart dan peraturan stok untuk padan realiti dapur anda. White-glove. Live menjelang hujung servis hari pertama. RM28 hingga RM99 sebulan ikut saiz menu, tanpa yuran setup, batal bulanan.

Hantar menu anda →
15 MINIT · TANPA KOMITMEN · KAMI BALAS DALAM SEJAM