Menggunakan Darts untuk melihat bedanya prediksi harga beras domestik dan internasional sejak Neraca Komoditas
Saya adalah salah satu penikmat cuitan Haryo Aswicahyono yang sering membahas tentang ekonomi. Suatu hari yang lalu, beliau ngecuit tentang terutama harga beras yang masih tinggi meskipun stok beras melimpah. Berikut cuitannya:
Biasanya kalau diviralin harga turun. Ini harga beras masih naik terus, padahal katanya stock melimpah.
β Haryo Aswicahyono (@Aswicahyono) July 4, 2025
Harga Pasar Modern: 15,900
Harga Pasar Tradisional: 15,700
Harga Pedagang Besar: 14,800
Harga Produsen (Petani): 13,100
ini harga rata2 se Indonesia yahttps://t.co/dLx2YHPm1w pic.twitter.com/KY80KG3sRK
Saya kebetulan pas itu lagi membuat paper tentang Neraca Komoditas untuk Center for Indonesian Policy Studies (CIPS) bersama Hasran dan Rasya. Beras adalah salah satu produk yang terkena Neraca Komoditas. Karena itu, saya sendiri lagi nulis dikit soal beras, dan benar, saya menemukan hal yang sama: harga beras domestik yang masih tinggi. Tingginya harga beras ini jadi sangat kontras ketika kita bandingkan dengan harga beras internasional yang sudah turun di awal 2024.
Harga beras sempat naik di pertengahan 2023 gara-gara iklim dan India, major exporter yang melarang ekspor berasnya. Tapi jika kita perhatikan trennya, harga beras domestik (dan internasional) sudah mulai naik sejak pertengahan 2022, tepatnya sekitar bulan Agustus 2022. Harga beras domestik dan internasional naik bersama-sama sampai awal 2024 ketika kedua harga bergerak ke arah yang berbeda. Harga beras domestik masih naik, sedangkan harga beras internasional sudah mulai turun. Lucunya, harga beras domestik yang tidak mau turun itu justru terjadi ketika stok domestik beras sedang melimpah
Melihat stok melimpah, tentu saja permasalahan harga beras domestik bisa jadi karena masalah distribusi dari gudang ke pasar yang tidak cukup cepat. Saya tidak begitu familiar bagaimana rantai distribusi dari bulog ke pasar, seberapa besar harga beli dari gudang bulog dan harga jual yang ditetapkan oleh pemasar. Tapi jika distribusi bisa dilakukan dengan cepat sehingga stok harga beras.
Neraca Komoditas
Bagian dari supply chain beras tersebut adalah Neraca Komoditas. Neraca Komoditas adalah sebuah sistem untuk mengontrol impor beras. Beras hanya boleh diimpor jika data hasil ramalan di Neraca Komoditas menunjukkan bahwa produksi akan lebih kecil daripada konsumsi. Jika Neraca Komoditas memprediksi produksi yang besar, maka impor akan distop. Impor adalah alasan kenapa harga beras domestik bisa turun, karena harga beras internasional selalu lebih rendah daripada harga domestik.
Harga internasional seringkali menjadi acuan bagi analis untuk melihat pergerakan harga domestik. Hal-hal yang mempengaruhi produksi beras secara luas akan mempengaruhi harga internasional dan harga domestik. Misalnya, cuaca buruk yang terjadi di kawasan akan menurunkan produksi beras di Indonesia dan tetangga-tetangganya, sehingga harga akan naik. Tapi jika ada kejadian yang terjadi hanya di Indonesia saja, maka hanya harga Indonesia aja yang naik. Inilah salah satu gunanya impor: jika ada masalah di Indonesia saja tapi beras internasional tidak terpengaruh, maka impor akan membantu menstabilkan harga domestik.
Kecepatan menstabilkan harga domestik tentu saja tergantung dengan kecepatan impor. Neraca Komoditas katanya dibuat untuk mempercepat impor beras. Beras sendiri menjadi bagian dari Neraca Komoditas sejak 2022. Sebelumnya, impor beras tetap dibatasi tapi tidak menggunakan sistem Neraca Komoditas ini. Apakah Neraca Komoditas lebih baik?
Di paper yang saya tulis bersama Hasran dan Rasya di atas, kami menggunakan melihat pergerakan harga beras Indonesia tanpa Neraca Komoditas dengan menggunakan harga beras yang diestimasi berdasarkan harga-harga lainnya (nama metodenya synthetic control method). Hasilnya? Tunggu papernya keluar ya wk wk wk.
Nah, di blog kali ini, kita bisa bikin iseng versi βliteβ pake forecasting. Premisnya, bagaimana pergerakan harga beras domestik seandainya neraca komoditas tidak ada. Di postingan kali ini, kita pake Darts, tepatnya Exponential Smoothing, untuk forecast harga beras setelah Neraca Komoditas (wicis 2022 januari) berdasarkan data historis, lalu kita bandingkan hasilnya dengan harga beras yang sebenarnya. Perbedaannya akan kita atribusikan ke Neraca Komoditas. Sebagai pembanding, kita akan lakukan hal yang sama untuk harga beras internasional yang kita tau tidak terpengaruh oleh Neraca Komoditas.
Seriesnya monthly, harga beras domestiknya ambil dari PIHPS (Pusat Informasi Harga Pangan Strategis) sementara harga beras internasional diambil dari IMF commodity market. Datanya saya cut cuma sampe Agustus 2023, soalnya abis Agustus 2023 mulai ada tren naik. Time Series saja tidak cukup untuk kontrol hal-hal kayak gini.
#package
import pandas as pd
import plotly.express as px
from darts import TimeSeries
from darts.models import ExponentialSmoothing
# plot domestik vs internasional
df = pd.read_excel('beras.xlsx')
df['month'] = pd.Series(pd.date_range(start='2018-07-01', end='2025-05-10', freq='ME'))
dfl=df.melt(id_vars=['month'], var_name='jenis', value_name='harga')
fig = px.line(dfl, x="month", y="harga", title='harga beras bulanan (PIHPS)',color='jenis',
color_discrete_sequence=px.colors.qualitative.G10,template='plotly_dark')
fig.update_layout(
legend=dict(
orientation="h", # Horizontal orientation
yanchor="bottom", # Anchor the legend's y-position to the bottom
y=1.02, # Adjust the y-position (can be slightly above the plot)
xanchor="right", # Anchor the legend's x-position to the right
x=1 # Adjust the x-position (can be slightly to the right of the plot)
)
)
fig.write_html('wew.html', full_html=False, include_plotlyjs='cdn')
df2=df[:-32]
series = TimeSeries.from_dataframe(df2, "month", "domestik")
train,val=series[:-8],series[-8:]
model=ExponentialSmoothing()
model.fit(train)
prediction=model.predict(len(val),num_samples=1000)
series.plot()
prediction.plot(label='prediksi',low_quantile=.05,high_quantile=.95)
plt.title('Prediksi harga beras domestik')
plt.legend()
<matplotlib.legend.Legend at 0x1ea12e5bd90>

