KPI Keuangan: Metrik yang Dibaca CFO Setiap Bulan
Blog/Dashboard & Visualisasi/KPI Keuangan: Metrik yang Dibaca CFO Setiap Bulan

KPI Keuangan: Metrik yang Dibaca CFO Setiap Bulan

BimaBima
·6 Juli 2026·9 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

TL;DR

KPI keuangan adalah angka yang dipakai manajemen buat ngukur kesehatan uang perusahaan — bukan cuma revenue, tapi juga margin, arus kas, dan efisiensi biaya. Delapan yang paling sering dibuka CFO: revenue growth, gross margin, EBITDA margin, burn rate, cash runway, DSO, current ratio, dan opex ratio. Dashboard yang bagus nampilin angkanya plus pembandingnya (bulan lalu, target, tahun lalu) di satu layar.

KPI keuangan adalah angka yang dipakai manajemen buat ngukur kesehatan uang perusahaan — seberapa cepat tumbuh, seberapa untung, dan seberapa lama kasnya cukup.

Kalau kamu bikin dashboard buat CFO dan cuma nampilin revenue, dashboard kamu bakal dibuka sekali terus dilupain.

Revenue naik 20% itu kabar bagus. Sampai kamu tau margin-nya turun dari 34% ke 21% karena diskon.

Ini 8 KPI yang paling sering dibuka di rapat bulanan, plus rumus dan tanda bahayanya.

KPI keuangan itu apa aja?

Aku kelompokin jadi 3: pertumbuhan, profitabilitas, dan likuiditas. Tiga-tiganya harus ada di satu dashboard, soalnya satu grup doang bisa nyesatin.

KPIGrupRumusFrekuensi
Revenue growth (MoM/YoY)Pertumbuhan(Revenue skrg − Revenue lalu) ÷ Revenue laluBulanan
Gross marginProfitabilitas(Revenue − HPP) ÷ RevenueBulanan
EBITDA marginProfitabilitasEBITDA ÷ RevenueBulanan
Opex ratioProfitabilitasBiaya operasional ÷ RevenueBulanan
Burn rateLikuiditasKas keluar bersih per bulanMingguan
Cash runwayLikuiditasSaldo kas ÷ burn rate bulananMingguan
DSOLikuiditas(Piutang ÷ penjualan kredit) × jumlah hariBulanan
Current ratioLikuiditasAset lancar ÷ utang lancarBulanan

1. Revenue growth: tumbuh berapa cepat?

Angka pertama yang dilihat semua orang, dan yang paling gampang disalahbaca.

Growth MoM (month over month) sensitif sama musiman. Bisnis grocery di Indonesia hampir selalu lonjak pas Ramadan dan anjlok bulan setelahnya. Kalau kamu cuma tampilin MoM, April selalu kelihatan bencana.

Makanya selalu pasangkan sama YoY (year over year) — bandingin sama bulan yang sama tahun lalu. Musimannya kekurangi sendiri.

Tanda bahaya: revenue naik tapi gross margin turun. Itu artinya kamu beli pertumbuhan pakai diskon.

2. Gross margin: produknya untung nggak?

Gross margin ngukur untung setelah dikurangi biaya langsung — bahan baku, ongkos produksi, biaya server.

SELECT
    DATE_TRUNC('month', t.tanggal_transaksi) AS bulan,
    SUM(td.qty * td.harga_satuan)            AS revenue,
    SUM(td.qty * pr.hpp)                     AS cogs,
    ROUND(
        100.0 * (SUM(td.qty * td.harga_satuan) - SUM(td.qty * pr.hpp))
        / NULLIF(SUM(td.qty * td.harga_satuan), 0),
        1
    ) AS gross_margin_persen
FROM transaksi t
JOIN transaksi_detail td ON td.transaksi_id = t.id
JOIN produk pr          ON pr.id = td.produk_id
WHERE t.status = 'selesai'
GROUP BY 1
ORDER BY 1;

