TL;DR
Elastisitas harga permintaan mengukur berapa persen jumlah barang terjual berubah saat harga naik 1 persen. Rumus paling aman di spreadsheet adalah metode midpoint: selisih qty dibagi rata-rata qty, dibagi selisih harga dibagi rata-rata harga. Kalau hasilnya di bawah minus 1, permintaan elastis dan naikin harga bakal nurunin omzet. Kalau antara 0 dan minus 1, permintaan inelastis dan naikin harga masih nambah omzet.
Elastisitas harga permintaan mengukur berapa persen jumlah barang terjual berubah kalau harganya naik 1 persen. Angkanya hampir selalu negatif, dan besarnya nentuin apakah naikin harga bakal nambah omzet atau malah motong omzet.
Pemilik toko sering nanya hal yang sama. "Kalau minyak goreng aku naikin seribu, rugi nggak?"
Jawabannya ada di data penjualan yang udah kamu punya. Nggak butuh software mahal, cukup spreadsheet dan dua kolom.
Elastisitas harga permintaan adalah rasio antara persentase perubahan jumlah barang terjual dan persentase perubahan harga. Nilainya negatif karena harga naik biasanya bikin jumlah terjual turun. Kalau nilai absolutnya di atas 1, permintaan disebut elastis. Kalau di bawah 1, permintaan disebut inelastis.
Contoh cepatnya. Harga naik 10 persen, penjualan turun 22 persen, berarti elastisitasnya minus 2,2.
Angka minus 2,2 itu artinya pembeli sensitif banget ke harga produk ini. Naikin harga bakal motong omzet.
Ada dua rumus yang sering dipakai, dan hasilnya beda.
Rumus persentase biasa ngitung perubahan relatif terhadap titik awal. Masalahnya, hasilnya beda kalau kamu balik arah perhitungan dari harga baru ke harga lama.
Metode midpoint ngitung perubahan relatif terhadap rata-rata dua titik. Hasilnya sama ke mana pun arah perhitungannya. Ini yang aku pakai default.
Elastisitas = ((Q2 - Q1) / ((Q1 + Q2) / 2))
/ ((P2 - P1) / ((P1 + P2) / 2))
Di spreadsheet, kalau P1 di A2, Q1 di B2, P2 di A3, Q2 di B3:
=((B3-B2)/((B2+B3)/2)) / ((A3-A2)/((A2+A3)/2))
Satu baris. Itu doang.
Buat ngambil harga rata-rata per produk per bulan, SUMIFS paling gampang dipakai.
=SUMIFS(Omzet, Produk, $E2, Bulan, F$1) / SUMIFS(Qty, Produk, $E2, Bulan, F$1)
Dataset toko_berkah di ngulikdata isinya transaksi harian toko kelontong di Sleman. Aku ambil dua produk dengan perilaku yang beda jauh.
Produk 1: minyak goreng kemasan 1 liter.
| Periode | Harga efektif | Unit terjual | Omzet |
|---|---|---|---|
| Mei 2024 | Rp 17.000 | 420 | Rp 7.140.000 |
| Juni 2024 | Rp 18.500 | 348 | Rp 6.438.000 |
Hitung pakai midpoint:
Perubahan qty = (348 - 420) / ((420 + 348) / 2) = -72 / 384 = -0,1875
Perubahan harga = (18500 - 17000) / ((17000 + 18500) / 2)
= 1500 / 17750 = 0,0845
Elastisitas = -0,1875 / 0,0845 = -2,22
Minus 2,22. Elastis banget.
Dan omzetnya beneran turun Rp 702.000 walaupun harganya naik. Naikin harga minyak goreng di toko ini rugi.
Produk 2: beras premium kemasan 5 kg.
| Periode | Harga efektif | Unit terjual | Omzet |
|---|---|---|---|
| Mei 2024 | Rp 68.000 | 260 | Rp 17.680.000 |
| Juni 2024 | Rp 72.000 | 254 | Rp 18.288.000 |
Perubahan qty = (254 - 260) / ((260 + 254) / 2) = -6 / 257 = -0,0234
Perubahan harga = (72000 - 68000) / ((68000 + 72000) / 2)
= 4000 / 70000 = 0,0571
Elastisitas = -0,0234 / 0,0571 = -0,41
Minus 0,41. Inelastis.
Omzetnya naik Rp 608.000. Pembeli beras premium di toko ini nggak gampang pindah.
Dua produk, satu toko, satu bulan yang sama. Elastisitasnya beda 5 kali lipat. Ini yang bikin strategi harga per produk lebih masuk akal daripada naikin semua harga rata.
Dua titik data gampang ketipu. Kalau kamu punya 10 periode ke atas dengan harga yang bervariasi, pakai regression pada data yang udah di-log.
Kenapa di-log? Karena kemiringan garis regresi antara ln(qty) dan ln(harga) itu langsung sama dengan elastisitasnya. Nggak perlu konversi lagi.
Susun dua kolom bantu.
D2: =LN(B2) ' ln dari unit terjual
E2: =LN(A2) ' ln dari harga efektif
Terus ambil kemiringannya.
=SLOPE(D2:D13, E2:E13)
Angka yang keluar itu elastisitas rata-rata di rentang harga yang pernah kamu jalanin.
Cek juga seberapa kuat hubungannya.
=RSQ(D2:D13, E2:E13)
Kalau R kuadratnya di bawah 0,3, artinya harga cuma nerangin sedikit dari variasi penjualan. Faktor lain lebih dominan, dan angka elastisitasnya jangan dipakai buat keputusan besar.
Aku jalanin ini ke 14 bulan data minyak goreng di toko_berkah. Hasilnya minus 1,94 dengan R kuadrat 0,61. Nggak jauh dari hitungan dua titik tadi, dan itu tanda bagus.
Dokumentasi resmi fungsi SLOPE di Microsoft ngejelasin detail perhitungan kemiringannya kalau kamu mau ngecek sendiri.
| Nilai elastisitas | Artinya | Efek ke omzet kalau harga naik | Tindakan |
|---|---|---|---|
| 0 sampai -0,5 | Sangat inelastis | Naik cukup banyak | Ada ruang naikin harga |
| -0,5 sampai -1 | Inelastis | Naik sedikit | Naikin harga bertahap, pantau 4 minggu |
| Sekitar -1 | Unit elastis | Nyaris nggak berubah | Fokus ke efisiensi biaya, bukan harga |
| -1 sampai -2 | Elastis | Turun | Jangan naikin, pertimbangkan turunin |
| Di bawah -2 | Sangat elastis | Turun tajam | Kompetisi ketat, main di volume |
Satu hal yang sering kelewat: omzet bukan laba. Produk elastis dengan margin tebal kadang tetap untung waktu harganya diturunin, karena tambahan volumenya nutup penurunan margin per unit.
Hitung juga titik impasnya. Kalau margin kotor kamu 20 persen dan kamu mau turunin harga 5 persen, volume harus naik minimal 33 persen buat balik ke laba semula.
Pakai harga label, bukan harga efektif. Diskon 10 persen yang jalan 2 minggu bikin harga rata-rata bulanan turun. Selalu bagi omzet dengan unit.
Pakai omzet sebagai pengganti unit. Omzet udah mengandung harga di dalamnya, jadi hitunganmu bakal muter. Pakai unit terjual.
Nggak buang periode anomali. Bulan Ramadan dan Lebaran bikin permintaan naik terlepas dari harga. Kalau kepaksa masuk, tandai sebagai outlier.
Nyampur produk yang beda kemasan. Minyak goreng 1 liter dan 2 liter itu dua produk berbeda dengan elastisitas berbeda.
Ngabaikan efek kompetitor. Kalau warung sebelah ikut naikin harga di bulan yang sama, penurunan penjualanmu bakal lebih kecil dari seharusnya. Elastisitasmu keliatan lebih inelastis dari kenyataannya.
Nyimpulin dari satu pasang periode. Dua titik itu titik awal, bukan kesimpulan. Ulangi di beberapa pasang periode.
Lupa cek rentang harganya. Elastisitas yang kamu hitung cuma berlaku di sekitar rentang harga yang pernah dijalanin. Jangan pakai buat prediksi kenaikan harga 50 persen kalau data kamu cuma bergerak 5 persen.
Kalau harga produkmu nggak pernah berubah, kamu bisa bikin datanya sendiri.
Cara ini mirip A/B testing di dunia digital, cuma unitnya cabang.
Habis dapat angkanya, rangkum temuannya jadi ringkasan eksekutif satu halaman biar pemilik toko bisa langsung putuskan.
Karena harga dan jumlah terjual bergerak berlawanan. Harga naik, jumlah terjual turun. Jadi pembilang dan penyebutnya punya tanda berbeda, hasilnya minus. Banyak buku ekonomi nulis nilai absolutnya biar enak dibaca, tapi kalau kamu hitung sendiri di spreadsheet, tanda minus itu tanda hitunganmu benar. Yang perlu dicurigai justru kalau hasilnya positif.
Metode midpoint cuma butuh dua titik: harga lama dengan qty-nya, dan harga baru dengan qty-nya. Tapi dua titik gampang ketipu faktor lain. Buat angka yang lebih bisa dipercaya, kumpulin minimal 10 sampai 12 periode dengan variasi harga yang beda, lalu pakai regresi log-log. Makin banyak variasi harga, makin stabil hasilnya.
Kalau nilai absolutnya di atas 1, permintaan disebut elastis. Artinya persentase penurunan jumlah terjual lebih besar dari persentase kenaikan harga, jadi omzet turun kalau harga naik. Kalau di bawah 1, permintaan inelastis dan naikin harga masih nambah omzet. Tepat di 1 disebut unit elastis, omzet nggak berubah.
Nggak bisa langsung, karena rumusnya butuh variasi harga. Alternatifnya pakai data harga kompetitor di pasar yang sama, atau jalanin uji harga kecil di satu cabang selama 2 sampai 4 minggu. Cara ketiga, pakai periode diskon yang pernah kamu jalanin sebagai titik harga kedua, asal kamu catat efek promonya secara terpisah.
Elastisitas harga ngukur reaksi permintaan produk terhadap perubahan harga produk itu sendiri. Elastisitas silang ngukur reaksi permintaan produk A terhadap perubahan harga produk B. Kalau hasil elastisitas silangnya positif, dua produk itu saling gantiin. Kalau negatif, dua produk itu saling melengkapi, kayak kopi bubuk dan gula.
Ringkasnya begini.
Pakai metode midpoint buat hitungan cepat dua periode. Pakai regresi log-log kalau kamu punya 10 periode ke atas, dan cek R kuadratnya sebelum percaya angkanya.
Hitung per produk, jangan per toko. Di toko_berkah, minyak goreng elastisitasnya minus 2,22 sementara beras premium cuma minus 0,41. Perlakuan harganya harus beda.
Dan selalu pakai harga efektif hasil bagi omzet dengan unit, bukan harga tempel di rak.
Mau latihan langsung? Buka data penjualan kamu sendiri, ambil 2 bulan dengan harga beda, terus jalanin rumus midpoint di atas. Kalau butuh latihan narik angkanya dari database, kulik di NgulikSQL.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Punya ratusan angka dan mau tau sebarannya masuk ke rentang mana aja? FREQUENCY ngitung distribusi frekuensi sekali jalan, tanpa nulis COUNTIFS berkali-kali.
SUMIFS ribet kalau kriterianya banyak dan sering ganti. Rumus database Excel kayak DSUM baca kriteria dari sel terpisah, jadi kamu tinggal ubah tabel kecil tanpa nyentuh rumus.
DATEDIF ngasih umur bulat, tapi kadang kamu butuh angka desimal kayak 27,6 tahun buat hitung masa kerja atau bunga. YEARFRAC ngasih pecahan tahun dengan presisi.