1. Pendahuluan

Laporan ini menyajikan analisis performa akun Instagram Lajnah Pentashihan Mushaf Al-Qur’an (LPMQ) Kementerian Agama RI berdasarkan data insight postingan pada periode Bulan September–November 2025.

Analisis dilakukan untuk membaca sejauh mana konten yang dipublikasikan mampu menjangkau audiens, membangun interaksi, dan mendukung tujuan komunikasi LPMQ Kemenag RI di ranah media sosial, khususnya Instagram.

Secara ringkas, tujuan penyusunan laporan ini adalah untuk:

  • Mengetahui kinerja konten secara umum dari sisi views, reach, dan engagement.
  • Membandingkan efektivitas beberapa format konten (Image, Carousel, Reel).
  • Mengidentifikasi waktu posting yang relatif lebih optimal bagi audiens akun LPMQ Kemenag RI.
  • Menggali tema konten yang mendapatkan respon lebih kuat dari pengikut.
  • Menyusun rekomendasi pengembangan konten untuk periode publikasi berikutnya.

  1. Data dan Metodologi

2.1 Sumber Data

Data yang digunakan dalam analisis ini berasal dari fitur Instagram Insights untuk akun resmi @lpmq_kemenag_ri. Data diunduh dalam format .csv yang berisi metrik per posting, antara lain:

  • Informasi dasar posting: waktu publikasi, jenis konten, dan tautan permalink.
  • Metrik jangkauan: views dan reach (jika tersedia).
  • Metrik interaksi: likes, comments, shares, dan saves.
  • Metrik tambahan: follows yang dihasilkan, serta teks caption.
# Input Data 
path_data <- "D:/LPMQ KEMENAG/Laporan Medsos/1 September - 30 November/Sep-01-2025_Nov-30-2025_2421131368347326.csv"
raw_ig <- readr::read_csv(path_data, show_col_types = FALSE) %>%
clean_names()
glimpse(raw_ig)
## Rows: 63
## Columns: 18
## $ post_id          <dbl> 1.808971e+16, 1.797233e+16, 1.805584e+16, 1.801601e+1…
## $ account_id       <dbl> 1.784141e+16, 1.784141e+16, 1.784141e+16, 1.784141e+1…
## $ account_username <chr> "lpmq_kemenag_ri", "lpmq_kemenag_ri", "lpmq_kemenag_r…
## $ account_name     <chr> "LPMQ Kemenag RI", "LPMQ Kemenag RI", "LPMQ Kemenag R…
## $ description      <chr> "Karier adalah sebuah perjalanan dengan spektrum warn…
## $ duration_sec     <dbl> 0, 0, 84, 52, 0, 40, 0, 96, 0, 42, 0, 19, 0, 70, 0, 0…
## $ publish_time     <chr> "09/03/2025 04:50", "09/04/2025 03:19", "09/05/2025 0…
## $ permalink        <chr> "https://www.instagram.com/p/DOI5gxGAbwf/", "https://…
## $ post_type        <chr> "IG image", "IG carousel", "IG reel", "IG reel", "IG …
## $ data_comment     <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
## $ date             <chr> "Lifetime", "Lifetime", "Lifetime", "Lifetime", "Life…
## $ views            <dbl> 12318, 8402, 7563, 12709, 3358, 3653, 7788, 4594, 902…
## $ reach            <dbl> 4408, 2542, 4924, 8292, 540, 2379, NA, NA, 2474, 7447…
## $ likes            <dbl> 141, 129, 211, 512, 37, 132, 232, 159, 101, 386, 243,…
## $ shares           <dbl> 6, 29, 30, 43, 0, 9, 11, 17, 7, 26, 31, 15, 64, 52, 4…
## $ follows          <dbl> 0, 1, 5, 8, 0, 3, NA, NA, 2, 12, NA, 3, NA, 3, NA, NA…
## $ comments         <dbl> 0, 2, 17, 5, 0, 0, 27, 0, 0, 35, 55, 8, 73, 52, 18, 0…
## $ saves            <dbl> 3, 1, 9, 18, 0, 4, 0, 0, 4, 9, 0, 2, 0, 6, 0, 0, 0, 0…

2.2 Praproses Data

Tahapan praproses dilakukan untuk menyiapkan data agar siap dianalisis, antara lain:

  • Mengonversi kolom waktu publikasi menjadi format datetime dengan zona waktu Asia/Jakarta.
  • Membentuk variabel turunan seperti tanggal posting, bulan, hari (Senin–Minggu), dan jam publikasi.
  • Menghitung total engagement sebagai penjumlahan likes, comments, shares, dan saves.
  • Menghitung engagement rate per views (dan per reach bila tersedia).
  • Mengatur urutan kategori jenis konten berdasarkan median views.
ig <- raw_ig %>%
mutate(
# Konversi waktu publish (format: mm/dd/yyyy hh)
publish_time = lubridate::mdy_hm(publish_time, tz = "Asia/Jakarta"),
post_date = as.Date(publish_time),
month = floor_date(post_date, unit = "month"),
dow = lubridate::wday(post_date, label = TRUE, abbr = FALSE, week_start = 1),
hour = lubridate::hour(publish_time),

# Pastikan numeric
reach        = as.numeric(reach),
follows      = as.numeric(follows),

# Engagement total
engagement   = likes + comments + shares + saves,

# Engagement rate
engagement_rate_reach = dplyr::if_else(!is.na(reach) & reach > 0,
                                       engagement / reach,
                                       NA_real_),
engagement_rate_views = dplyr::if_else(views > 0,
                                       engagement / views,
                                       NA_real_),

# Urutkan faktor jenis konten berdasarkan median views
post_type    = forcats::fct_reorder(post_type, views, .fun = median)

)