NULLIF di penyebut wajib. Kalau ada bulan tanpa transaksi, tanpa itu query kamu langsung error division by zero.

Tanda bahaya: gross margin turun 3 bulan berturut-turut. Biasanya salah satu dari dua: harga bahan naik tapi harga jual nggak, atau produk margin rendah makin dominan di mix penjualan.

3 & 4. EBITDA margin dan opex ratio

Gross margin bilang produknya sehat. EBITDA margin bilang bisnisnya sehat.

Bedanya di biaya operasional — gaji tim, sewa kantor, marketing. Produk bisa punya gross margin 70%, tapi kalau opex-nya 85% dari revenue, perusahaan tetap rugi.

Opex ratio itu pasangannya. Kalau revenue naik 40% tapi opex ratio tetap 60%, artinya kamu belum dapat efisiensi dari skala.

Tanda bahaya: opex ratio naik bareng revenue. Bisnis yang sehat harusnya opex ratio-nya turun pelan-pelan seiring revenue tumbuh.

5 & 6. Burn rate dan cash runway

Ini dua KPI yang paling sering bikin CFO bangun jam 3 pagi.

Burn rate = kas keluar bersih per bulan. Kalau kas masuk Rp 800 juta dan keluar Rp 1,05 miliar, burn rate kamu Rp 250 juta.

Cash runway = saldo kas ÷ burn rate. Saldo Rp 2,4 miliar dibagi burn Rp 250 juta = 9,6 bulan.

Angka runway ini yang nentuin banyak keputusan besar: kapan mulai galang dana, apakah boleh nambah orang, apakah kampanye iklan bisa dinaikin.

Tanda bahaya: runway di bawah 6 bulan. Itu bukan masalah kuartal depan — itu masalah rapat minggu ini.

Satu catatan: burn rate jangan dihitung dari satu bulan. Pakai rata-rata 3 bulan terakhir, biar nggak kaget gara-gara pembayaran tahunan yang kebetulan jatuh bulan itu.

7. DSO: pelanggan bayar berapa lama?

DSO (Days Sales Outstanding) ngukur rata-rata berapa hari dari invoice terbit sampai duitnya masuk.

SELECT
    DATE_TRUNC('month', tanggal_invoice) AS bulan,
    SUM(CASE WHEN status_bayar = 'belum' THEN nilai_invoice ELSE 0 END) AS piutang_akhir,
    SUM(nilai_invoice) AS penjualan_kredit,
    ROUND(
        30.0 * SUM(CASE WHEN status_bayar = 'belum' THEN nilai_invoice ELSE 0 END)
        / NULLIF(SUM(nilai_invoice), 0),
        1
    ) AS dso_hari
FROM invoice
GROUP BY 1
ORDER BY 1;

Revenue bisa naik terus tapi kas kosong, kalau semua penjualan jadi piutang yang nggak ketagih. DSO yang ngasih tau ini.

Tanda bahaya: DSO naik 3 bulan berturut-turut. Ini biasanya sinyal penagihan kendor, atau kamu mulai jual ke pelanggan yang keuangannya nggak sehat.

8. Current ratio: bisa bayar utang jangka pendek nggak?

Aset lancar dibagi utang lancar. Kalau hasilnya di bawah 1, artinya utang yang jatuh tempo dalam setahun lebih besar dari aset yang bisa dicairin dalam setahun.

Patokan umum: 1,5–3,0 dianggap sehat. Di atas 3 justru bisa jelek — artinya banyak kas nganggur yang nggak dipakai.

Definisi standar untuk metrik-metrik ini bisa kamu cek di Investopedia soal current ratio.

Contoh kasus: dashboard KPI toko_berkah

Toko Berkah, UMKM grocery dengan 6 outlet, revenue tahunan sekitar Rp 4,8 miliar. Ini snapshot 3 bulan dari dashboard mereka.

