Analitik Harga: Menghitung Elastisitas Permintaan di Spreadsheet
Blog/Tutorial Excel & Sheets/Analitik Harga: Menghitung Elastisitas Permintaan di Spreadsheet

Analitik Harga: Menghitung Elastisitas Permintaan di Spreadsheet

BimaBima
·19 November 2025·12 menit baca

Penulis

Bima

Bima

Founder & Data Professional

Bagikan

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.

Apa itu elastisitas harga permintaan?

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.

Rumus mana yang harus dipakai di spreadsheet?

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.

Langkah menghitung elastisitas dari data penjualan

  1. Siapkan tabel dengan tiga kolom minimal. Periode, harga rata-rata, dan jumlah unit terjual. Jangan pakai omzet, pakai unit.
  2. Hitung harga rata-rata per periode yang benar. Bagi total omzet dengan total unit, jangan pakai harga label. Diskon dan promo bikin harga efektif beda dari harga tempel.
  3. Buang periode yang kena kejadian luar biasa. Lebaran, promo besar, atau kekosongan stok bakal ngerusak hitungan. Tandai dan sisihkan.
  4. Pilih dua periode dengan harga yang beda. Idealnya selisih harganya minimal 3 persen biar sinyalnya kebaca.
  5. Terapkan rumus midpoint. Salin rumus di atas ke kolom baru.
  6. Baca hasilnya. Di bawah minus 1 berarti elastis, antara 0 dan minus 1 berarti inelastis.
  7. Ulangi untuk beberapa pasang periode. Kalau hasilnya loncat-loncat jauh, berarti ada faktor lain yang belum kamu kendalikan.

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)

Contoh kasus: dua produk di dataset toko_berkah

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.

PeriodeHarga efektifUnit terjualOmzet
Mei 2024Rp 17.000420Rp 7.140.000
Juni 2024Rp 18.500348Rp 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.

PeriodeHarga efektifUnit terjualOmzet
Mei 2024Rp 68.000260Rp 17.680.000
Juni 2024Rp 72.000254Rp 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.

Cara yang lebih kuat: regresi log-log

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.

Menerjemahkan angka elastisitas jadi keputusan harga

Nilai elastisitasArtinyaEfek ke omzet kalau harga naikTindakan
0 sampai -0,5Sangat inelastisNaik cukup banyakAda ruang naikin harga
-0,5 sampai -1InelastisNaik sedikitNaikin harga bertahap, pantau 4 minggu
Sekitar -1Unit elastisNyaris nggak berubahFokus ke efisiensi biaya, bukan harga
-1 sampai -2ElastisTurunJangan naikin, pertimbangkan turunin
Di bawah -2Sangat elastisTurun tajamKompetisi 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.

Kesalahan umum waktu menghitung elastisitas

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.

Contoh menyusun uji harga sederhana

Kalau harga produkmu nggak pernah berubah, kamu bisa bikin datanya sendiri.

  1. Pilih 1 produk dengan penjualan stabil minimal 100 unit per bulan.
  2. Naikkan harga 5 persen di satu cabang, biarkan cabang lain tetap.
  3. Jalankan 3 sampai 4 minggu penuh, jangan dipotong promo.
  4. Bandingkan perubahan unit di cabang uji terhadap cabang pembanding.
  5. Hitung elastisitasnya pakai rumus midpoint dari selisih itu.

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.

FAQ

Kenapa hasil elastisitasnya negatif?

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.

Berapa titik data minimal buat hitung elastisitas?

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.

Elastisitas berapa yang dianggap elastis?

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.

Bisa nggak hitung elastisitas kalau harga produkku nggak pernah 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.

Apa bedanya elastisitas harga dan elastisitas silang?

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.

Penutup

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.

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

XLOOKUP Google Sheets: Cara Pakai dan Contohnya (2026)
Tutorial Excel & Sheets
20 Juli 2026•9 menit baca

XLOOKUP Google Sheets: Cara Pakai dan Contohnya (2026)

XLOOKUP nyari nilai dan bisa ke kiri atau kanan, plus punya nilai default kalau nggak ketemu. Ini pengganti VLOOKUP yang lebih ringkas.

BimaBima
INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)
Tutorial Excel & Sheets
19 Juli 2026•9 menit baca

INDEX MATCH Google Sheets: Lookup Lebih Fleksibel dari VLOOKUP (2026)

INDEX MATCH gabung dua fungsi buat lookup yang bisa nyari ke kiri dan nggak gampang rusak. Ini alasan banyak analis pindah dari VLOOKUP.

BimaBima
SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)
Tutorial Excel & Sheets
18 Juli 2026•8 menit baca

SUMPRODUCT Google Sheets: Hitung Berbobot Tanpa Ribet (2026)

SUMPRODUCT ngaliin dua kolom atau lebih baris per baris, terus jumlahin hasilnya. Cocok buat total qty kali harga sampai hitungan bersyarat.

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.

© 2026 Ngulik Data. Semua hak dilindungi.

TAUTAN
BantuanHargaDatasetBlogAfiliasi
LEGAL
Syarat & KetentuanKebijakan Privasi
Ngulik Data
DatasetLeaderboardBlogStore