summary(ig$publish_time)
##                       Min.                    1st Qu. 
## "2025-09-03 04:50:00.0000" "2025-09-19 04:15:30.0000" 
##                     Median                       Mean 
## "2025-10-17 03:16:00.0000" "2025-10-16 18:17:51.4285" 
##                    3rd Qu.                       Max. 
## "2025-11-14 02:57:30.0000" "2025-11-29 22:51:00.0000"

  1. Gambaran Umum Performa Akun

3.1 Ringkasan Metrik Utama

Bagian ini menyajikan ringkasan metrik utama selama periode analisis, meliputi: jumlah posting, total views, rata-rata dan median views per posting, serta total interaksi (likes, comments, shares, saves).

summary_overall <- ig %>%
summarise(
total_post = n(),
total_views = sum(views, na.rm = TRUE),
avg_views = mean(views, na.rm = TRUE),
median_views = median(views, na.rm = TRUE),
total_likes = sum(likes, na.rm = TRUE),
total_comments = sum(comments, na.rm = TRUE),
total_shares = sum(shares, na.rm = TRUE),
total_saves = sum(saves, na.rm = TRUE)
)

summary_overall_fmt <- summary_overall %>%
pivot_longer(cols = everything(),
names_to = "Metric",
values_to = "Value") %>%
mutate(
Metric = str_replace_all(Metric, "_", " ") %>% str_to_title(),
Value = ifelse(str_detect(Metric, "Views|Likes|Comments|Shares|Saves|Post"),
scales::comma(Value),
round(Value, 2))
)

kable(
summary_overall_fmt,
caption = "Ringkasan Kinerja Akun (Sep–Nov 2025)",
col.names = c("Metrik", "Nilai")
)
Ringkasan Kinerja Akun (Sep–Nov 2025)
Metrik Nilai
Total Post 63
Total Views 1,042,676
Avg Views 16,550
Median Views 8,402
Total Likes 21,908
Total Comments 616
Total Shares 1,452
Total Saves 351

Secara umum, tabel di atas memberikan gambaran tingkat aktivitas dan respon audiens terhadap konten yang dipublikasikan selama periode September–November 2025.

3.2 Komposisi Jenis Konten

Selain volume total posting, penting untuk melihat komposisi jenis konten yang digunakan, misalnya Image, Carousel, dan Reel. Hal ini membantu memahami strategi format yang selama ini dijalankan.

post_type_count <- ig %>%
  count(post_type, sort = TRUE) %>%
  mutate(
    pct       = n / sum(n),
    label     = paste0(n, " (", scales::percent(pct, accuracy = 1), ")"),
    label_pos = n + 0.09 * max(n)   # posisi teks sedikit di luar ujung bar
  )

gg_post_type <- ggplot(
  post_type_count,
  aes(x = fct_reorder(post_type, n),
      y = n,
      fill = post_type)
) +
  geom_col(show.legend = FALSE) +
  geom_text(
    aes(y = label_pos, label = label),
    hjust = 0,
    size  = 3.8
  ) +
  coord_flip(clip = "off") +          # biar teks di luar panel tetap terlihat
  labs(
    title = "Distribusi Jenis Konten",
    x = NULL,
    y = "Jumlah Post"
  ) +
  scale_y_continuous(expand = expansion(mult = c(0, 0.1))) +
  scale_fill_manual(values = c("#043915", "#4C763B", "#B0CE88")) +
  theme(plot.margin = margin(5.5, 40, 5.5, 5.5))  # ruang kanan untuk teks

ggplotly(gg_post_type)

Grafik di atas memperlihatkan berapa banyak posting yang dibuat dalam tiap format, serta proporsinya terhadap seluruh konten pada periode kajian. Selama periode September–November 2025, akun Instagram LPMQ Kemenag RI memproduksi konten dengan komposisi yang relatif seimbang antara tiga format utama: IG reel, IG carousel, dan IG image. Secara kuantitatif, terdapat 24 IG reel, 22 IG carousel, dan 17 IG image dari total 63 posting.

Ke depan, komposisi ini dapat terus dipertahankan dengan penyesuaian minor berdasarkan performa masing-masing format. Jika data lanjutan menunjukkan bahwa Reels atau Carousel tertentu secara konsisten jauh lebih unggul, maka porsi format tersebut dapat ditingkatkan secara terukur tanpa menghilangkan variasi konten yang sudah berjalan baik selama periode kajian.


  1. Analisis Performa Konten

4.1 Aktivitas Posting dari Waktu ke Waktu

Analisis ini bertujuan melihat pola aktivitas posting dan performanya dari hari ke hari, apakah terdapat puncak tertentu baik dari sisi jumlah posting maupun total views.

# data harian
daily_activity <- ig %>%
  group_by(post_date) %>%
  summarise(
    n_post      = n(),
    total_views = sum(views, na.rm = TRUE),
    .groups     = "drop"
  )

# tema dasar supaya mirip kartu insight
line_card_theme <- theme_minimal(base_size = 12) +
  theme(
    panel.grid.minor   = element_blank(),
    panel.grid.major.x = element_blank(),
    axis.title.x       = element_blank(),
    plot.title         = element_text(face = "bold"),
    axis.line          = element_line(color = "#4C763B"),
    axis.ticks         = element_line(color = "#4C763B")
  )

# --- Grafik 1: Jumlah posting per hari 

max_posts <- max(daily_activity$n_post, na.rm = TRUE)

p1 <- ggplot(daily_activity, aes(x = post_date, y = n_post)) +
  # area lembut
  geom_area(fill = "#4C763B", alpha = 0.15) +
  # garis pakai nilai asli, ujung dibulatkan
  geom_line(color = "#4C763B",
            linewidth = 1.1,
            lineend   = "round") +
  labs(
    title = "Jumlah Posting per Hari",
    y     = "Jumlah Post"
  ) +
  scale_y_continuous(
    limits = c(1, max_posts * 1.05),  # mulai dari 1
    breaks = pretty_breaks()
  ) +
  line_card_theme

