Analisis Deret Waktu
Dekomposisi Additive dan Multiplicative Produksi Air Minum PDAM Kabupaten Serang (Jan 2022 - Des 2024)
Data
Berikut data volume produksi air minum PDAM Kabupaten Serang, Januari 2022 - Desember 2024 (ribu m³/bulan). Data dianalisis dengan dekomposisi additive dan dekomposisi multiplicative.
# Data volume produksi air minum PDAM Kabupaten Serang (ribu m3/bulan), 2022-2024
Volume_Air <- c(410,415,405,420,430,445,455,440,425,420,418,435,
440,445,438,452,462,478,488,472,458,452,450,468,
470,476,468,483,494,510,521,504,489,483,480,499)
# Membuat data berdasarkan tahun dan bulan
bulan <- rep(month.abb, 3)
tahun <- rep(c(2022, 2023, 2024), each = 12)
df <- data.frame(
Tahun = tahun,
Bulan = factor(bulan, levels = month.abb),
Volume = Volume_Air)
# Menampilkan tabel produksi setiap tahun
knitr::kable(
matrix(Volume_Air, nrow = 3, byrow = TRUE,
dimnames = list(c("2022", "2023", "2024"), month.abb)))| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022 | 410 | 415 | 405 | 420 | 430 | 445 | 455 | 440 | 425 | 420 | 418 | 435 |
| 2023 | 440 | 445 | 438 | 452 | 462 | 478 | 488 | 472 | 458 | 452 | 450 | 468 |
| 2024 | 470 | 476 | 468 | 483 | 494 | 510 | 521 | 504 | 489 | 483 | 480 | 499 |
A. Dekomposisi Additive
Model additive: \(Z_t = T_t + S_t + e_t\)
1. Buat objek ts dari data di atas, lalu lakukan dekomposisi additive menggunakan decompose()
# Membuat data menjadi objek time series
air_ts <- ts(Volume_Air, start = c(2022, 1), frequency = 12)
air_ts## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
## 2022 410 415 405 420 430 445 455 440 425 420 418 435
## 2023 440 445 438 452 462 478 488 472 458 452 450 468
## 2024 470 476 468 483 494 510 521 504 489 483 480 499
# Grafik data produksi
plot(air_ts, type = "o", pch = 16, col = "steelblue4", lwd = 2,
main = "Produksi Air Minum PDAM Kabupaten Serang\nJanuari 2022 - Desember 2024",
xlab = "Waktu (Tahun)", ylab = "Volume (ribu m3/bulan)")
grid()## [1] -4.54 -1.75 -11.91 -0.06 7.84 21.21 27.75 9.73 -7.35 -15.48
## [11] -20.12 -5.31
Interpretasi:
Dari grafik terlihat produksi air minum PDAM Kabupaten Serang naik dari tahun ke tahun. Polanya juga berulang tiap tahun: produksi naik sampai sekitar Juli, turun sampai Oktober–November, lalu naik lagi di Desember.
Pada hasil dekomposisi additive, data observed mengikuti pola yang sama dengan grafik awal, yaitu naik secara keseluruhan tetapi bergelombang tiap tahun. Gelombang itu berasal dari komponen seasonal, sedangkan kenaikannya berasal dari komponen trend yang naik hampir lurus. Ayunan seasonal besarnya sama tiap tahun, sekitar −20 sampai 28 ribu m³. Komponen random nilainya kecil sekali, sekitar −1 sampai 1 ribu m³.
Komponen trend dan random hanya muncul dari Juli 2022 sampai Juni 2024. Hal ini terjadi karena perhitungan CMA 2×12 butuh data 6 bulan sebelum dan sesudahnya, sehingga 6 bulan pertama dan 6 bulan terakhir bernilai NA. Komponen observed dan seasonal ada untuk seluruh periode.
Dari output round(dekomp_add$figure, 2), indeks musiman Januari sampai Desember berturut-turut adalah −4,54; −1,75; −11,91; −0,06; 7,84; 21,21; 27,75; 9,73; −7,35; −15,48; −20,12; dan −5,31. Indeks tertinggi ada di bulan Juli (27,75 ribu m³), artinya produksi bulan Juli cenderung 27,75 ribu m³ di atas tren. Indeks terendah ada di bulan November (−20,12 ribu m³), artinya produksi bulan November cenderung 20,12 ribu m³ di bawah tren.
3. Tampilkan 12 indeks musiman. Bulan apa yang cenderung tertinggi dan terendah? Berikan dugaan penjelasannya.
# 12 indeks musiman (berulang tiap tahun)
indeks_add <- round(dekomp_add$seasonal[1:12], 2)
knitr::kable(matrix(indeks_add, nrow = 1,
dimnames = list("S_t (ribu m3)", month.abb)))| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S_t (ribu m3) | -4.54 | -1.75 | -11.91 | -0.06 | 7.84 | 21.21 | 27.75 | 9.73 | -7.35 | -15.48 | -20.12 | -5.31 |
# Grafik indeks musiman
barplot(dekomp_add$seasonal[1:12], names.arg = month.abb,
col = ifelse(dekomp_add$seasonal[1:12] >= 0, "steelblue4", "firebrick"),
main = "Indeks Musiman Additive", ylab = "Indeks musiman (ribu m3)")
abline(h = 0)Interpretasi:
Berdasarkan tabel dan grafik, indeks musiman bernilai positif pada Mei sampai Agustus dan negatif pada bulan lainnya, kecuali April yang hampir nol (−0,06). Indeks tertinggi ada pada Juli (27,75 ribu m³), artinya produksi pada Juli rata-rata sekitar 27,75 ribu m³ di atas tren, diikuti Juni (21,21 ribu m³) dan Agustus (9,73 ribu m³). Indeks terendah ada pada November (−20,12 ribu m³), artinya produksi pada November rata-rata sekitar 20,12 ribu m³ di bawah tren, diikuti Oktober (−15,48 ribu m³) dan Maret (−11,91 ribu m³).
Pada grafik, batang biru (positif) terlihat pada Mei sampai Agustus dengan puncak pada Juli, sedangkan batang merah (negatif) terlihat pada bulan lainnya dengan titik terendah pada November. Pola ini menunjukkan adanya pola musiman yang berulang setiap tahun. Jumlah ke-12 indeks sama dengan 0, sesuai dengan syarat model additive.
Dugaan penjelasan: Produksi yang tinggi pada Mei sampai Agustus diduga berkaitan dengan musim kemarau. Saat cuaca panas dan kering, kebutuhan air rumah tangga meningkat dan sumber air lain seperti sumur warga cenderung menyusut, sehingga lebih banyak orang bergantung pada air PDAM. Sebaliknya, produksi yang rendah pada Oktober–November (dan Maret) diduga berkaitan dengan musim hujan, ketika air hujan dan sumur lebih mudah didapat sehingga kebutuhan air dari PDAM berkurang. Penjelasan ini hanya dugaan berdasarkan pola musim dan perlu dibuktikan dengan data curah hujan atau konsumsi per pelanggan.
4. Periksa komponen residu (ringkasan statistik dan simpangan bakunya). Apakah residu tampak berfluktuasi acak di sekitar nol?
# Menampilkan tabel Komponen residu
knitr::kable(round(matrix(as.numeric(dekomp_add$random), nrow = 3, byrow = TRUE,
dimnames = list(2022:2024, month.abb)), 3))| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022 | - | - | - | - | - | - | -0.502 | 0.019 | -0.523 | -0.106 | -0.127 | -0.648 |
| 2023 | 0.832 | 0.332 | 0.790 | 0.227 | -0.335 | -0.418 | 0.415 | -0.106 | 0.436 | 0.019 | 0.040 | 0.561 |
| 2024 | -0.918 | -0.418 | -0.877 | -0.314 | 0.248 | 0.332 | - | - | - | - | - | - |
# Ringkasan residu
r_add <- as.numeric(na.omit(dekomp_add$random))
knitr::kable(data.frame(
Min = round(min(r_add), 4),
Q1 = round(unname(quantile(r_add, 0.25)), 4),
Median = round(median(r_add), 4),
Mean = round(mean(r_add), 4),
Q3 = round(unname(quantile(r_add, 0.75)), 4),
Max = round(max(r_add), 4),
SD = round(sd(r_add), 4),
`Jumlah NA` = sum(is.na(dekomp_add$random)),
check.names = FALSE))| Min | Q1 | Median | Mean | Q3 | Max | SD | Jumlah NA |
|---|---|---|---|---|---|---|---|
| -0.9184 | -0.4184 | -0.0434 | -0.0434 | 0.3316 | 0.8316 | 0.4863 | 12 |
# Grafik residu
plot(dekomp_add$random, type = "p", pch = 16, col = "steelblue4",
main = "Residu Dekomposisi Additive",
xlab = "Waktu (Tahun)", ylab = "Residu (ribu m3)")
abline(h = 0, col = "firebrick", lwd = 2)
grid()Interpretasi:
Berdasarkan tabel, nilai residu berada pada rentang −0,918 sampai 0,832 ribu m³, dengan rata-rata −0,0434 ribu m³, median −0,0434 ribu m³, dan simpangan baku 0,4863 ribu m³. Rata-rata yang mendekati nol menunjukkan bahwa residu tidak menyimpang jauh dari nol. Jumlah NA sebanyak 12 berasal dari enam bulan pertama dan enam bulan terakhir yang tidak memiliki nilai tren.
Berdasarkan grafik, titik-titik residu tersebar di atas dan di bawah garis nol. Memang terlihat sedikit pola, yaitu residu cenderung negatif pada 2022, positif pada 2023, dan kembali negatif pada 2024. Namun, nilainya sangat kecil dibandingkan tren (sekitar 430–490 ribu m³) dan komponen musiman (sekitar −20 sampai 28 ribu m³). Jadi, residu dapat dikatakan cukup berfluktuasi secara acak di sekitar nol, sehingga komponen tren dan musiman pada model additive sudah mampu menjelaskan sebagian besar pola data.
B. Dekomposisi Multiplicative
Model multiplicative: \(Z_t = T_t \times S_t \times e_t\)
1. Buat plot data di atas. Apakah lonjakan April dan Desember membesar dari 2023 ke 2024?
# Plot data produksi dengan penanda
plot(air_ts, type = "o", pch = 16, col = "steelblue4", lwd = 2,
main = "Produksi Air Minum PDAM Kabupaten Serang\nJanuari 2022 - Desember 2024",
xlab = "Waktu (Tahun)", ylab = "Volume (ribu m3/bulan)")
abline(v = 2022:2024 + 3/12, col = "orange", lty = 2) # April
abline(v = 2022:2024 + 11/12, col = "red", lty = 2) # Desember
legend("topleft", legend = c("April", "Desember"),
col = c("orange", "red"), lty = 2, bty = "n")
grid()# Menghitung lonjakan dari bulan sebelumnya
naik <- diff(air_ts)
tab_lonjakan <- data.frame(
Tahun = 2022:2024,
April_naik = as.numeric(naik[c(3, 15, 27)]),
April_persen = round(as.numeric(naik[c(3, 15, 27)]) / Volume_Air[c(3, 15, 27)] * 100, 2),
Des_naik = as.numeric(naik[c(11, 23, 35)]),
Des_persen = round(as.numeric(naik[c(11, 23, 35)]) / Volume_Air[c(11, 23, 35)] * 100, 2)
)
knitr::kable(tab_lonjakan,
col.names = c("Tahun", "April naik (ribu m3)", "April (%)",
"Desember naik (ribu m3)", "Desember (%)"))| Tahun | April naik (ribu m3) | April (%) | Desember naik (ribu m3) | Desember (%) |
|---|---|---|---|---|
| 2022 | 15 | 3.70 | 17 | 4.07 |
| 2023 | 14 | 3.20 | 18 | 4.00 |
| 2024 | 15 | 3.21 | 19 | 3.96 |
Interpretasi:
Berdasarkan plot, garis putus-putus oranye menandai bulan April dan garis putus-putus merah menandai bulan Desember pada setiap tahun. Pada kedua bulan tersebut, produksi naik dari bulan sebelumnya. Kenaikan pada April 2023 dan April 2024 terlihat hampir sama, begitu juga pada Desember 2023 dan Desember 2024, padahal level produksi terus meningkat.
Berdasarkan tabel, lonjakan April bertambah dari 14 menjadi 15 ribu m³ dari 2023 ke 2024, dan lonjakan Desember dari 18 menjadi 19 ribu m³. Dalam persentase, lonjakan April relatif tetap (3,20% menjadi 3,21%), sedangkan Desember sedikit menurun (4,00% menjadi 3,96%).
Dengan demikian, lonjakan April dan Desember tidak membesar secara berarti dari 2023 ke 2024. Kenaikan tersebut lebih merupakan pemulihan setelah penurunan pada bulan sebelumnya (Maret dan November), bukan pola musiman yang semakin besar seiring naiknya level produksi.
2. Lakukan dekomposisi multiplicative. Tampilkan 12 faktor musiman dan identifikasi bulan tertinggi/terendah.
# Dekomposisi multiplicative
dekomp_mul <- decompose(air_ts, type = "multiplicative")
plot(dekomp_mul)# 12 faktor musiman dan selisihnya terhadap tren (%)
s_mul <- dekomp_mul$seasonal[1:12]
tab_mul <- rbind(round(s_mul, 3), round((s_mul - 1) * 100, 1))
dimnames(tab_mul) <- list(c("S_t (faktor)", "Selisih thd tren (%)"), month.abb)
knitr::kable(tab_mul)| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S_t (faktor) | 0.99 | 0.996 | 0.974 | 1 | 1.017 | 1.045 | 1.063 | 1.022 | 0.984 | 0.966 | 0.956 | 0.988 |
| Selisih thd tren (%) | -1.00 | -0.400 | -2.600 | 0 | 1.700 | 4.500 | 6.300 | 2.200 | -1.600 | -3.400 | -4.400 | -1.200 |
# Rata-rata faktor harus 1, serta bulan tertinggi dan terendah
knitr::kable(data.frame(
`Rata-rata 12 faktor` = round(mean(s_mul), 4),
`Bulan tertinggi` = paste0(month.abb[which.max(s_mul)], " (", round(max(s_mul), 3), ")"),
`Bulan terendah` = paste0(month.abb[which.min(s_mul)], " (", round(min(s_mul), 3), ")"),
check.names = FALSE))| Rata-rata 12 faktor | Bulan tertinggi | Bulan terendah |
|---|---|---|
| 1 | Jul (1.063) | Nov (0.956) |
# Grafik faktor musiman
barplot(s_mul, names.arg = month.abb,
col = ifelse(s_mul >= 1, "steelblue4", "firebrick"),
main = "Faktor Musiman Multiplicative", ylab = "Faktor musiman",
ylim = c(0.9, 1.1), xpd = FALSE)
abline(h = 1)Interpretasi:
Berdasarkan plot dekomposisi, komponen trend menunjukkan kenaikan yang hampir linear, dan komponen seasonal berulang dengan pola yang sama setiap tahun. Komponen random bernilai sangat dekat dengan 1 (sekitar 0,998 sampai 1,002), sehingga sisa variasinya sangat kecil. Komponen trend dan random hanya tersedia dari Juli 2022 sampai Juni 2024 karena perhitungan CMA 2×12 membutuhkan data enam bulan sebelum dan sesudah periode yang dihitung.
Berdasarkan tabel, faktor musiman tertinggi terdapat pada Juli (1,063), yang berarti produksi pada Juli cenderung sekitar 6,3% lebih tinggi dari tren. Faktor terendah terdapat pada November (0,956), yang berarti produksi pada November cenderung sekitar 4,4% lebih rendah dari tren. Faktor di atas 1 hanya terdapat pada Mei sampai Agustus, April bernilai 1, dan bulan lainnya bernilai di bawah 1. Rata-rata ke-12 faktor sama dengan 1, sehingga syarat model multiplicative terpenuhi, yaitu pengaruh musiman selama satu tahun saling meniadakan.
Berdasarkan grafik, batang biru (di atas 1) terlihat pada Mei sampai Agustus dengan puncak pada Juli, sedangkan batang merah (di bawah 1) terlihat pada bulan lainnya dengan titik terendah pada November. Pola ini sama dengan model additive, perbedaannya terletak pada pengaruh musiman yang dinyatakan dalam persentase terhadap tren, bukan dalam selisih ribu m³.
3. Bandingkan sd residu multiplicative dengan sd residu bila model additive dipaksakan.
# Menghitung SD residu
sd_add <- sd(dekomp_add$random, na.rm = TRUE) # skala ribu m3
sd_mul <- sd(dekomp_mul$random, na.rm = TRUE) # skala rasio
# Menyamakan skala residu multiplicative dalam ribu m3, residu additive dalam rasio terhadap tren
sd_mul_unit <- sd(air_ts - dekomp_mul$trend * dekomp_mul$seasonal, na.rm = TRUE)
sd_add_rasio <- sd(dekomp_add$random / dekomp_add$trend, na.rm = TRUE)
knitr::kable(data.frame(
Model = c("Additive (dipaksakan)", "Multiplicative"),
`SD skala asli` = c(round(sd_add, 4), round(sd_mul, 5)),
`SD (ribu m3)` = round(c(sd_add, sd_mul_unit), 3),
`SD (rasio thd tren)` = round(c(sd_add_rasio, sd_mul), 5),
check.names = FALSE))| Model | SD skala asli | SD (ribu m3) | SD (rasio thd tren) |
|---|---|---|---|
| Additive (dipaksakan) | 0.48630 | 0.486 | 0.00106 |
| Multiplicative | 0.00125 | 0.561 | 0.00125 |
Interpretasi:
Berdasarkan tabel, SD residu kedua model tidak bisa langsung dibandingkan karena skalanya berbeda. SD additive (0,4863) berada dalam skala ribu m³, sedangkan SD multiplicative (0,00125) berupa rasio terhadap tren.
Setelah skalanya disamakan, SD additive sebesar 0,486 ribu m³ lebih kecil daripada multiplicative sebesar 0,561 ribu m³. Pada skala rasio terhadap tren hasilnya juga sama, yaitu 0,00106 untuk additive dan 0,00125 untuk multiplicative. Jadi, residu additive sedikit lebih kecil, yang berarti model additive sedikit lebih sesuai dengan data. Namun, selisihnya tidak terlalu besar, sehingga perbandingan ini perlu didukung hasil pada poin 1 dan 2 untuk menentukan model terbaik.
4. Simpulkan model mana yang lebih sesuai, disertai alasan berbasis hasil poin 1-3.
Berdasarkan hasil poin 1 sampai 3, model additive lebih sesuai untuk data produksi air minum PDAM Kabupaten Serang.
Alasan:
Pada poin 1, lonjakan April dan Desember dari 2023 ke 2024 hampir tidak berubah (April 14 menjadi 15 ribu m³, Desember 18 menjadi 19 ribu m³), padahal level produksi terus naik. Pada model multiplicative, lonjakan seharusnya ikut membesar mengikuti kenaikan level.
Pada poin 2, faktor musiman multiplicative menyatakan pengaruh musim sebagai persentase dari tren. Pada Juli, faktornya 1,063 (6,3% dari tren), sehingga ayunan musim Juli seharusnya membesar dari sekitar 27 ribu m³ pada level tren 2022 menjadi sekitar 31 ribu m³ pada level tren 2024. Namun, hal ini tidak terlihat pada data karena lonjakan musiman pada poin 1 relatif tetap.
Pada poin 3, SD residu additive (0,486 ribu m³) lebih kecil daripada multiplicative (0,561 ribu m³), walaupun selisihnya tidak besar.
Dengan demikian, besar ayunan musiman cenderung tetap meskipun level produksi naik, sehingga model additive lebih sesuai untuk data produksi air minum PDAM Kabupaten Serang.
C. Perbandingan Additive vs Multiplicative
s_add <- dekomp_add$seasonal[1:12]
knitr::kable(data.frame(
Aspek = c("Model", "Tren (CMA 2x12)", "Bulan tertinggi", "Bulan terendah",
"Syarat komponen musiman", "Residu berpusat di",
"SD residu (ribu m3)", "SD residu (rasio thd tren)", "Kecocokan"),
Additive = c("Zt = Tt + St + et",
"Sama dengan multiplicative",
paste0(month.abb[which.max(s_add)], " (", round(max(s_add), 2), " ribu m3)"),
paste0(month.abb[which.min(s_add)], " (", round(min(s_add), 2), " ribu m3)"),
"Jumlah 12 indeks = 0", "0",
round(sd_add, 3), round(sd_add_rasio, 5),
"Lebih sesuai (ayunan musiman konstan)"),
Multiplicative = c("Zt = Tt x St x et",
"Sama dengan additive",
paste0(month.abb[which.max(s_mul)], " (", round(max(s_mul), 3), ")"),
paste0(month.abb[which.min(s_mul)], " (", round(min(s_mul), 3), ")"),
"Rata-rata 12 faktor = 1", "1",
round(sd_mul_unit, 3), round(sd_mul, 5),
"Baik, tetapi tidak diperlukan")))| Aspek | Additive | Multiplicative |
|---|---|---|
| Model | Zt = Tt + St + et | Zt = Tt x St x et |
| Tren (CMA 2x12) | Sama dengan multiplicative | Sama dengan additive |
| Bulan tertinggi | Jul (27.75 ribu m3) | Jul (1.063) |
| Bulan terendah | Nov (-20.12 ribu m3) | Nov (0.956) |
| Syarat komponen musiman | Jumlah 12 indeks = 0 | Rata-rata 12 faktor = 1 |
| Residu berpusat di | 0 | 1 |
| SD residu (ribu m3) | 0.486 | 0.561 |
| SD residu (rasio thd tren) | 0.00106 | 0.00125 |
| Kecocokan | Lebih sesuai (ayunan musiman konstan) | Baik, tetapi tidak diperlukan |
# Pola musiman kedua model berdampingan (multiplicative dinyatakan sebagai selisih % terhadap tren)
op <- par(mfrow = c(1, 2))
barplot(s_add, names.arg = month.abb, las = 2,
col = ifelse(s_add >= 0, "steelblue4", "firebrick"),
main = "Additive: indeks musiman", ylab = "ribu m3")
abline(h = 0)
barplot((s_mul - 1) * 100, names.arg = month.abb, las = 2,
col = ifelse(s_mul >= 1, "steelblue4", "firebrick"),
main = "Multiplicative: selisih thd tren", ylab = "%")
abline(h = 0)Interpretasi:
Berdasarkan tabel, kedua model memiliki tren yang sama (CMA 2×12) dan pola musiman yang sama, yaitu produksi tertinggi pada Juli dan terendah pada November. Perbedaannya terletak pada cara menyatakan pengaruh musim. Additive menyatakannya sebagai selisih dari tren (Juli 27,75 ribu m³ dan November −20,12 ribu m³), sedangkan multiplicative menyatakannya sebagai faktor atau persentase dari tren (Juli 1,063 dan November 0,956). Syarat komponen musimannya juga berbeda: jumlah 12 indeks sama dengan 0 pada additive, dan rata-rata 12 faktor sama dengan 1 pada multiplicative. SD residu additive (0,486 ribu m³) lebih kecil daripada multiplicative (0,561 ribu m³).
Berdasarkan grafik, bentuk kedua pola musiman hampir sama. Batang positif (di atas tren) terlihat pada Mei sampai Agustus dengan puncak pada Juli, sedangkan batang negatif (di bawah tren) terlihat pada bulan lainnya dengan titik terendah pada November. April hampir nol pada kedua grafik.
Jadi, model additive lebih sesuai untuk data produksi air minum PDAM Kabupaten Serang karena SD residunya lebih kecil dan lonjakan musiman (April dan Desember) relatif tetap meskipun level produksi meningkat. Model multiplicative tetap memberikan hasil yang baik, tetapi tidak diperlukan untuk data ini.
Kesimpulan Akhir
Berdasarkan hasil dekomposisi, produksi air minum PDAM Kabupaten Serang pada Januari 2022 sampai Desember 2024 menunjukkan tren naik sekitar 2,64 ribu m³ per bulan (sekitar 31,67 ribu m³ per tahun) dan memiliki pola musiman yang berulang setiap tahun. Produksi tertinggi terjadi pada Juli dan terendah pada November, baik pada model additive maupun multiplicative. Komponen residunya sangat kecil, sehingga sebagian besar variasi data sudah dijelaskan oleh tren dan pola musiman.
Dari perbandingan kedua model, additive lebih sesuai untuk data ini. Lonjakan April dan Desember dari 2023 ke 2024 relatif tetap meskipun level produksi meningkat, dan SD residu additive (0,486 ribu m³) lebih kecil daripada multiplicative (0,561 ribu m³). Model multiplicative tetap memberikan hasil yang baik, tetapi tidak diperlukan untuk data ini.