KPIFebMarAprSinyal
RevenueRp 388 jtRp 501 jtRp 337 jtMusiman Ramadan
Gross margin28,4%22,1%27,9%Margin Maret anjlok
Opex ratio19,2%16,8%23,6%Naik pas revenue turun
Burn rateRp 12 jt+Rp 31 jtRp 41 jtApril paling boros
Cash runway14 bln—7 blnTurun cepat
DSO38 hari44 hari51 hariNaik terus

Baris yang paling menarik bukan revenue. Tapi gross margin Maret.

Revenue Maret naik 29%, tapi gross margin-nya turun 6,3 poin ke 22,1%. Pertumbuhan itu dibeli pakai diskon Ramadan. Dalam rupiah: revenue naik Rp 113 juta, tapi gross profit cuma naik Rp 500 ribu.

Artinya promo Ramadan itu ramai, tapi nyaris nggak nambah untung.

Dan DSO yang naik dari 38 ke 51 hari dalam 3 bulan itu bahaya. Kalau tren ini lanjut, runway 7 bulan bisa jadi 4 bulan — bukan karena bisnisnya rugi, tapi karena duitnya nyangkut di piutang.

Ini dua temuan yang nggak bakal kelihatan kalau dashboard-nya cuma nampilin revenue.

Gimana nyusun dashboard-nya biar kebaca 90 detik?

Empat aturan yang aku pakai.

Satu angka, satu pembanding. Jangan tampilin "Gross margin: 22,1%" doang. Tampilin "22,1% (bulan lalu 28,4% — turun 6,3 poin)". Angka tanpa pembanding nggak bisa dinilai.

Urut dari yang paling bikin panik. Cash runway dan burn rate di baris paling atas. Revenue di bawahnya. CFO baca dari kiri atas.

Warna cuma buat sinyal, bukan dekorasi. Merah kalau lewat ambang bahaya, abu-abu kalau normal. Kalau semua angka berwarna, nggak ada yang berwarna.

Definisi metrik ditulis di dashboard. Ini yang paling sering dilewatin. Kalau finance ngitung burn rate pakai kas operasional dan kamu pakai kas total, angkanya beda dan rapat bakal habis buat debat definisi.

Buat prinsip layout dashboard yang lebih detail, mampir ke panduan prinsip desain dashboard.

Kesalahan umum di dashboard KPI keuangan

Nampilin 24 metrik sekaligus. Kalau semua penting, nggak ada yang penting. Delapan cukup.

Ngukur margin pakai harga jual rata-rata. Kalau kamu punya produk dengan margin 8% dan 60%, rata-ratanya nyesatin. Pecah per kategori.

Burn rate dari satu bulan. Pakai rata-rata 3 bulan. Pembayaran sewa tahunan bisa bikin satu bulan kelihatan bencana.

Nggak nyantumin target. Gross margin 27,9% itu bagus atau jelek? Nggak ada yang tau kalau targetnya nggak ditulis.

Buat ngitung metrik ini dari data mentah, fungsi SUMIFS di spreadsheet dan CTE di SQL yang paling sering kepakai.

FAQ

Apa KPI keuangan yang paling penting buat startup?

Cash runway, jauh di atas yang lain. Startup nggak mati karena margin tipis, tapi karena kehabisan uang sebelum sempat perbaiki margin. Runway ngasih tau berapa bulan lagi kas habis kalau pola pengeluaran nggak berubah. Di bawah 6 bulan, itu sinyal merah yang harus dibahas di rapat berikutnya, bukan kuartal depan.

Apa bedanya gross margin dan EBITDA margin?

Gross margin ngukur untung setelah dikurangi biaya langsung produk — bahan baku, ongkos produksi, biaya server. EBITDA margin ngukur untung setelah dikurangi biaya operasional juga, kayak gaji tim dan sewa kantor, tapi sebelum bunga, pajak, dan penyusutan. Gross margin ngasih tau apakah produknya sehat. EBITDA ngasih tau apakah bisnisnya sehat.

Berapa DSO yang dianggap bagus?