# --- Grafik 2: Total views per hari
label_k <- function(x) {
  paste0(number(x / 1000, accuracy = 1), "k")
}

p2 <- ggplot(daily_activity, aes(x = post_date, y = total_views)) +
  geom_area(fill = "#4C763B", alpha = 0.15) +
  geom_line(color = "#4C763B",
            linewidth = 1.1,
            lineend   = "round") +
  labs(
    title = "Total Views per Hari",
    x     = "Tanggal",
    y     = "Total Views"
  ) +
  scale_y_continuous(
    labels = label_k,                      # 1000 -> 1k, 200000 -> 200k
    expand = expansion(mult = c(0, 0.05))
  ) +
  line_card_theme

# tampilkan bertumpuk
p1 / p2

Dari grafik di atas dapat diamati hari-hari dengan aktivitas posting yang lebih tinggi dan hari-hari dengan lonjakan views, yang seringkali berkaitan dengan event atau konten bertema khusus.

Grafik Jumlah Posting per Hari menunjukkan bahwa dalam periode 3 September–29 November 2025 akun LPMQ Kemenag RI menerbitkan 63 posting. Unggahan berkisar sekitar 4–5 konten per minggu.

Grafik Total Views menggambarkan sebagian besar memiliki total views harian yang berada di kisaran puluhan ribu, dengan median sekitar 11,7 ribu views per hari. Namun, terdapat beberapa puncak (spike) yang jauh melampaui pola rata-rata ini. Puncak tertinggi terjadi pada 16 November 2025 dengan total sekitar 208,6 ribu views dalam satu hari. Lonjakan ini berkaitan dengan konten IG Carousel bertema Ijtimak Ulama Tafsir Al-Qur’an 2025, yang mengangkat momentum forum nasional dan secara kuat menarik perhatian audiens.

4.2 Perbandingan Kinerja per Jenis Konten

Bagian ini membandingkan kinerja rata-rata tiap format konten, baik dari sisi views maupun engagement. Hal ini dapat membantu menentukan format mana yang paling efektif untuk tujuan tertentu (jangkauan vs kedekatan dengan audiens).

perf_by_type <- ig %>%
group_by(post_type) %>%
summarise(
n_post       = n(),
avg_views    = mean(views, na.rm = TRUE),
median_views = median(views, na.rm = TRUE),
avg_eng      = mean(engagement, na.rm = TRUE),
avg_er_view  = mean(engagement_rate_views, na.rm = TRUE),
.groups = "drop"
) %>%
mutate(
avg_views    = comma(round(avg_views, 1)),
median_views = comma(round(median_views, 1)),
avg_eng      = comma(round(avg_eng, 1)),
avg_er_view  = paste0(round(avg_er_view * 100, 2), "%")
)

kable(
perf_by_type,
caption   = "Perbandingan Kinerja per Jenis Konten",
col.names = c("Jenis Konten","Jumlah Post","Rata-rata Views",
"Median Views","Rata-rata Engagement","ER per Views")
)
Perbandingan Kinerja per Jenis Konten
Jenis Konten Jumlah Post Rata-rata Views Median Views Rata-rata Engagement ER per Views
IG reel 24 8,675 6,111 253 3.57%
IG carousel 22 26,377 8,496 506 2.03%
IG image 17 14,952 9,027 419 2.07%

Jika dilihat dari performa, IG carousel justru memberikan jangkauan rata-rata tertinggi, yaitu sekitar 26,4 ribu views per posting, diikuti IG image dengan kurang lebih 15 ribu views, sementara IG reel berada di kisaran 8,7 ribu views per posting.

Dari sisi interaksi, IG carousel juga lebih unggul dengan rata-rata engagement sekitar 506 aksi per posting (akumulasi likes, comments, shares, dan saves), diikuti IG image sekitar 419, sedangkan IG reel sekitar 253.

Menariknya, bila dihitung engagement rate per views, format IG reel justru memiliki efisiensi interaksi paling tinggi, yakni sekitar 3,6% per views, sedangkan IG image dan IG carousel berada di kisaran 2,0–2,1% per views.

Secara praktis, temuan ini mengisyaratkan bahwa IG carousel sangat efektif untuk tujuan jangkauan dan total interaksi, sementara IG reel lebih kuat untuk membangun kedekatan dan intensitas interaksi relatif terhadap jumlah penayangan. Dengan demikian, kombinasi keduanya dapat dimanfaatkan secara strategis: carousel untuk mendorong reach tinggi pada tema utama, dan reels untuk memperkuat engagement serta kedekatan emosional dengan audiens.

gg_box_views <- ggplot(ig,
aes(x = post_type,
y = views,
fill = post_type)) +
geom_boxplot(alpha = 0.8, show.legend = FALSE) +
scale_y_continuous(labels = comma) +
labs(
title = "Distribusi Views per Post Berdasarkan Jenis Konten",
x = NULL,
y = "Views per Post"
) +
scale_fill_viridis(discrete = TRUE, option = "D")

ggplotly(gg_box_views)

Boxplot Distribusi Views per Post Berdasarkan Jenis Konten menunjukkan bahwa IG Carousel memiliki sebaran dan median views yang lebih tinggi dibandingkan dua format lainnya. Median views Carousel tampak berada pada kisaran belasan hingga puluhan ribu views per posting. Hal ini menunjukkan bahwa banyak Carousel yang berhasil menjangkau audiens dalam skala besar, sekaligus adanya beberapa konten dengan performa sangat tinggi yang berperan sebagai top performer.

Sementara itu, IG Reel menunjukkan median views yang lebih rendah dan distribusi yang lebih terkonsentrasi di area bawah, menandakan bahwa dari sisi jangkauan murni, Reel belum menjadi format yang dominan dalam periode analisis ini, walaupun pada analisis sebelumnya terlihat bahwa engagement rate per views-nya justru paling tinggi.

