Abstrak

Pembayaran digital menjadi salah satu pilar penting dalam memperluas inklusi keuangan di era ekonomi digital. Penelitian ini menganalisis determinan penggunaan pembayaran digital di Indonesia menggunakan data Global Findex 2025 (N = 1.068). Variabel dependen adalah penggunaan pembayaran digital (0 = tidak; 1 = ya). Variabel independen meliputi kepemilikan rekening bank (account_fin), wilayah tempat tinggal (urban/rural), dan kuintil pendapatan (inc_q). Estimasi dilakukan menggunakan regresi logistik biner dengan pembagian data secara stratifikasi 80:20 untuk data training dan data testing. Hasil menunjukkan kepemilikan rekening bank berpengaruh positif dan signifikan terhadap penggunaan pembayaran digital (OR = 31,258; p < 0,001). Wilayah tempat tinggal tidak berpengaruh signifikan (p = 0,062), sedangkan kuintil pendapatan hanya signifikan pada kelompok terkaya (Q5) terhadap kelompok termiskin (Q1) (OR = 1,927; p = 0,025). Evaluasi prediktif pada data testing menghasilkan akurasi 75,7%, sensitivitas 91,0%, dan spesifisitas 64,8% pada threshold 0,50. Threshold optimal berdasarkan data training sebesar 0,628 memberikan metrik yang identik pada data testing. Temuan ini menegaskan peran penting kepemilikan rekening bank formal dalam mendorong adopsi pembayaran digital dan relevan sebagai masukan kebijakan untuk memperluas ekosistem keuangan digital yang inklusif.

Kata Kunci: Inklusi Keuangan; Pembayaran Digital; Kepemilikan Rekening Bank; Regresi Logistik Biner; Global Findex; Indonesia

1. Pendahuluan

  • Inklusi keuangan menempati posisi penting dalam agenda pembangunan ekonomi global, yaitu kondisi di mana individu dan pelaku usaha dapat mengakses produk dan layanan keuangan yang bermanfaat dan terjangkau (transaksi, pembayaran, tabungan, kredit, hingga asuransi) [1].
  • Di Indonesia, inklusi keuangan terbukti berkontribusi terhadap pertumbuhan ekonomi dan pengentasan kemiskinan [2], serta didorong melalui kebijakan seperti Strategi Nasional Keuangan Inklusif (SNKI) dan berbagai program digitalisasi layanan keuangan oleh Otoritas Jasa Keuangan (OJK) [3].
  • Sistem pembayaran digital seperti QRIS, dompet elektronik, dan transfer berbasis aplikasi kini menjadi motor penggerak inklusi keuangan modern karena memperluas akses layanan sekaligus mendorong stabilitas sistem keuangan [6].
  • Data Global Findex 2025 mencatat sekitar 41,6% orang dewasa Indonesia telah menggunakan pembayaran digital [1]; artinya hampir tiga perlima populasi dewasa masih belum mengadopsi pembayaran digital.
  • Berbagai studi mengidentifikasi kepemilikan rekening bank, pendapatan, dan wilayah tempat tinggal sebagai determinan utama adopsi layanan keuangan digital [4,5]. Kepemilikan rekening bank formal sering disebut sebagai “pintu pertama” inklusi keuangan dan menjadi prasyarat sebagian besar layanan pembayaran digital.
  • Selain faktor kepemilikan rekening, disparitas wilayah perkotaan–perdesaan serta perbedaan tingkat pendapatan kerap dikaitkan dengan kesenjangan inklusi keuangan [4,5,7].
  • Penelitian ini menganalisis secara empiris pengaruh kepemilikan rekening bank, wilayah tempat tinggal, dan tingkat pendapatan terhadap penggunaan pembayaran digital di Indonesia menggunakan regresi logistik biner [8], serta memberikan masukan bagi perumusan kebijakan inklusi keuangan.

2. Metode Penelitian

2.1. Sumber Data