Tergantung industri, tapi patokan umum: DSO sebaiknya nggak lebih dari 1,3 kali termin pembayaran yang kamu kasih. Kalau termin kamu 30 hari, DSO di atas 40 hari artinya banyak pelanggan telat bayar. Di bisnis B2B Indonesia, DSO 45–60 hari lumrah. Yang bahaya bukan angkanya, tapi trennya — kalau DSO naik 3 bulan berturut-turut, ada yang salah di penagihan.

Seberapa sering KPI keuangan harus diupdate?

Bulanan untuk sebagian besar metrik, karena laporan keuangan biasanya baru tutup buku di awal bulan berikutnya. Tapi cash position dan burn rate layak dicek mingguan, apalagi kalau runway di bawah 12 bulan. Update harian jarang berguna — angkanya berisik dan bikin orang panik tanpa alasan.

Bisa nggak bikin dashboard KPI keuangan pakai Google Sheets?

Bisa, dan buat perusahaan di bawah 50 karyawan itu sering paling masuk akal. Tarik data transaksi pakai QUERY, hitung metriknya di sheet terpisah, terus bikin chart. Yang perlu dijaga cuma satu: definisi metriknya ditulis di sheet, biar nggak ada dua orang yang ngitung burn rate dengan cara beda.

Penutup

Dashboard KPI keuangan yang berguna nampilin tiga hal sekaligus: seberapa cepat tumbuh, seberapa untung, dan berapa lama kasnya cukup.

Revenue doang nggak cukup. Toko Berkah revenue-nya naik 29% di Maret, tapi gross profit-nya cuma naik Rp 500 ribu — dan itu cuma kelihatan kalau margin-nya ikut ditampilin.

Mau mulai bikin dashboard-nya sendiri? Mulai dari tutorial Looker Studio — gratis, dan udah cukup buat dashboard keuangan bulanan.

Coba Langsung

Mau praktek langsung? Mulai latihan SQL gratis

Latihan interaktif, langsung di browser.

Buka NgulikSQL →
Bagikan:
Bima
Ditulis oleh

Bima

Founder & Data Professional

Founder Ngulik Data. Passionate about making data analysis accessible for everyone.

Artikel Terkait

Cara Membuat Dashboard di Google Sheets Tanpa Tools Tambahan
Dashboard & Visualisasi
12 Juli 2026•9 menit baca

Cara Membuat Dashboard di Google Sheets Tanpa Tools Tambahan

Dashboard penjualan yang rapi bisa kamu bikin cuma pakai Google Sheets — tanpa Looker Studio, tanpa add-on, tanpa bayar apa pun. Ini urutan 6 langkahnya, lengkap dengan rumusnya.

BimaBima
Dashboard vs Laporan: Bedanya dan Kapan Bikin yang Mana
Dashboard & Visualisasi
9 Juli 2026•8 menit baca

Dashboard vs Laporan: Bedanya dan Kapan Bikin yang Mana

Dashboard buat mantau angka yang berubah tiap hari. Laporan buat jawab satu pertanyaan sekali dan tuntas. Salah pilih, kerjaanmu kebuang.

BimaBima
KPI HR: Metrik People Analytics yang Benar-benar Berguna
Dashboard & Visualisasi
3 Juli 2026•9 menit baca

KPI HR: Metrik People Analytics yang Benar-benar Berguna

8 KPI HR yang beneran dipakai buat ngambil keputusan orang, bukan cuma buat laporan tahunan. Lengkap rumus, SQL, dan contoh angka dari perusahaan 240 karyawan.

BimaBima
Kembali ke Blog
Ngulik Data logoNgulik Data

Platform edukasi data lengkap untuk professionals Indonesia. Belajar SQL, Data Analysis, dan lebih banyak lagi dengan praktek langsung dan feedback real-time.

Copyright © 2026 - All rights reserved

LINKS
SupportPricingDatasetBlogAffiliates
LEGAL
Terms of servicesPrivacy policy
Ngulik Data
DatasetLeaderboardBlogStore