Secara keseluruhan, pola boxplot ini menguatkan narasi sebelumnya bahwa Carousel merupakan format yang paling efektif untuk mengejar jangkauan luas (views tinggi), sedangkan Reel lebih tepat dimanfaatkan untuk tujuan kedekatan dan intensitas interaksi. IG Image berperan sebagai penyeimbang, dengan performa jangkauan yang moderat dan lebih stabil untuk kebutuhan visual yang sifatnya informatif maupun seremonial.

gg_views_eng <- ggplot(ig,
aes(x = views,
y = engagement,
color = post_type,
text = paste0(
"Jenis: ", post_type, "",
"Views: ", comma(views), "",
"Engagement: ", comma(engagement)
))) +
geom_point(alpha = 0.7, size = 3) +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
scale_color_viridis(discrete = TRUE, option = "D") +
labs(
title = "Hubungan Views dan Engagement per Post",
x = "Views",
y = "Engagement (Likes + Comments + Shares + Saves)",
color = "Jenis Konten"
)

ggplotly(gg_views_eng, tooltip = "text")

Scatter plot Hubungan Views dan Engagement per Post memperlihatkan pola yang cukup jelas: semakin tinggi views, umumnya semakin tinggi pula engagement. Secara keseluruhan, korelasi antara views dan engagement berada di kisaran 0,8, artinya hubungan keduanya tergolong kuat. Sebagian besar titik mengikuti pola garis “miring ke atas”, sehingga bisa disimpulkan bahwa posting dengan jangkauan besar hampir selalu diikuti oleh kenaikan interaksi.

Di tengah pola umum tersebut, ada beberapa posting yang sangat menonjol. Carousel Ijtimak Ulama Tafsir Al-Qur’an 2025 menjadi titik paling ekstrem di kanan atas, dengan sekitar 208.600 views dan 5.088 engagement. Post lain yang menonjol adalah konten tafsir resmi Kemenag yang di-upgrade (sekitar 144.000 views dan 1.773 engagement) dan beberapa konten bertema API Qur’an serta tafsir ekologi/lingkungan yang juga berada jauh di atas kumpulan titik lainnya.

Jika dilihat lebih dalam, ada satu IG Image yang menjadi “outlier positif”: konten Gus Baha dengan sekitar 39.000 views dan 3.907 engagement. Engagement rate-nya mendekati 10%, jauh di atas rata-rata posting lain, sehingga di scatter plot ia muncul jauh di atas titik-titik dengan views setara. Pola ini menunjukkan bahwa posting yang menggabungkan figur kuat (seperti Gus Baha) atau tema besar (event nasional, tafsir tematik, inovasi digital Al-Qur’an) bukan hanya mendorong views tinggi, tetapi juga mampu menarik interaksi yang jauh lebih intens dibanding konten biasa.

Scatter plot ini membantu mengidentifikasi posting yang sekaligus memiliki jangkauan luas dan engagement tinggi, serta mengamati pola korelasi antara kedua metrik tersebut.


  1. Analisis Waktu Posting

5.1 Rata-rata Views per Hari

Analisis ini bertujuan untuk membaca kecenderungan performa konten berdasarkan hari publikasi (Senin–Minggu) guna melihat hari mana yang relatif lebih kuat dari sisi rata-rata views.

views_by_dow <- ig %>%
  group_by(dow) %>%
  summarise(
    n_post       = n(),
    avg_views    = mean(views, na.rm = TRUE),
    median_views = median(views, na.rm = TRUE),
    .groups      = "drop"
  )

max_avg <- max(views_by_dow$avg_views, na.rm = TRUE)

gg_dow <- ggplot(views_by_dow,
                 aes(x = dow, y = avg_views, group = 1)) +
  geom_line(color = "#4C763B", linewidth = 1.1) +
  geom_point(color = "#4C763B", size = 3) +
  # label digeser sedikit ke atas dari titik
  geom_text(
    aes(
      y     = avg_views + 0.06 * max_avg,   # geser ke atas
      label = paste0("n=", n_post)
    ),
    size = 3
  ) +
  scale_y_continuous(
    labels = comma,
    limits = c(0, max_avg * 1.2)            # beri ruang di atas untuk label
  ) +
  labs(
    title = "Rata-rata Views per Hari",
    x     = NULL,
    y     = "Rata-rata Views"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    panel.grid.minor   = element_blank(),
    panel.grid.major.x = element_blank()
  )

ggplotly(gg_dow)

Grafik Rata-rata Views per Hari memperlihatkan perbedaan yang cukup jelas antar hari dalam seminggu. Titik dan garis menunjukkan rata-rata views per post, sedangkan label n=… di atasnya memberi informasi berapa banyak konten yang diposting pada hari tersebut. Kombinasi keduanya membantu membaca tidak hanya seberapa “ramai” sebuah hari, tetapi juga seberapa efisien hari itu dalam menghasilkan views per posting.

Terlihat ada beberapa hari yang menjadi puncak rata-rata views, di mana nilai views per post lebih tinggi dibanding hari lainnya. Menariknya, hari-hari dengan rata-rata views tinggi belum tentu memiliki jumlah posting terbanyak (nilai n justru bisa lebih kecil). Ini mengindikasikan bahwa pada hari-hari tertentu, satu atau dua konten saja sudah mampu menarik perhatian audiens secara signifikan, sehingga kualitas dan momentum konten tampak lebih menentukan daripada sekadar banyaknya unggahan.

Sebaliknya, ada hari-hari dengan jumlah posting lebih banyak tetapi rata-rata views per post relatif biasa saja. Pola ini memberi sinyal bahwa menambah volume konten tidak otomatis menaikkan performa per posting. Dari sudut pandang strategi, hari-hari dengan rata-rata views tinggi dan jumlah posting tidak terlalu banyak bisa diposisikan sebagai slot premium untuk konten prioritas (misalnya peluncuran produk, event, atau tema tafsir penting), sementara hari dengan performa rata-rata bisa dimanfaatkan untuk konten pendukung atau pengingat.