Data yang digunakan dalam penelitian ini bersumber dari Global Financial Inclusion Database (Global Findex) 2025: Connectivity and Financial Inclusion in the Digital Economy, yang diterbitkan oleh Bank Dunia [1]. Data dikumpulkan pada periode Mei–Desember 2024 melalui survei tatap muka yang representatif secara nasional, dengan melibatkan 1.068 responden dewasa berusia 15 tahun ke atas di Indonesia yang dipilih melalui metode sampling probabilistik bertingkat. Dataset tersedia secara publik dan dapat diakses melalui World Bank Microdata Library (DOI: https://doi.org/10.48529/cdk5-2m94) [1].

2.2. Variabel Penelitian

Penelitian ini menggunakan satu variabel dependen biner dan tiga variabel independen sebagai prediktor [8]. Deskripsi variabel disajikan pada Tabel 1.

Tabel 1. Deskripsi Variabel Penelitian

Variabel Jenis Variabel Kode Skala Keterangan
Penggunaan pembayaran digital Dependen (Y) anydigpayment Nominal biner 0 = tidak, 1 = ya
Kepemilikan rekening bank Independen (X1) account_fin Nominal biner 0 = tidak punya, 1 = punya
Wilayah tempat tinggal Independen (X2) urbanicity Nominal biner 1 = urban, 2 = rural
Kuintil pendapatan Independen (X3) inc_q Kategorik ordinal 1 = termiskin, 5 = terkaya

Meskipun kuintil pendapatan (X3) secara alamiah berskala ordinal, dalam pemodelan ini variabel tersebut ditransformasikan menggunakan teknik dummy menjadi empat variabel indikator (Q2–Q5) dengan Kuintil 1 sebagai kategori referensi. Pendekatan ini sengaja dipilih untuk merelaksasi asumsi jarak proporsional antar-tingkat ordinal sekaligus mengakomodasi potensi hubungan non-monoton antara tingkat pendapatan dan probabilitas adopsi pembayaran digital, sebagaimana diindikasikan oleh analisis eksploratif awal.

3. Hasil dan Pembahasan

3.1. Statistik Deskriptif dan Eksplorasi Data

3.1.1. Distribusi Variabel Dependen

Dari total 1.068 responden, sebanyak 624 orang (58,4%) dilaporkan belum menggunakan pembayaran digital, sedangkan 444 orang (41,6%) menggunakan pembayaran digital. Proporsi ini menunjukkan bahwa pengguna pembayaran digital masih menjadi kelompok minoritas, meskipun perbedaan proporsinya tidak terlalu ekstrem sehingga data dapat dikategorikan cukup seimbang (mendekati 40:60) dan layak dimodelkan tanpa penanganan khusus terhadap ketidakseimbangan kelas.

# ------------------------------------------------------------
# 1. IMPORT DATA
# ------------------------------------------------------------
library(readxl)
library(dplyr)
library(ggplot2)
library(broom)
library(knitr)
library(scales)
library(car)
library(ResourceSelection)

raw_data <- readxl::read_excel("Data Project ADK (2).xlsx")

# Rename kolom (header asli pada berkas Excel tetap dipertahankan)
findex <- raw_data %>%
  rename(
    account_fin   = `account_fin (Y)`,
    anydigpayment = `anydigpayment (X1)`,
    urbanicity    = `urbanicity (X2)`,
    inc_q         = `inc_q (X3)`
  )

# Ringkasan data
ringkasan_data <- data.frame(
  Keterangan = c("Jumlah observasi", "Jumlah variabel"),
  Nilai      = c(nrow(findex), ncol(findex))
)

knitr::kable(ringkasan_data,
             caption = "Ukuran dataset Findex Indonesia 2025",
             align   = c("l", "c"))
Ukuran dataset Findex Indonesia 2025
Keterangan Nilai
Jumlah observasi 1068
Jumlah variabel 4
# ------------------------------------------------------------
# 2. PERSIAPAN VARIABEL
#    Y  = anydigpayment (penggunaan pembayaran digital)
#    X1 = account_fin   (kepemilikan rekening bank)
#    X2 = urbanicity     (wilayah tempat tinggal)
#    X3 = inc_q          (kuintil pendapatan, dummy; Q1 = referensi)
# ------------------------------------------------------------
findex_model <- findex %>%
  mutate(
    anydigpayment = factor(
      anydigpayment, levels = c(0, 1),
      labels = c("Tidak", "Ya")
    ),
    account_fin = factor(
      account_fin, levels = c(0, 1),
      labels = c("Tidak Punya Rekening", "Punya Rekening")
    ),
    urbanicity = factor(
      urbanicity, levels = c(1, 2),
      labels = c("Urban", "Rural")
    ),
    inc_q = factor(inc_q, levels = c(1, 2, 3, 4, 5))  # dummy, Q1 = referensi
  )
# Distribusi variabel dependen (penggunaan pembayaran digital)
class_summary <- findex_model %>%
  count(anydigpayment, name = "Jumlah") %>%
  mutate(Proporsi = scales::percent(Jumlah / sum(Jumlah), accuracy = 0.1)) %>%
  rename(`Status Pembayaran Digital` = anydigpayment)

knitr::kable(class_summary,
             caption = "**Tabel 2.** Distribusi Penggunaan Pembayaran Digital",
             align   = c("l", "c", "c"))
Tabel 2. Distribusi Penggunaan Pembayaran Digital
Status Pembayaran Digital Jumlah Proporsi
Tidak 624 58.4%
Ya 444 41.6%
# Visualisasi distribusi Y
ggplot(findex_model, aes(x = anydigpayment, fill = anydigpayment)) +
  geom_bar(width = 0.62, color = "white", linewidth = 0.8) +
  geom_text(
    stat  = "count",
    aes(label = after_stat(count)),
    vjust = -0.4, fontface = "bold"
  ) +
  scale_fill_manual(
    values = c("Tidak" = "#e76f51", "Ya" = "#2a9d8f")
  ) +
  labs(
    title    = "Distribusi Penggunaan Pembayaran Digital",
    subtitle = "Data Findex Indonesia 2025",
    x = NULL, y = "Jumlah responden"
  ) +
  theme_minimal(base_size = 12) +
  theme(legend.position = "none")
**Gambar 1.** Distribusi Penggunaan Pembayaran Digital (Findex Indonesia 2025)

Gambar 1. Distribusi Penggunaan Pembayaran Digital (Findex Indonesia 2025)

Kondisi ini sejalan dengan data Global Findex terbaru yang menunjukkan Indonesia mengalami peningkatan penggunaan pembayaran digital secara bertahap, terutama didorong oleh program pemerintah seperti Gerakan Nasional Non-Tunai (GNNT), perluasan QRIS, dan pengembangan infrastruktur keuangan digital. Meski demikian, angka lebih dari separuh penduduk yang belum menggunakan pembayaran digital mengindikasikan masih terdapat hambatan struktural yang perlu diatasi secara sistemik.


3.1.2. Tabulasi Silang Variabel Prediktor terhadap Penggunaan Pembayaran Digital

Kepemilikan Rekening Bank (X1)

Tabulasi silang antara kepemilikan rekening bank dan penggunaan pembayaran digital menunjukkan pola yang sangat kontras. Di antara responden yang tidak memiliki rekening bank (n = 504), hanya 7,9% (40 orang) yang menggunakan pembayaran digital. Sebaliknya, dari responden yang memiliki rekening (n = 564), sebanyak 71,6% (404 orang) tercatat menggunakan pembayaran digital. Selisih proporsi yang mencapai lebih dari 63 persentase poin ini menunjukkan asosiasi yang kuat antara kepemilikan rekening formal dengan adopsi teknologi keuangan digital.

# Tabulasi silang X1 (kepemilikan rekening) vs Y (pembayaran digital)
tabulasi_rekening <- findex_model %>%
  group_by(account_fin) %>%
  summarise(
    Jumlah          = n(),
    `Pakai Digital` = sum(anydigpayment == "Ya"),
    Proporsi        = scales::percent(`Pakai Digital` / Jumlah, accuracy = 0.1),
    .groups         = "drop"
  ) %>%
  rename(`Kepemilikan Rekening` = account_fin)

knitr::kable(tabulasi_rekening,
             caption = "**Tabel 3.** X1 vs Penggunaan Pembayaran Digital",
             align   = c("l", "c", "c", "c"))
Tabel 3. X1 vs Penggunaan Pembayaran Digital
Kepemilikan Rekening Jumlah Pakai Digital Proporsi
Tidak Punya Rekening 504 40 7.9%
Punya Rekening 564 404 71.6%
ggplot(findex_model, aes(x = account_fin, fill = anydigpayment)) +
  geom_bar(position = "fill", width = 0.6, color = "white", linewidth = 0.7) +
  geom_text(
    stat = "count",
    aes(label = scales::percent(after_stat(count) / tapply(after_stat(count),
        after_stat(x), sum)[after_stat(x)], accuracy = 0.1)),
    position = position_fill(vjust = 0.5),
    color = "white", fontface = "bold", size = 4
  ) +
  scale_fill_manual(
    values = c("Tidak" = "#e76f51", "Ya" = "#2a9d8f"),
    name   = "Pembayaran Digital"
  ) +
  scale_y_continuous(labels = scales::percent) +
  labs(
    title    = "Proporsi Pembayaran Digital Menurut Kepemilikan Rekening",
    subtitle = "Data Findex Indonesia 2025",
    x = "Kepemilikan Rekening Bank", y = "Proporsi"
  ) +
  theme_minimal(base_size = 12)
**Gambar 2.** Proporsi Penggunaan Pembayaran Digital Berdasarkan Kepemilikan Rekening Bank

Gambar 2. Proporsi Penggunaan Pembayaran Digital Berdasarkan Kepemilikan Rekening Bank

Wilayah Tempat Tinggal (X2)

Proporsi penggunaan pembayaran digital antara responden urban dan rural menunjukkan perbedaan yang cukup nyata. Di wilayah urban (n = 613), proporsi pengguna pembayaran digital tercatat 38,5%, sementara di wilayah rural (n = 455) justru lebih tinggi, yaitu 45,7%. Hal ini menarik karena umumnya adopsi teknologi finansial diasumsikan lebih tinggi di perkotaan. Angka yang lebih tinggi di pedesaan diduga berkaitan dengan layanan perbankan tanpa kantor (agen bank) [14] yang mempermudah masyarakat membuka rekening serta melakukan pengisian saldo (top-up/cash-in) dompet digital tanpa harus mengakses kantor cabang fisik. Pola ini menunjukkan bahwa kesenjangan adopsi teknologi keuangan di Indonesia tidak bisa lagi dilihat hanya dari sudut pandang dikotomi desa–kota.

tabulasi_wilayah <- findex_model %>%
  group_by(urbanicity) %>%
  summarise(
    Jumlah          = n(),
    `Pakai Digital` = sum(anydigpayment == "Ya"),
    Proporsi        = scales::percent(`Pakai Digital` / Jumlah, accuracy = 0.1),
    .groups         = "drop"
  ) %>%
  rename(Wilayah = urbanicity)

knitr::kable(tabulasi_wilayah,
             caption = "**Tabel 4.** X2 vs Penggunaan Pembayaran Digital",
             align   = c("l", "c", "c", "c"))
Tabel 4. X2 vs Penggunaan Pembayaran Digital
Wilayah Jumlah Pakai Digital Proporsi
Urban 613 236 38.5%
Rural 455 208 45.7%
ggplot(findex_model, aes(x = urbanicity, fill = anydigpayment)) +
  geom_bar(position = "fill", width = 0.6, color = "white", linewidth = 0.7) +
  geom_text(
    stat = "count",
    aes(label = scales::percent(after_stat(count) / tapply(after_stat(count),
        after_stat(x), sum)[after_stat(x)], accuracy = 0.1)),
    position = position_fill(vjust = 0.5),
    color = "white", fontface = "bold", size = 4
  ) +
  scale_fill_manual(
    values = c("Tidak" = "#e76f51", "Ya" = "#2a9d8f"),
    name   = "Pembayaran Digital"
  ) +
  scale_y_continuous(labels = scales::percent) +
  labs(
    title    = "Proporsi Pembayaran Digital Menurut Wilayah",
    subtitle = "Data Findex Indonesia 2025",
    x = "Wilayah Tempat Tinggal", y = "Proporsi"
  ) +
  theme_minimal(base_size = 12)
**Gambar 3.** Proporsi Penggunaan Pembayaran Digital Berdasarkan Wilayah Tempat Tinggal

Gambar 3. Proporsi Penggunaan Pembayaran Digital Berdasarkan Wilayah Tempat Tinggal

Kuintil Pendapatan (X3)

Penggunaan pembayaran digital cenderung meningkat seiring naiknya kelompok pendapatan, meski polanya tidak sepenuhnya monoton. Kelompok termiskin (kuintil 1) mencatat proporsi penggunaan sebesar 34,3%, sedangkan kelompok terkaya (kuintil 5) jauh lebih tinggi, yaitu 59,8%. Menariknya, angka terendah justru berada di kuintil 3 (31,4%), bahkan sedikit di bawah kuintil 1 dan kuintil 2. Peningkatan tajam baru terlihat mulai kuintil 4 (45,9%) dan memuncak di kuintil 5. Pola non-monoton ini menjadi dasar pemilihan pengodean dummy untuk variabel pendapatan.

tabulasi_pendapatan <- findex_model %>%
  group_by(inc_q) %>%
  summarise(
    Jumlah          = n(),
    `Pakai Digital` = sum(anydigpayment == "Ya"),
    Proporsi        = scales::percent(`Pakai Digital` / Jumlah, accuracy = 0.1),
    .groups         = "drop"
  ) %>%
  rename(`Kuintil Pendapatan` = inc_q)

knitr::kable(tabulasi_pendapatan,
             caption = "**Tabel 5.** X3 vs Penggunaan Pembayaran Digital",
             align   = c("c", "c", "c", "c"))
Tabel 5. X3 vs Penggunaan Pembayaran Digital
Kuintil Pendapatan Jumlah Pakai Digital Proporsi
1 210 72 34.3%
2 199 66 33.2%
3 210 66 31.4%
4 205 94 45.9%
5 244 146 59.8%
ggplot(findex_model, aes(x = inc_q, fill = anydigpayment)) +
  geom_bar(position = "fill", width = 0.65, color = "white", linewidth = 0.7) +
  geom_text(
    stat = "count",
    aes(label = scales::percent(after_stat(count) / tapply(after_stat(count),
        after_stat(x), sum)[after_stat(x)], accuracy = 0.1)),
    position = position_fill(vjust = 0.5),
    color = "white", fontface = "bold", size = 3.8
  ) +
  scale_fill_manual(
    values = c("Tidak" = "#e76f51", "Ya" = "#2a9d8f"),
    name   = "Pembayaran Digital"
  ) +
  scale_y_continuous(labels = scales::percent) +
  scale_x_discrete(labels = c("1\n(Termiskin)", "2", "3", "4", "5\n(Terkaya)")) +
  labs(
    title    = "Proporsi Pembayaran Digital Menurut Kuintil Pendapatan",
    subtitle = "Data Findex Indonesia 2025",
    x = "Kuintil Pendapatan", y = "Proporsi"
  ) +
  theme_minimal(base_size = 12)
**Gambar 4.** Proporsi Penggunaan Pembayaran Digital Berdasarkan Kuintil Pendapatan

Gambar 4. Proporsi Penggunaan Pembayaran Digital Berdasarkan Kuintil Pendapatan

3.2. Pembagian Data: Training dan Testing

Guna memperoleh evaluasi model yang tidak bias, data dibagi secara stratifikasi (stratified split) ke dalam data training dan data testing dengan rasio 80:20. Stratifikasi dilakukan berdasarkan variabel dependen agar proporsi kelas penggunaan pembayaran digital tetap terjaga pada kedua subset.

# ------------------------------------------------------------
# 4. SPLIT DATA: TRAINING (80%) & TESTING (20%)
# ------------------------------------------------------------
findex_model <- findex_model %>%
  mutate(digital_bin = as.integer(anydigpayment == "Ya"))

stratified_split <- function(y, prop = 0.8) {
  idx_by_class <- split(seq_along(y), y)
  train_idx    <- lapply(
    idx_by_class,
    function(idx) sample(idx, size = floor(length(idx) * prop))
  )
  unlist(train_idx, use.names = FALSE)
}

set.seed(42)
train_id   <- stratified_split(findex_model$digital_bin, prop = 0.8)
train_data <- findex_model[train_id, ]
test_data  <- findex_model[-train_id, ]

split_summary <- bind_rows(
  train_data %>% count(anydigpayment) %>% mutate(data = "Training"),
  test_data  %>% count(anydigpayment) %>% mutate(data = "Testing")
) %>%
  group_by(data) %>%
  mutate(Proporsi = scales::percent(n / sum(n), accuracy = 0.1)) %>%
  ungroup() %>%
  select(data, anydigpayment, n, Proporsi) %>%
  rename(
    Data                          = data,
    `Status Pembayaran Digital`   = anydigpayment,
    Jumlah                        = n
  )

knitr::kable(split_summary,
             caption = "**Tabel 6.** Distribusi Training–Testing (80:20)",
             align   = c("l", "l", "c", "c"))
Tabel 6. Distribusi Training–Testing (80:20)
Data Status Pembayaran Digital Jumlah Proporsi
Training Tidak 499 58.4%
Training Ya 355 41.6%
Testing Tidak 125 58.4%
Testing Ya 89 41.6%

Hasilnya, data training terdiri dari 854 observasi (499 tidak menggunakan, 355 menggunakan pembayaran digital) dan data testing sebanyak 214 observasi (125 tidak menggunakan, 89 menggunakan pembayaran digital). Proporsi 58,4% : 41,6% terjaga identik di kedua subset, memastikan bahwa model tidak dilatih maupun dievaluasi pada distribusi kelas yang berbeda.


3.3. Pengujian Asumsi Regresi Logistik

Sebelum model regresi logistik diestimasi, dilakukan uji asumsi untuk memastikan bahwa data dan model memenuhi prasyarat yang diperlukan agar hasil estimasi dapat diandalkan dan valid secara statistik.

3.3.1. Uji Multikolinearitas

Multikolinieritas merujuk pada kondisi di mana dua atau lebih variabel prediktor saling berkorelasi tinggi sehingga dapat mengacaukan estimasi koefisien. Untuk mendeteksinya, digunakan nilai Variance Inflation Factor (VIF) [12]. Nilai VIF > 10 mengindikasikan adanya masalah multikolinieritas yang serius.

# ------------------------------------------------------------
# 5A. UJI ASUMSI — Multikolinearitas (VIF)
# ------------------------------------------------------------
vif_model <- lm(
  digital_bin ~ account_fin + urbanicity + inc_q,
  data = train_data
)
vif_raw  <- car::vif(vif_model)
# Untuk prediktor kategorik (inc_q), gunakan kolom GVIF
vif_vals <- if (is.matrix(vif_raw)) vif_raw[, "GVIF"] else vif_raw

vif_table <- data.frame(
  Variabel   = c("Kepemilikan Rekening Bank (X1)",
                 "Wilayah Tempat Tinggal (X2)",
                 "Kuintil Pendapatan (X3)"),
  VIF        = round(as.numeric(vif_vals), 3),
  Keterangan = ifelse(as.numeric(vif_vals) < 10,
                      "Tidak ada multikolinearitas",
                      "Gejala Multikolinearitas")
)
row.names(vif_table) <- NULL

knitr::kable(vif_table,
             caption = "**Tabel 7.** Uji Multikolinearitas (VIF)",
             align   = c("l", "c", "l"))
Tabel 7. Uji Multikolinearitas (VIF)
Variabel VIF Keterangan
Kepemilikan Rekening Bank (X1) 1.061 Tidak ada multikolinearitas
Wilayah Tempat Tinggal (X2) 1.013 Tidak ada multikolinearitas
Kuintil Pendapatan (X3) 1.073 Tidak ada multikolinearitas

Hasil pengujian menunjukkan bahwa seluruh variabel prediktor memiliki nilai VIF jauh di bawah ambang 10, sehingga asumsi tidak adanya multikolinearitas terpenuhi.

Catatan: Nilai VIF < 10 menunjukkan tidak ada masalah multikolinieritas.


3.4. Pembentukan dan Kelayakan Model

Sebagai langkah awal sebelum menguji kontribusi tiap variabel, perlu memperhatikan ringkasan dari model regresi logistik yang telah dibangun. Model estimasi dibangun menggunakan data training sebanyak 854 observasi.

# ------------------------------------------------------------
# 5. FITTING MODEL REGRESI LOGISTIK
#    Y ~ X1 (account_fin) + X2 (urbanicity) + X3 (inc_q dummy)
# ------------------------------------------------------------
findex_fit <- glm(
  digital_bin ~ account_fin + urbanicity + inc_q,
  data   = train_data,
  family = binomial(link = "logit")
)

ringkasan_model <- data.frame(
  Keterangan = c(
    "Jumlah Observasi Training",
    "Null Deviance",
    "Residual Deviance",
    "Degree of Freedom"
  ),
  Nilai = c(
    nobs(findex_fit),
    round(findex_fit$null.deviance, 3),
    round(findex_fit$deviance, 3),
    findex_fit$df.residual
  )
)

knitr::kable(ringkasan_model,
             caption = "**Tabel 8.** Ringkasan Kecocokan Model Regresi Logistik",
             align   = c("l", "c"))
Tabel 8. Ringkasan Kecocokan Model Regresi Logistik
Keterangan Nilai
Jumlah Observasi Training 854.000
Null Deviance 1159.498
Residual Deviance 716.158
Degree of Freedom 847.000

Penurunan deviance yang cukup besar (dari 1159,498 menjadi 716,158, atau sekitar 443) menjadi bukti awal bahwa kombinasi variabel yang digunakan memberikan informasi yang sangat berharga dalam membantu model memprediksi status penggunaan pembayaran digital masyarakat secara lebih akurat.


3.4.1. Uji Signifikansi Serentak (Omnibus Test)

Uji omnibus atau uji Likelihood Ratio digunakan untuk menguji apakah setidaknya satu variabel prediktor dalam model memberikan kontribusi yang signifikan secara statistik terhadap variabel dependen. Statistik G dihitung dari selisih antara null deviance dan residual deviance model.

# ------------------------------------------------------------
# 5B. UJI KELAYAKAN — Omnibus Test (Likelihood Ratio)
# ------------------------------------------------------------
g_statistik <- findex_fit$null.deviance - findex_fit$deviance
df_g        <- findex_fit$df.null - findex_fit$df.residual
p_value_g   <- pchisq(g_statistik, df = df_g, lower.tail = FALSE)

uji_serentak <- data.frame(
  `Statistik G` = round(g_statistik, 4),
  Db            = df_g,
  `p-value`     = format(p_value_g, scientific = TRUE, digits = 3),
  Kesimpulan    = ifelse(p_value_g < 0.05,
                         "Signifikan — Model Valid",
                         "Tidak Signifikan"),
  check.names   = FALSE
)

knitr::kable(uji_serentak,
             caption = "**Tabel 9.** Uji Signifikansi Serentak (Omnibus / *Likelihood Ratio Test*)",
             align   = c("c", "c", "c", "l"))
Tabel 9. Uji Signifikansi Serentak (Omnibus / Likelihood Ratio Test)
Statistik G Db p-value Kesimpulan
443.3403 6 1.33e-92 Signifikan — Model Valid

Hasil menunjukkan nilai G = 443,3403 dengan 6 derajat bebas dan p < 0,001. Artinya, model secara keseluruhan signifikan dan variabel-variabel prediktor secara bersama-sama mampu menjelaskan variasi penggunaan pembayaran digital di Indonesia.

Catatan: H0 = semua koefisien = 0. Tolak H0 jika p < 0,05.


3.4.2. Uji Kecocokan Model (Hosmer–Lemeshow Test)

Uji Hosmer–Lemeshow digunakan untuk mengevaluasi seberapa baik model yang diestimasi sesuai dengan data observasi (goodness of fit). Berbeda dengan uji omnibus, uji ini justru tidak menginginkan penolakan H0, di mana H0 menyatakan bahwa model cocok dengan data.

# ------------------------------------------------------------
# 5B. UJI KELAYAKAN — Hosmer-Lemeshow
# ------------------------------------------------------------
hl_test <- ResourceSelection::hoslem.test(
  findex_fit$y,
  fitted(findex_fit),
  g = 10
)

uji_gof <- data.frame(
  `Chi-Square` = round(hl_test$statistic, 4),
  Db           = hl_test$parameter,
  `p-value`    = round(hl_test$p.value, 4),
  Kesimpulan   = ifelse(hl_test$p.value > 0.05,
                        "Model Fit (Sesuai)",
                        "Model Tidak Fit"),
  check.names  = FALSE
)
row.names(uji_gof) <- NULL

knitr::kable(uji_gof,
             caption = "**Tabel 10.** Uji Hosmer–Lemeshow (*Goodness of Fit*)",
             align   = c("c", "c", "c", "l"))
Tabel 10. Uji Hosmer–Lemeshow (Goodness of Fit)
Chi-Square Db p-value Kesimpulan
6.1605 8 0.6293 Model Fit (Sesuai)

Hasil pengujian menunjukkan nilai χ² = 6,1127 dengan 8 derajat bebas dan p = 0,6346. Karena p > 0,05, H0 tidak ditolak, yang berarti model fit dengan data observasi. Ini mengonfirmasi bahwa model regresi logistik yang dibangun sudah memadai untuk menggambarkan pola penggunaan pembayaran digital di Indonesia.

Catatan: Gagal tolak H0 (p > 0,05) menunjukkan model layak digunakan.


3.5. Hasil Estimasi Model Regresi Logistik

Model regresi logistik diestimasi menggunakan 854 data training (80%) dari total 1.068 observasi yang dipisahkan secara stratified untuk menjaga proporsi kelas. Hasil estimasi meliputi koefisien regresi (β), odds ratio (OR), interval kepercayaan 95%, serta nilai p untuk setiap variabel prediktor. Adapun persamaan logit model yang terbentuk adalah sebagai berikut:

\[\widehat{\text{logit}}(P) = -2{,}6997 + 3{,}4423\,X_1 + 0{,}3605\,X_2 - 0{,}2207\,Q_2 - 0{,}1892\,Q_3 + 0{,}1158\,Q_4 + 0{,}6560\,Q_5\]

# ------------------------------------------------------------
# 6. KOEFISIEN, ODDS RATIO, DAN UJI SIGNIFIKANSI (Wald)
# ------------------------------------------------------------
coef_table <- broom::tidy(findex_fit) %>%
  mutate(
    odds_ratio = exp(estimate),
    ci_low     = exp(estimate - 1.96 * std.error),
    ci_high    = exp(estimate + 1.96 * std.error),
    term = dplyr::recode(term,
      "(Intercept)"               = "(Intercept)",
      "account_finPunya Rekening" = "account_fin_YA (X1)",
      "urbanicityRural"           = "urbanicity_Rural (X2)",
      "inc_q2"                    = "inc_q (Q2)",
      "inc_q3"                    = "inc_q (Q3)",
      "inc_q4"                    = "inc_q (Q4)",
      "inc_q5"                    = "inc_q (Q5)"
    )
  ) %>%
  transmute(
    `Variabel/Level`           = term,
    `Koefisien (β)`            = round(estimate, 4),
    `Odds Ratio (OR)`          = round(odds_ratio, 3),
    `CI 95%`                   = paste0(round(ci_low, 3), " – ", round(ci_high, 3)),
    `p-value`                  = round(p.value, 4),
    `Keterangan`               = ifelse(p.value < 0.05, "Signifikan ✓", "Tidak Signifikan")
  )

knitr::kable(coef_table,
             caption = "**Tabel 11.** Hasil Estimasi Model (OR, CI, p-value)",
             align   = c("l", "c", "c", "c", "c", "l"))
Tabel 11. Hasil Estimasi Model (OR, CI, p-value)
Variabel/Level Koefisien (β) Odds Ratio (OR) CI 95% p-value Keterangan
(Intercept) -2.6997 0.067 0.039 – 0.115 0.0000 Signifikan ✓
account_fin_YA (X1) 3.4423 31.258 20.447 – 47.784 0.0000 Signifikan ✓
urbanicity_Rural (X2) 0.3605 1.434 0.982 – 2.094 0.0621 Tidak Signifikan
inc_q (Q2) -0.2207 0.802 0.436 – 1.477 0.4786 Tidak Signifikan
inc_q (Q3) -0.1892 0.828 0.452 – 1.517 0.5404 Tidak Signifikan
inc_q (Q4) 0.1158 1.123 0.625 – 2.018 0.6987 Tidak Signifikan
inc_q (Q5) 0.6560 1.927 1.086 – 3.419 0.0249 Signifikan ✓

3.5.1. Pengaruh Kepemilikan Rekening terhadap Penggunaan Pembayaran Digital

Variabel kepemilikan rekening bank (account_fin) merupakan prediktor yang paling dominan dan signifikan dalam model. Dengan nilai koefisien β = 3,4423 dan odds ratio (OR) = 31,258, hasil ini mengandung makna bahwa responden yang memiliki rekening bank memiliki peluang (odds) sekitar 31 kali lebih besar untuk menggunakan pembayaran digital dibandingkan responden yang tidak memiliki rekening, dengan mengendalikan variabel lainnya (CI 95%: 20,447–47,784; p < 0,001).

Temuan ini sangat masuk akal secara konseptual: kepemilikan rekening bank formal merupakan prasyarat utama untuk mengakses sebagian besar layanan pembayaran digital, sehingga keberadaannya menjadi fondasi terpenting bagi adopsi pembayaran digital. Dalam konteks Indonesia, layanan seperti QRIS, GoPay, OVO, dan Dana pada umumnya terhubung langsung dengan rekening bank.

3.5.2. Pengaruh Wilayah Tempat Tinggal terhadap Penggunaan Pembayaran Digital

Variabel wilayah tempat tinggal (urbanicity) menunjukkan nilai koefisien β = 0,3605 dengan OR = 1,434 (CI 95%: 0,982–2,094; p = 0,0621). Nilai p yang berada di atas batas signifikansi 0,05 menegaskan bahwa variabel wilayah tidak terbukti berpengaruh signifikan terhadap penggunaan pembayaran digital setelah mengendalikan kepemilikan rekening dan kuintil pendapatan.

Ketidaksignifikanan variabel wilayah ini mengindikasikan bahwa disparitas urban-rural dalam adopsi pembayaran digital di Indonesia sudah mulai terkikis, yang mencerminkan dampak positif dari ekspansi jaringan agen bank (Laku Pandai) dan layanan mobile banking [14].

3.5.3. Pengaruh Kuintil Pendapatan terhadap Penggunaan Pembayaran Digital

Pengaruh kuintil pendapatan menunjukkan pola yang tidak seragam. Dibandingkan kelompok termiskin (Q1) sebagai acuan, hanya kelompok terkaya (Q5) yang berpengaruh signifikan, dengan OR = 1,927 (CI 95%: 1,086–3,419; p = 0,0249). Artinya, kelompok pendapatan teratas memiliki odds menggunakan pembayaran digital hampir dua kali lipat dibandingkan kelompok termiskin. Sementara itu, kelompok Q2, Q3, dan Q4 tidak menunjukkan perbedaan yang signifikan terhadap Q1 (seluruh p-value > 0,05). Pola ini menunjukkan bahwa pengaruh pendapatan terhadap adopsi pembayaran digital cenderung baru terasa nyata pada kelompok berpendapatan paling tinggi.


3.6. Evaluasi Kinerja Model Prediktif

# ------------------------------------------------------------
# FUNGSI PEMBANTU: Confusion Matrix & Metrik Klasifikasi
# ------------------------------------------------------------
safe_div <- function(num, den) ifelse(den == 0, NA_real_, num / den)

confusion_matrix <- function(actual, prob, threshold = 0.5) {
  pred <- as.integer(prob >= threshold)
  tp   <- sum(pred == 1 & actual == 1)
  tn   <- sum(pred == 0 & actual == 0)
  fp   <- sum(pred == 1 & actual == 0)
  fn   <- sum(pred == 0 & actual == 1)
  matrix(
    c(tn, fp, fn, tp), nrow = 2, byrow = TRUE,
    dimnames = list(
      `Aktual`   = c("Tidak (0)", "Ya (1)"),
      `Prediksi` = c("Tidak (0)", "Ya (1)")
    )
  )
}

classification_metrics <- function(actual, prob, threshold = 0.5) {
  pred        <- as.integer(prob >= threshold)
  tp          <- sum(pred == 1 & actual == 1)
  tn          <- sum(pred == 0 & actual == 0)
  fp          <- sum(pred == 1 & actual == 0)
  fn          <- sum(pred == 0 & actual == 1)
  sensitivity <- safe_div(tp, tp + fn)
  specificity <- safe_div(tn, tn + fp)
  precision   <- safe_div(tp, tp + fp)
  accuracy    <- safe_div(tp + tn, tp + tn + fp + fn)
  data.frame(
    Threshold             = threshold,
    Accuracy              = accuracy,
    `Error Rate`          = 1 - accuracy,
    Sensitivity           = sensitivity,
    Specificity           = specificity,
    `F1-Score`            = safe_div(2 * precision * sensitivity,
                                     precision + sensitivity),
    `Balanced Accuracy`   = (sensitivity + specificity) / 2,
    `False Positive Rate` = 1 - specificity,
    `False Negative Rate` = 1 - sensitivity,
    check.names           = FALSE
  )
}

# Prediksi probabilitas
p_train <- predict(findex_fit, newdata = train_data, type = "response")
p_test  <- predict(findex_fit, newdata = test_data,  type = "response")

3.6.1. Confusion Matrix dan Metrik Klasifikasi

Pada threshold default 0,50, model berhasil memprediksi dengan benar 81 responden yang menggunakan pembayaran digital (True Positive = 81) dan 81 responden yang tidak menggunakannya (True Negative = 81), dengan 44 prediksi False Positive dan 8 prediksi False Negative. Model mencapai tingkat akurasi 75,7%, dengan sensitivitas 91,0% dan spesifisitas 64,8%.

# ------------------------------------------------------------
# 8. EVALUASI — Confusion Matrix & Metrik (threshold 0.5)
# ------------------------------------------------------------
confusion_default <- confusion_matrix(
  test_data$digital_bin, p_test, threshold = 0.5
)
metrics_default <- classification_metrics(
  test_data$digital_bin, p_test, threshold = 0.5
) %>%
  mutate(across(where(is.numeric), round, 3))

knitr::kable(confusion_default,
             caption = "**Tabel 12.** *Confusion Matrix* Data Testing (Threshold = 0,50)")
Tabel 12. Confusion Matrix Data Testing (Threshold = 0,50)
Tidak (0) Ya (1)
Tidak (0) 81 44
Ya (1) 8 81
knitr::kable(t(metrics_default),
             caption = "**Tabel 13.** Metrik Klasifikasi pada Threshold 0,50",
             col.names = "Nilai")
Tabel 13. Metrik Klasifikasi pada Threshold 0,50
Nilai
Threshold 0.500
Accuracy 0.757
Error Rate 0.243
Sensitivity 0.910
Specificity 0.648
F1-Score 0.757
Balanced Accuracy 0.779
False Positive Rate 0.352
False Negative Rate 0.090

Sensitivitas yang tinggi (91,0%) menandakan kemampuan model yang sangat baik dalam mendeteksi responden yang benar-benar menggunakan pembayaran digital, sementara spesifisitas 64,8% menunjukkan kemampuan yang lebih moderat dalam mengenali responden yang tidak menggunakannya, sejalan dengan nilai false positive rate sebesar 35,2%.


3.6.2. Kurva ROC dan Area Under Curve (AUC)

Kemampuan model dalam membedakan individu yang menggunakan dan tidak menggunakan pembayaran digital dievaluasi menggunakan kurva Receiver Operating Characteristic (ROC) serta nilai Area Under Curve (AUC).

# ------------------------------------------------------------
# 9. KURVA ROC DAN AUC
# ------------------------------------------------------------
roc_points <- function(actual, prob) {
  thresholds <- c(Inf, sort(unique(prob), decreasing = TRUE), -Inf)
  out <- lapply(thresholds, function(th) {
    pred        <- as.integer(prob >= th)
    tp          <- sum(pred == 1 & actual == 1)
    tn          <- sum(pred == 0 & actual == 0)
    fp          <- sum(pred == 1 & actual == 0)
    fn          <- sum(pred == 0 & actual == 1)
    sensitivity <- safe_div(tp, tp + fn)
    specificity <- safe_div(tn, tn + fp)
    data.frame(
      threshold   = th,
      sensitivity = sensitivity,
      specificity = specificity,
      fpr         = 1 - specificity,
      youden      = sensitivity + specificity - 1
    )
  })
  bind_rows(out)
}

auc_value <- function(roc_df) {
  roc_sorted <- roc_df %>% arrange(fpr, sensitivity)
  sum(
    diff(roc_sorted$fpr) *
      (head(roc_sorted$sensitivity, -1) + tail(roc_sorted$sensitivity, -1)) / 2
  )
}

roc_train <- roc_points(train_data$digital_bin, p_train) %>%
  mutate(data = "Training")
roc_test  <- roc_points(test_data$digital_bin,  p_test)  %>%
  mutate(data = "Testing")

auc_train     <- auc_value(roc_train)
auc_test      <- auc_value(roc_test)
optimal_train <- roc_train %>% slice_max(youden, n = 1, with_ties = FALSE)
threshold_opt <- optimal_train$threshold
test_at_opt   <- roc_test %>%
  filter(threshold == threshold_opt) %>%
  slice(1)
# Plot kurva ROC
roc_plot <- bind_rows(roc_train, roc_test)

ggplot(roc_plot, aes(x = fpr, y = sensitivity, color = data)) +
  geom_path(linewidth = 1.1) +
  geom_abline(intercept = 0, slope = 1,
              linetype = "dashed", color = "#6c757d") +
  geom_point(
    data        = optimal_train,
    aes(x = fpr, y = sensitivity),
    inherit.aes = FALSE,
    color = "#ffb703", fill = "#fb8500",
    shape = 21, size = 4, stroke = 1.2
  ) +
  geom_point(
    data        = test_at_opt,
    aes(x = fpr, y = sensitivity),
    inherit.aes = FALSE,
    color = "#8338ec", fill = "#3a86ff",
    shape = 24, size = 4, stroke = 1.2
  ) +
  coord_equal() +
  scale_color_manual(
    values = c("Training" = "#0077b6", "Testing" = "#e76f51")
  ) +
  labs(
    title    = "Kurva ROC — Regresi Logistik Penggunaan Pembayaran Digital",
    subtitle = paste0(
      "AUC Training = ", round(auc_train, 3),
      "  |  AUC Testing = ", round(auc_test, 3),
      "  |  Threshold Optimal = ", round(threshold_opt, 3)
    ),
    x     = "False Positive Rate (1 − Specificity)",
    y     = "True Positive Rate (Sensitivity)",
    color = "Data"
  ) +
  theme_minimal(base_size = 12)
**Gambar 5.** Kurva ROC — Regresi Logistik Penggunaan Pembayaran Digital

Gambar 5. Kurva ROC — Regresi Logistik Penggunaan Pembayaran Digital

Berdasarkan hasil pemodelan, diperoleh nilai AUC Training = 0,867 dan AUC Testing = 0,818. Merujuk pada klasifikasi Hosmer dan Lemeshow [8], kedua nilai tersebut masuk dalam kategori baik, yang menunjukkan bahwa model memiliki kemampuan diskriminasi yang andal. Selain itu, selisih AUC yang sangat tipis (0,049) antara data training dan testing mengonfirmasi bahwa model tidak mengalami gejala overfitting.

# Threshold optimal berdasarkan Indeks Youden (data training)
threshold_table <- optimal_train %>%
  transmute(
    `Threshold Optimal` = round(threshold, 3),
    Sensitivity         = round(sensitivity, 3),
    Specificity         = round(specificity, 3),
    `Youden Index`      = round(youden, 3)
  )

knitr::kable(threshold_table,
             caption = "**Tabel 14.** Threshold Optimal Berdasarkan ROC *Training*",
             align   = c("c", "c", "c", "c"))
Tabel 14. Threshold Optimal Berdasarkan ROC Training
Threshold Optimal Sensitivity Specificity Youden Index
0.628 0.91 0.768 0.677

Penentuan titik potong peluang menggunakan indeks Youden pada data training menghasilkan nilai threshold optimal sebesar 0,628. Pada tingkat ini, diperoleh nilai sensitivitas sebesar 91,0% dan spesifisitas mencapai 76,8% pada data training.


3.6.3. Perbandingan Threshold 0,50 vs Threshold Optimal

# ------------------------------------------------------------
# 10. PERBANDINGAN THRESHOLD 0.50 vs THRESHOLD OPTIMAL
# ------------------------------------------------------------
metrics_compare <- bind_rows(
  classification_metrics(test_data$digital_bin, p_test, threshold = 0.5) %>%
    mutate(`Aturan Klasifikasi` = "Threshold 0,50"),
  classification_metrics(test_data$digital_bin, p_test, threshold = threshold_opt) %>%
    mutate(`Aturan Klasifikasi` = paste0("Threshold Optimal (",
                                          round(threshold_opt, 3), ")"))
) %>%
  select(`Aturan Klasifikasi`, everything()) %>%
  mutate(across(where(is.numeric), round, 3))

confusion_opt <- confusion_matrix(
  test_data$digital_bin, p_test, threshold = threshold_opt
)

knitr::kable(t(metrics_compare[, -1]),
             caption = "**Tabel 15.** Perbandingan Metrik: Threshold 0,50 vs Threshold Optimal",
             col.names = c("Threshold 0,50", paste0("Threshold Optimal (",
                                                      round(threshold_opt, 3), ")")))
Tabel 15. Perbandingan Metrik: Threshold 0,50 vs Threshold Optimal
Threshold 0,50 Threshold Optimal (0.628)
Threshold 0.500 0.628
Accuracy 0.757 0.757
Error Rate 0.243 0.243
Sensitivity 0.910 0.910
Specificity 0.648 0.648
F1-Score 0.757 0.757
Balanced Accuracy 0.779 0.779
False Positive Rate 0.352 0.352
False Negative Rate 0.090 0.090
knitr::kable(confusion_opt,
             caption = paste0("**Tabel 16.** *Confusion Matrix* pada Threshold Optimal (",
                               round(threshold_opt, 3), ")"))
Tabel 16. Confusion Matrix pada Threshold Optimal (0.628)
Tidak (0) Ya (1)
Tidak (0) 81 44
Ya (1) 8 81

Hasil evaluasi menunjukkan bahwa nilai akurasi (75,7%), sensitivitas (91,0%), spesifisitas (64,8%), hingga error rate (24,3%) menunjukkan angka yang sama persis di antara kedua threshold tersebut. Kesamaan ini mengonfirmasi bahwa nilai probabilitas prediksi yang dihasilkan oleh model pada sampel testing sudah mengelompok secara tegas pada area ekstrem — tidak ada satu pun responden yang memiliki nilai peluang prediksi di rentang abu-abu antara 0,50 hingga 0,628. Hal ini membuktikan bahwa model memiliki tingkat kestabilan yang sangat tinggi, sehingga penggunaan batas acuan standar 0,50 sudah sangat memadai.

# ------------------------------------------------------------
# 11. DISTRIBUSI PROBABILITAS PREDIKSI
# ------------------------------------------------------------
test_prob_plot <- test_data %>%
  mutate(peluang_pakai = p_test)

ggplot(test_prob_plot, aes(x = peluang_pakai, fill = anydigpayment)) +
  geom_density(alpha = 0.55, color = "white", linewidth = 0.7) +
  geom_vline(
    xintercept = threshold_opt,
    color      = "#fb8500",
    linewidth  = 1.2,
    linetype   = "dashed"
  ) +
  annotate(
    "label",
    x     = threshold_opt, y = Inf,
    label = paste0("threshold = ", round(threshold_opt, 3)),
    vjust = 1.4, fill = "#fff3b0", color = "#5f370e", label.size = 0
  ) +
  scale_fill_manual(
    values = c("Tidak" = "#e76f51", "Ya" = "#2a9d8f")
  ) +
  labs(
    title    = "Distribusi Peluang Prediksi Penggunaan Pembayaran Digital",
    subtitle = "Data Testing — Findex Indonesia 2025",
    x    = "Peluang prediksi menggunakan pembayaran digital",
    y    = "Kepadatan",
    fill = "Status aktual"
  ) +
  theme_minimal(base_size = 12)
**Gambar 6.** Distribusi Peluang Prediksi Penggunaan Pembayaran Digital (Data Testing)

Gambar 6. Distribusi Peluang Prediksi Penggunaan Pembayaran Digital (Data Testing)


3.6.4. Implikasi Kebijakan dalam Konteks Inklusi Keuangan Indonesia

Hasil analisis ini memberikan implikasi kebijakan yang cukup spesifik untuk agenda inklusi keuangan nasional. Karena kepemilikan rekening bank formal terbukti menjadi faktor paling dominan, diikuti oleh tingkat pendapatan pada kelompok teratas, prioritas kebijakan ke depan perlu lebih difokuskan untuk memperkuat ekosistem non-tunai di masyarakat. Langkah nyata yang bisa diambil adalah mempercepat integrasi masyarakat yang belum memiliki rekening (unbanked) ke platform digital, misalnya dengan memperluas penggunaan QRIS di sektor mikro serta melanjutkan digitalisasi pada penyaluran bantuan sosial (bansos) pemerintah.

Selain itu, tidak signifikannya faktor wilayah tempat tinggal (urban-rural) mengindikasikan bahwa perluasan infrastruktur keuangan digital perlahan mulai berhasil mengurangi ketimpangan akses secara geografis. Keberadaan jaringan agen bank serta penggunaan mobile banking memberikan kesempatan yang relatif setara bagi masyarakat di pedesaan maupun perkotaan. Namun, tingkat pendapatan yang masih berpengaruh pada kelompok terkaya menunjukkan bahwa kesenjangan berbasis ekonomi belum sepenuhnya teratasi. Oleh karena itu, fokus Otoritas Jasa Keuangan (OJK) dan Bank Indonesia sebaiknya bergeser pada penguatan literasi digital, kestabilan jaringan internet di daerah, serta aspek perlindungan konsumen agar masyarakat dapat bertransaksi secara aman.


4. Kesimpulan dan Saran

4.1. Kesimpulan

Berdasarkan analisis regresi logistik biner menggunakan data Global Findex 2025 Indonesia (N = 1.068), dapat ditarik beberapa kesimpulan berikut:

  1. Kepemilikan rekening bank formal merupakan determinan paling kuat terhadap penggunaan pembayaran digital. Dengan nilai odds ratio (OR) mencapai 31,258, individu yang memiliki rekening bank formal memiliki kecenderungan 31,258 kali lebih besar untuk menggunakan pembayaran digital dibandingkan dengan mereka yang belum memiliki rekening. Hal ini menegaskan bahwa sektor perbankan formal dan ekosistem pembayaran digital memiliki keterikatan yang sangat kuat.

  2. Variabel wilayah tempat tinggal (urban/rural) tidak berpengaruh signifikan setelah mengendalikan variabel lain (p = 0,062). Ketidaksignifikanan ini mengindikasikan bahwa sekat pembatas berupa dikotomi desa-kota dalam konteks penggunaan pembayaran digital di Indonesia sudah mulai terkikis, sebagai sinyal positif keberhasilan ekspansi layanan perbankan tanpa kantor (agen bank) dan pemanfaatan mobile banking yang semakin merata hingga ke daerah rural.

  3. Tingkat pendapatan terbukti berpengaruh signifikan, khususnya pada kuintil tertinggi (Q5) dengan p = 0,025 (OR = 1,927). Kelompok berpendapatan tertinggi memiliki kecenderungan lebih besar untuk menggunakan pembayaran digital dibandingkan kelompok termiskin (Q1), sementara perbedaan pada kuintil menengah (Q2–Q4) tidak signifikan.

  4. Evaluasi performa prediktif pada data testing menunjukkan akurasi 75,7%, sensitivitas 91,0%, dan spesifisitas 64,8% pada threshold 0,50. Threshold optimal berdasarkan data training sebesar 0,628 menghasilkan metrik yang identik pada data testing, sehingga threshold 0,50 sudah memadai untuk klasifikasi pada studi ini.

Secara kebijakan, hasil ini menegaskan pentingnya perluasan kepemilikan rekening bank serta peningkatan literasi keuangan digital untuk mendorong penggunaan pembayaran digital, khususnya bagi kelompok yang masih unbanked.

4.2. Saran

Mengingat kepemilikan rekening bank menjadi faktor paling dominan dalam mendorong penggunaan pembayaran digital, Bank Indonesia dan Otoritas Jasa Keuangan (OJK) sebaiknya memprioritaskan perluasan akses rekening sekaligus infrastruktur pembayaran digital. Langkah ini bisa dilakukan dengan memperluas interkoneksi QRIS di sektor pelaku usaha mikro serta melanjutkan digitalisasi penuh pada program penyaluran bantuan sosial pemerintah.

Selain itu, karena faktor wilayah tinggal (urban-rural) sudah tidak lagi menjadi penghalang yang signifikan, alokasi anggaran sebaiknya dialihkan untuk penguatan literasi keuangan digital, kestabilan jaringan internet pedesaan, serta jaminan keamanan konsumen dalam bertransaksi online.

Penelitian ini hanya membatasi analisis pada tiga variabel prediktor, yaitu kepemilikan rekening, wilayah tinggal, dan tingkat pendapatan. Untuk penelitian selanjutnya, diharapkan menambah karakteristik sosiodemografi lain yang tersedia di data Global Findex, seperti tingkat pendidikan, kelompok usia, kepemilikan telepon seluler, atau tingkat literasi keuangan responden agar daya penjelas model menjadi lebih tinggi.


Referensi

[1] Development Research Group, Finance and Private Sector Development Unit. Indonesia - The Global Findex Database 2025: Connectivity and Financial Inclusion in the Digital Economy; World Bank: Washington, DC, USA, 2025; Ref. IDN_2024_FINDEX_v02_M. https://doi.org/10.48529/cdk5-2m94.

[2] Erlando, A.; Riyanto, F.D.; Masakazu, S. Financial inclusion, economic growth, and poverty alleviation: Evidence from eastern Indonesia. Heliyon 2020, 6(10), e05235. https://doi.org/10.1016/j.heliyon.2020.e05235.

[3] Otoritas Jasa Keuangan. Survei Nasional Literasi dan Inklusi Keuangan (SNLIK) Tahun 2024; OJK: Jakarta, Indonesia, 2024.

[4] Demirgüç-Kunt, A.; Klapper, L.; Singer, D.; Ansar, S. The Global Findex Database 2017: Measuring Financial Inclusion and the Fintech Revolution; World Bank: Washington, DC, USA, 2018.

[5] Allen, F.; Demirgüç-Kunt, A.; Klapper, L.; Martinez Peria, M.S. The foundations of financial inclusion: Understanding ownership and use of formal accounts. J. Financ. Intermediation 2016, 27, 1–30. https://doi.org/10.1016/j.jfi.2015.12.003.

[6] Ozili, P.K. Impact of digital finance on financial inclusion and stability. Borsa Istanbul Rev. 2018, 18(4), 329–340. https://doi.org/10.1016/j.bir.2017.12.003.

[7] Sahputri, R.A.M.; Sujarwoto; Sihombing, S.; Njoman, M.G. Financial inclusion in Indonesia: An analysis of determinants of bank account ownership and credit access at individual and regional levels. Econ. Finance Indones. 2024, 70(2), 1. https://doi.org/10.47291/efi.2024.06.

[8] Hosmer, D.W.; Lemeshow, S.; Sturdivant, R.X. Applied Logistic Regression, 3rd ed.; Wiley: Hoboken, NJ, USA, 2013.

[9] Chowdhury, M.A.M.; Labib, T.; Hossain, A.; Hossain, M.B.; Rengasamy, D.; Atiullah, M. Socio-economic determinants of digital financial inclusion in SAARC countries. Int. J. Sociol. Soc. Policy 2025, ahead-of-print. https://doi.org/10.1108/IJSSP-01-2025-0071.

[10] Hendrawaty, E.; Hasnawati, S.; Widodo, J.; Hadianto, B. The determinants of the financial inclusion of Indonesian female entrepreneurs. Int. J. Manag. Sustain. 2024, 13(2), 273–282.

[11] Agresti, A. Categorical Data Analysis, 3rd ed.; Wiley: Hoboken, NJ, USA, 2013.

[12] Midi, H.; Sarkar, S.K.; Rana, S. Collinearity diagnostics of binary logistic regression model. J. Interdiscip. Math. 2010, 13(3), 253–267. https://doi.org/10.1080/09720502.2010.10700699.

[13] Fawcett, T. An introduction to ROC analysis. Pattern Recognit. Lett. 2006, 27(8), 861–874. https://doi.org/10.1016/j.patrec.2005.10.010.

[14] Otoritas Jasa Keuangan. Laku Pandai: Layanan Keuangan Tanpa Kantor dalam Rangka Keuangan Inklusif; OJK: Jakarta, Indonesia, 2015.