series = TimeSeries.from_dataframe(df2, "month", "internasional")
train,val=series[:-8],series[-8:]
model=ExponentialSmoothing()
model.fit(train)
prediction=model.predict(len(val),num_samples=1000)
series.plot()
prediction.plot(label='prediksi',low_quantile=.05,high_quantile=.95)
plt.title('Prediksi harga beras internasional')
plt.legend()
<matplotlib.legend.Legend at 0x1ea12ef4a50>

Wkwkw gile confidence intervalnya lebar banget wkkw. Yah to be expected sih, soalnya seriesnya pendek banget dan amat sangat mungkin ada banyak faktor-faktor struktural yang mempengaruhi harga beras. Tapi yaa gapapa, namanya juga iseng.
Hasil forecastingnya menunjukkan bahwa harga beras domestik mestinya mengalami tren menurun atau setidaknya datar sejak diterapkannya Neraca Komodtias. Tapi yang terjadi adalah harga beras domestik justru naik. Sementara itu, harga beras internasional kayaknya ga beda jauh dari hasil forecastingnya. Tapi yaa sebenernya hasil forecastingnya masih masuk ke confidence interval 95%, tapi lumayan mepet wkwk. Apakah ini gara-gara Neraca Komoditas? Bisa jadi, tapi kita perlu analisis lebih lanjut untuk memastikan. Jangan lupa, ini cuma iseng-iseng aja, jangan dijadikan dasar untuk kebijakan publik ya wkwk.
Oke deh segini aja dulu postingan hari ini. Sebenernya postingan ini semi-semi promosi paper dan juga semi-semi nyoba-nyoba Darts. Next time kita coba forecasting lain lagi yang lebih seru ya.