5.2 Heatmap Views per Jam dan Hari

Selain hari, jam publikasi berpengaruh terhadap peluang konten dilihat audiens. Heatmap berikut merangkum rata-rata views berdasarkan kombinasi hari dan jam posting.

# 1. Agregasi data: rata-rata views per hari & jam
hour_dow <- ig %>%
  group_by(dow, hour) %>%
  summarise(
    avg_views = mean(views, na.rm = TRUE),
    n_post    = n(),
    .groups   = "drop"
  )

# 2. Lengkapi kombinasi hari–jam (0–23) biar nggak ada kotak kosong
hour_dow_complete <- hour_dow %>%
  complete(dow, hour = 0:23) %>%
  mutate(
    # kalau tidak ada post di slot itu, isi n_post = 0
    n_post    = replace_na(n_post, 0),
    # biarkan avg_views NA untuk dibedakan di tooltip
    tooltip = ifelse(
      is.na(avg_views),
      paste0(
        "Hari: ", dow,
        "<br>Jam: ", hour, ".00",
        "<br>Belum ada posting"
      ),
      paste0(
        "Hari: ", dow,
        "<br>Jam: ", hour, ".00",
        "<br>Rata-rata views: ",
        number(avg_views, accuracy = 1, scale_cut = cut_si("k")),
        "<br>Jumlah post: ", n_post
      )
    )
  )

# 3. Heatmap hijau penuh (tanpa putih banget)
gg_heat <- ggplot(
  hour_dow_complete,
  aes(x = hour, y = dow, fill = avg_views, text = tooltip)
) +
  geom_tile(color = "white") +
  scale_x_continuous(
    breaks = 0:23,
    expand = c(0, 0)
  ) +
  scale_fill_gradient(
    low      = "#C9DEC4",  # hijau muda (bukan putih)
    high     = "#4C763B",  # hijau utama
    na.value = "#E3EFE0",  # hijau sangat muda untuk slot tanpa data
    labels   = label_number(
      accuracy  = 1,
      scale_cut = cut_si("k")   # 1000 -> 1k, 200000 -> 200k
    ),
    name = "Rata-rata Views"
  ) +
  labs(
    title = "Heatmap Rata-rata Views per Jam & Hari",
    x     = "Jam (WIB)",
    y     = NULL
  ) +
  theme_minimal(base_size = 12) +
  theme(
    panel.grid      = element_blank(),
    axis.ticks      = element_blank(),
    plot.title      = element_text(face = "bold"),
    axis.text.x     = element_text(angle = 0),
    legend.position = "right"
  )

ggplotly(gg_heat, tooltip = "text")

Heatmap Rata-rata Views per Jam & Hari menunjukkan pola yang cukup jelas: hari Minggu dan Sabtu cenderung punya rata-rata views per post paling tinggi. Jika dirata-ratakan, Minggu berada di kisaran ±49 ribu views per post dan Sabtu sekitar ±26 ribu views per post, sedangkan hari kerja umumnya berada di kisaran 8–13 ribu views. Artinya, secara umum akhir pekan adalah waktu yang paling “memungkinkan” untuk mendapatkan jangkauan yang lebih besar.

Dari sisi jam, terlihat beberapa slot waktu yang sangat menonjol. Contohnya, kombinasi Minggu pukul 23.00 menghasilkan rata-rata sekitar 106 ribu views per post (dengan dua posting), dan Sabtu pukul 19.00 juga muncul sebagai titik yang sangat tinggi (>100 ribu views, meskipun baru satu posting). Ini menandakan bahwa malam hari di akhir pekan berpotensi menjadi “jam emas” untuk menerbitkan konten penting, terutama ketika bersamaan dengan tema atau event besar.

Jika dilihat menyeluruh (tanpa membedakan hari), jam 19.00 dan 23.00 termasuk slot yang menarik: jam 19.00 digunakan untuk 6 posting dengan rata-rata sekitar 29 ribu views, sementara jam 23.00 memang lebih jarang (3 posting), tetapi rata-ratanya mencapai sekitar 72 ribu views. Beberapa jam lain di malam hari seperti 22.00 juga punya rata-rata views yang cukup tinggi (sekitar 19 ribu views) dengan jumlah posting yang tidak sedikit.

Di luar jam malam, ada pola menarik di dini hari (sekitar pukul 03.00–04.00): misalnya, Jumat pukul 03.00 dan Kamis pukul 04.00 muncul dengan rata-rata views di kisaran 23–33 ribu, meskipun jumlah postingnya sedikit. Ini mengisyaratkan bahwa beberapa konten yang diunggah pada jam-jam sepi justru bisa memperoleh dorongan jangkauan cukup besar, kemungkinan karena performanya bagus dan terus didorong algoritma pada jam-jam berikutnya.

Secara keseluruhan, heatmap ini memberi dua kesimpulan praktis: (1) akhir pekan, terutama Sabtu–Minggu malam, layak diprioritaskan untuk konten utama karena konsisten menghasilkan views tinggi; dan (2) jam 19.00–23.00 pada umumnya merupakan slot yang patut dijaga untuk konten yang ingin didorong jangkauannya. Namun, karena beberapa blok warna gelap masih berasal dari jumlah posting yang sedikit, pola-pola ini sebaiknya dipakai sebagai starting point eksperimen penjadwalan, bukan sebagai patokan baku yang kaku.


  1. Top 10 Konten dan Konten Unggulan

Bagian ini menampilkan 10 posting dengan views tertinggi, lengkap dengan informasi jenis konten, ringkasan caption, dan tautan ke posting aslinya.

top_posts <- ig %>%
arrange(desc(views)) %>%
mutate(
short_caption  = str_trunc(description, width = 80),
views_fmt      = comma(views),
reach_fmt      = comma(reach),
engagement_fmt = comma(engagement),
er_views_pct   = round(engagement_rate_views * 100, 2),
link           = ifelse(!is.na(permalink),
paste0('<a href="', permalink, '" target="_blank">Buka Post</a>'),
NA_character_)
) %>%
select(
publish_time,
post_type,
short_caption,
views_fmt,
reach_fmt,
engagement_fmt,
er_views_pct,
link
) %>%
slice_head(n = 10)

datatable(
top_posts,
escape = FALSE,
options = list(
pageLength = 10,
scrollX = TRUE
),
colnames = c(
"Waktu Posting", "Jenis Konten", "Caption (Singkat)",
"Views", "Reach", "Engagement", "ER (Views, %)", "Link"
)
)

Tabel Top 10 Post Berdasarkan Views menunjukkan bahwa kelompok kecil konten ini menjadi “mesin utama” jangkauan akun. Rata-rata views di 10 besar mencapai sekitar 63 ribu views per post, hampir empat kali lipat rata-rata semua posting (±16,5 ribu views), dengan median umum di kisaran 8,4 ribu views. Artinya, segelintir konten ini menyumbang porsi yang sangat besar dari total jangkauan akun.

Di posisi teratas, carousel Ijtimak Ulama Tafsir Al-Qur’an 2025 mencapai sekitar 208.600 views dengan kurang lebih 5.088 engagement (likes, komentar, share, dan save). Konten ini jauh melampaui posting lain dan jelas menunjukkan bahwa event besar berskala nasional menjadi magnet utama perhatian audiens. Di bawahnya, masih dalam format carousel, ada konten tentang tafsir resmi Kemenag yang “di-upgrade” dan makin relevan dengan zaman dengan sekitar 144.000 views dan 1.773 engagement, serta carousel mengenai layanan digital Al-Qur’an di era digital dengan lebih dari 52.000 views.

Menariknya, dari sisi jenis konten, IG Carousel dan IG Image mendominasi 10 besar: masing-masing muncul 4 kali, sementara IG Reel hanya 2 kali. Padahal, secara keseluruhan periode analisis, Reels adalah format yang paling banyak diposting. Pola ini mengisyaratkan bahwa untuk menjadi “jawara views”, Carousel dan Image lebih sering tampil di puncak dibanding Reel. Reels tetap muncul di 10 besar, tetapi biasanya pada posisi tengah–bawah, misalnya konten peluncuran tafsir lingkungan (~32.800 views) dan uji publik penyempurnaan tafsir (~24.800 views).

Di dalam kelompok 10 besar ini juga ada satu outlier penting: post IG Image yang menampilkan Gus Baha. Secara views, konten ini berada di kisaran 39.000 views, tetapi engagement-nya mencapai sekitar 3.907 interaksi, dengan engagement rate per views mendekati 10%. Angka ini jauh di atas rata-rata, sehingga jika hanya melihat kolom views saja, kekuatan konten figur seperti ini mudah terlewat.

Jika dilihat dari isi caption, pola tematik 10 besar relatif konsisten: sebagian besar berkaitan dengan event resmi (Ijtimak Ulama, uji publik, kolaborasi kelembagaan), produk/layanan tafsir (tafsir resmi, layanan digital Al-Qur’an, API/layanan daring), dan isu tematik kekinian (lingkungan, disabilitas, ekologi). Artinya, kombinasi tema besar + format visual kuat (terutama carousel dan image) adalah resep yang paling sering muncul di konten-konten dengan views tertinggi, sementara Reels cenderung lebih berperan untuk membangun engagement dan dinamika, bukan selalu menjadi juara dari sisi jangkauan mentah.

Grafik ini memudahkan identifikasi tema dan format konten yang paling berkontribusi terhadap jangkauan tinggi, sehingga dapat dijadikan rujukan untuk pengembangan konten sejenis di masa mendatang.


  1. Insight Utama

Berdasarkan analisis kuantitatif di atas, beberapa insight utama yang dapat dicatat antara lain:

  • Volume posting selama periode September–November 2025 cukup konsisten, dengan beberapa hari tertentu yang menunjukkan lonjakan views terkait event atau tema khusus.
  • Format konten Carousel dan Image cenderung memberikan jangkauan (views) yang tinggi dibandingkan Reels.

    Secara umum, performa IG Reel LPMQ berada di kisaran ±8.700 views per reel dengan median sekitar 6.100 views dan engagement rate ±3,6% per views. Di dalamnya ada beberapa kelompok tema yang sudah sangat kuat, ada yang engagement-nya bagus tapi jangkauannya kecil, dan ada juga yang masih perlu diperbaiki.

    1. Reels yang sudah sangat kuat (perlu dipertahankan & diperbanyak)

    Beberapa tema reels konsisten tampil di atas rata-rata dari sisi views maupun engagement:

    • Tafsir lingkungan & isu ekologi
      – Kelompok reels bertema pelestarian lingkungan, ekoteologi, bumi yang harus dijaga rata-rata mencapai sekitar ±19.800 views per reel dengan engagement di atas 500 interaksi. Ini jauh di atas rata-rata reels lainnya. Tema ini jelas “kena” ke audiens, apalagi ketika dikaitkan dengan ayat-ayat Al-Qur’an dan momen peluncuran tafsir tematik.
    • Reels dengan figur Gus Baha
      – Satu reels yang menampilkan Gus Baha mencatat sekitar 12.700 views dan 578 engagement, dengan engagement rate lebih dari 4,5%. Ini menunjukkan bahwa menampilkan figur ulama yang dekat dengan jamaah sangat efektif, walaupun formatnya tetap informatif.
    • Reels bernuansa cerita/humor (Bang Ali)
      – Reels “Bang Ali” berada di kisaran 12.100 views dengan lebih dari 450 engagement (ER ±3,8%). Perpaduan cerita ringan + edukasi produk LPMQ (akses mushaf/tafsir) membuat konten terasa personal tanpa kehilangan nilai informatif.
    • Reels tentang surat tanda tashih & produk LPMQ
      – Kategori ini rata-rata di atas ±11.500 views dengan engagement 300 interaksi. Edukasi teknis seperti surat tanda tashih, tapi dikemas ringan dan dekat dengan kehidupan sehari-hari, terbukti cukup kuat.
    • Event tafsir & Ijtimak/Uji Publik
      – Reels yang mengangkat uji publik penyempurnaan tafsir, forum ulama, dan proses ilmiah tafsir punya rata-rata sekitar ±11.000 views. Audiens tertarik ketika proses keilmuan ini ditampilkan dengan visual yang hidup, bukan sekadar info teks.

    Rekomendasi praktis: jadikan tema-tema di atas sebagai “tulang punggung” rubrik Reels. Misalnya, seri rutin: #TafsirLingkungan, #CatatanUlama, atau #CeritaProdukLPMQ dengan pola storytelling yang mirip dengan konten yang sudah terbukti perform.

    1. Reels dengan engagement kuat tapi views masih kecil

    Ada beberapa reels yang views-nya tidak tinggi, tapi engagement rate-nya justru sangat besar (di atas rata-rata umum):

    • Hari Santri
      – Satu reels bertema Hari Santri hanya mencatat sekitar 2.300 views, tetapi engagement rate-nya mencapai ±7,7%. Artinya, yang melihat memang benar-benar tertarik dan terlibat, hanya saja jangkauannya belum luas.
    • Akreditasi Perpustakaan / asesor Perpusnas
      – Reels akreditasi perpustakaan punya views sekitar 1.400, tetapi engagement rate di atas 5%. Lagi-lagi, respon per penonton sangat baik, hanya audiensnya masih sempit.

    Kategori ini tidak perlu dikurangi dari sisi tema, tetapi perlu dibantu dari sisi distribusi dan kemasan:

    • Jadwalkan konten seperti ini di jam dan hari “emas” (malam hari, akhir pekan) bukan di slot sepi.
    • Gunakan thumbnail/cover yang lebih kuat (foto ikon santri, logo Perpusnas, atau visual yang jelas terbaca dalam 1 detik).
    • Pertimbangkan membuat versi Carousel untuk tema yang sama, supaya informasi event/akreditasi juga tampil di format yang memang unggul di views.

    1. Reels yang masih perlu diperbaiki

    Ada beberapa kelompok yang performanya berada di bawah atau sekitar rata-rata, baik dari sisi views maupun engagement:

    • Reels “lainnya” yang tidak jelas temanya
      – Dua reels yang tidak masuk tema jelas (tag lainnya) tercatat di kisaran 5.500 views dengan engagement rate sekitar 2,5%, di bawah rata-rata reels lain. Biasanya isi konten lebih generik, tidak punya hook kuat di 3–5 detik pertama.

      • Reels “lainnya” yang tidak jelas temanya
        – Misalnya reel dengan caption “Kutipan ini mengingatkan kita bahwa hidup sejatinya memang melelahkan. Tapi pili…”
        (±4.542 views, ER ±3,2%; link). Konten seperti ini cenderung generik dan belum punya hook kuat di 3–5 detik pertama.
      • Reels branding generik (sapaan “Sahabat”)
        – Misalnya reel dengan caption “Selamat berakhir pekan, Sahabat Al-Qur’an! Dalam Ijtima Ulama Tafsir Al-Qur’an, …”
        (±4.225 views, ER ±2,9%; link). Nuansanya kuat di sapaan/branding, tetapi pesan utama kontennya kurang spesifik sehingga dampaknya tidak setajam tema-tema besar lainnya.
    • Reels branding generik (hanya sapaan “Sahabat…” tanpa konteks kuat)
      – Kelompok dengan nuansa branding/sapaan punya rata-rata sekitar 8.000 views, mendekati rata-rata, tapi jarang masuk cluster top. Artinya tidak buruk, tetapi kurang menonjol dari sisi dampak.
    • Beberapa reels AI/digital
      – Rata-rata tema AI/digital ada di sekitar 8.500 views (sedikit di bawah tema tafsir lingkungan/museum). Isunya sebenarnya menarik, tetapi kadang narasinya terlalu teknis atau kurang menempel pada masalah konkret yang dirasakan pengguna (misalnya: “buat apa sih AI Qur’an ini di kehidupan sehari-hari?”).

    Saran perbaikan untuk kelompok ini:

    • Perjelas “hook” di 3 detik pertama.
      Awali dengan kalimat atau visual yang langsung menyentuh masalah audiens, misalnya:
      • Soal mushaf & tashih
        “Mushaf yang kamu pakai sudah resmi bertanda tashih belum?”
        “Pernah kepikiran bedanya mushaf bertanda tashih dan yang tidak?”
      • Soal tafsir & isu kekinian
        “Gimana Al-Qur’an bicara soal krisis lingkungan yang kita hadapi sekarang?”
        “Isu mental health itu ada nggak sih di tafsir Al-Qur’an?”
        “Pernah mikir, ayat ini relevannya apa sama hidup kita hari ini?”
      • Soal layanan digital LPMQ (aplikasi, website, dsb.)
        “Masih ribet buka kitab tebal cuma buat cek satu ayat?”
        “Kalau ada cara cari tafsir resmi Kemenag dalam sekali klik, mau coba?”
        “Butuh rujukan tafsir yang pasti valid, tapi bingung mulai dari mana?”
      • Soal peran LPMQ (tanda tashih, akreditasi, ijtima’ ulama)
        “Siapa sih yang memastikan mushaf di tangan kamu itu sudah benar?”
        “Tahu nggak, sebelum mushaf beredar, ada proses panjang di baliknya?”
        “Pernah dengar istilah ‘tanda tashih’ tapi belum paham artinya?”
      • Soal santri & pembelajaran Al-Qur’an
        “Belajar Al-Qur’an itu cuma soal tajwid, atau ada yang lebih dalam dari itu?”
        “Kalau santri ketemu persoalan kekinian, rujukannya ke mana?”
      • Soal kebiasaan sehari-hari
        “Udah sering baca, tapi yakin sudah paham makna ayat yang ini?”
        “Berapa kali kita ngeluh soal hidup, tapi jarang buka tafsir?”
        “Suka share quotes islami, tapi yakin sumbernya bisa dipercaya?”
    • Perpendek durasi dan fokus pada satu pesan.
      Beberapa reels terasa seperti “mini seminar” yang terlalu padat. Untuk tema yang agak berat (AI, kelembagaan, akreditasi), lebih efektif jika dipecah menjadi serangkaian reels pendek dengan satu poin utama per video.
      • Reels tema AI / transformasi digital
        – Misalnya reel dengan opening “Salam #SahabatReligi… Ketika AI hadir, saatnya bertransformas…”
        (±11.700 views, ER ±1,4%; link).
        Isi videonya cukup padat menjelaskan peran AI dan transformasi layanan, sehingga terasa seperti “mini seminar” dalam satu reel.
      • Reels kelembagaan: uji publik tafsir
        – Misalnya reel “Salam #SahabatReligi… Kegiatan Uji Publik Penyempurnaan Tafsir Al-Qur’an…”
        (±24.806 views, ER ±1,7%; link).
        Kontennya menjelaskan proses uji publik tafsir yang cukup kompleks, sehingga banyak informasi dimasukkan dalam satu video.
      • Reels akreditasi perpustakaan
        – Misalnya reel dengan caption “Tim Asesor Perpustakaan Nasional RI melakukan akreditasi…”
        (±1.456 views, ER ±5,0%; link).
        Topiknya penting secara kelembagaan, tetapi narasi dan visualnya cukup padat dan informatif, sehingga lebih cocok dipecah jadi beberapa poin pendek.
    • Gabungkan tema generik dengan tema yang sudah terbukti kuat.
      Misalnya: branding “Sahabat Al-Qur’an” diselipkan di dalam cerita museum, tafsir lingkungan, atau figur ulama; bukan berdiri sendiri sebagai pesan umum.
    • Uji kombinasi Reels + Carousel untuk tema yang sama.
      Topik yang informatif tapi tidak terlalu “visual” (seperti kebijakan, akreditasi) bisa dibuat Reel singkat sebagai teaser dan Carousel sebagai penjelasan lengkap.

    1. Ringkasan arah strategi Reels

    Secara singkat, data menunjukkan bahwa:

    • Reels paling kuat adalah yang menggabungkan tema besar (lingkungan, tafsir, event nasional), figur kuat (Gus Baha), atau storytelling ringan (Bang Ali).
    • Beberapa tema memiliki engagement sangat tinggi tapi jangkauan kecil (Hari Santri, akreditasi). Ini bukan konten lemah, justru konten bagus yang masih perlu didorong distribusinya.
    • Reels yang temanya generik atau tanpa hook jelas cenderung berada di bawah rata-rata, dan perlu diperbaiki dari sisi pembukaan, durasi, dan fokus pesan.

    Dengan kata lain, Reels LPMQ sudah punya beberapa “champion format” yang jelas. Tugas berikutnya adalah menggandakan pola yang sudah terbukti berhasil, sekaligus mengangkat tema-tema bernilai tinggi yang saat ini masih tertahan di jangkauan kecil.


  • Terdapat indikasi hari dan jam tertentu (misalnya akhir pekan atau jam malam) yang menghasilkan rata-rata views lebih tinggi, meskipun tetap perlu pengujian lanjutan.
  • Top konten umumnya berkaitan dengan event besar, tema tafsir kekinian, atau kemunculan tokoh yang dekat dengan audiens.

  1. Rekomendasi Strategis Pengembangan IG LPMQ

Berdasarkan temuan data, berikut adalah beberapa rekomendasi strategis yang dapat dipertimbangkan untuk pengelolaan akun Instagram LPMQ Kemenag RI ke depan:

  • Mengoptimalkan kombinasi format konten.
    Gunakan Reels untuk konten pendek, inspiratif, dan humanis yang menekankan kedekatan dengan audiens, serta Carousel untuk menjelaskan isu tafsir yang lebih kompleks secara bertahap.
  • Memanfaatkan jam dan hari dengan performa relatif lebih baik.
    Fokuskan konten penting pada hari dan jam yang secara historis menunjukkan rata-rata views lebih tinggi, sambil tetap melakukan uji coba penjadwalan untuk menguji konsistensi pola tersebut.
  • Memperkuat tema-tema konten unggulan.
    Kembangkan seri konten seputar event nasional, tafsir tematik isu kekinian (misalnya lingkungan, sosial, disabilitas), serta konten yang menampilkan tokoh ulama yang sudah dikenal dan disukai audiens.
  • Mendorong interaksi yang bernilai (saves dan shares).
    Sertakan ajakan eksplisit dalam caption agar pengguna menyimpan (save) dan membagikan (share) konten, mengingat konten tafsir berpotensi menjadi rujukan berulang.
  • Membangun rubrikasi konten yang konsisten.
    Misalnya dengan rubrik seperti #TafsirHariIni atau #FAQAlQuran sehingga audiens terbiasa menantikan format tertentu pada hari/jam tertentu.

  1. Penutup

Laporan ini diharapkan dapat menjadi dasar pengambilan keputusan yang lebih berbasis data dalam pengelolaan konten Instagram LPMQ Kemenag RI. Ke depan, analisis serupa dapat dijalankan secara berkala untuk memantau tren, mengevaluasi eksperimen konten, dan menyesuaikan strategi komunikasi digital dengan dinamika audiens.

Seluruh kode analisis pada laporan ini disusun menggunakan bahasa R melalui RMarkdown, sehingga dapat direplikasi, dimodifikasi, dan dikembangkan kembali untuk periode data yang berbeda maupun untuk platform media sosial lainnya.

```