STUDY CASES
Confidence Interval~ Week 13
library(htmltools)
HTML('
<div class="profile-card">
<div>
<img src="Almetcokkk.JPG">
</div>
<div class="profile-text">
<h3>Verónica Maria L F Xavier</h3>
<div class="profile-description">
as a Student Data Science in Institut Teknologi Sains Bandung
</div>
<div class="profile-info-row">
<p class="profile-info-item">
<b>Mentored by:</b> <span class="mentor-name">Mr. Bakti Siregar M.Sc.,CDS</span>
</p>
</div>
</div>
</div>
')Verónica Maria L F Xavier
Mentored by: Mr. Bakti Siregar M.Sc.,CDS
1 CASE STUDY 1
1.1 Confidence Interval untuk Mean (σ Diketahui)
Sebuah platform e-commerce ingin mengestimasi rata-rata jumlah transaksi harian per pengguna setelah peluncuran fitur baru. Berdasarkan data historis berskala besar, standar deviasi populasi diketahui. Oleh karena itu, analisis dilakukan menggunakan metode Confidence Interval untuk mean dengan distribusi Z.
1.2 Identifikasi Metode Statistik
Metode statistik yang digunakan dalam studi kasus ini adalah Z-Confidence Interval.
Metode ini dipilih karena: - Tujuan analisis adalah mengestimasi rata-rata populasi - Standar deviasi populasi (σ) diketahui - Ukuran sampel besar (n ≥ 30)
1.3 Data dan Parameter
# Parameter dasar
sigma <- 3.2
n <- 100
xbar <- 12.6
# Standard Error
SE <- sigma / sqrt(n)
# Nilai Z
z_90 <- qnorm(0.95)
z_95 <- qnorm(0.975)
z_99 <- qnorm(0.995)
# Confidence Interval
CI_90 <- c(xbar - z_90 * SE, xbar + z_90 * SE)
CI_95 <- c(xbar - z_95 * SE, xbar + z_95 * SE)
CI_99 <- c(xbar - z_99 * SE, xbar + z_99 * SE)
CI_90## [1] 12.07365 13.12635
## [1] 11.97281 13.22719
## [1] 11.77573 13.42427
1.4 TABEL
Tabel ini menunjukkan bahwa rata-rata transaksi harian diperkirakan berada di kisaran sekitar 12–13 transaksi per hari.
Jika digunakan untuk pengambilan keputusan: - 95% confidence interval biasanya paling disarankan karena memberikan keseimbangan antara keakuratan dan kepercayaan hasil.
library(knitr)
library(kableExtra)
CI_table <- data.frame(
Confidence_Level = c("90%", "95%", "99%"),
Lower_Bound = c(CI_90[1], CI_95[1], CI_99[1]),
Upper_Bound = c(CI_90[2], CI_95[2], CI_99[2])
)
kable(
CI_table,
digits = 3,
align = "c",
caption = "<span style='font-size:22px; font-weight:bold;'>Confidence Interval
Rata-rata Transaksi Harian</span>",
escape = FALSE
) %>%
kable_styling(
bootstrap_options = c("striped", "hover"),
full_width = TRUE,
font_size = 18
) %>%
row_spec(0, bold = TRUE, background = "#4F81BD", color = "white") %>%
row_spec(1, background = "#D9E1F2") %>%
row_spec(2, background = "#BDD7EE") %>%
row_spec(3, background = "#9DC3E6")| Confidence_Level | Lower_Bound | Upper_Bound |
|---|---|---|
| 90% | 12.074 | 13.126 |
| 95% | 11.973 | 13.227 |
| 99% | 11.776 | 13.424 |
1.5 Visualisasi Perbandingan Confidence Interval
Visualisasi confidence interval menunjukkan bahwa semakin tinggi tingkat kepercayaan yang digunakan, semakin lebar rentang estimasi rata-rata transaksi harian. Interval kepercayaan 95% memberikan keseimbangan terbaik antara ketelitian dan keyakinan, sehingga paling direkomendasikan untuk pengambilan keputusan statistik. Seluruh interval menunjukkan bahwa rata-rata transaksi harian berada di sekitar 12–13 transaksi per hari.
library(ggplot2)
# Data Confidence Interval
CI_plot <- data.frame(
Level = factor(c("90%", "95%", "99%"),
levels = c("90%", "95%", "99%")),
Lower = c(12.074, 11.973, 11.776),
Upper = c(13.126, 13.227, 13.424),
Mean = c(12.6, 12.6, 12.6)
)
# Visualisasi Confidence Interval
ggplot(CI_plot, aes(y = Level)) +
geom_errorbar(
aes(xmin = Lower, xmax = Upper),
orientation = "y",
width = 0.25,
color = "steelblue",
linewidth = 1.2
) +
geom_point(
aes(x = Mean),
color = "steelblue",
size = 4
) +
labs(
title = "Perbandingan Confidence Interval Rata-rata Transaksi Harian",
x = "Jumlah Transaksi Harian",
y = "Confidence Level"
) +
theme_minimal(base_size = 14)1.6 INTERPRETASI
Berdasarkan hasil analisis, interval kepercayaan 95% menunjukkan bahwa rata-rata transaksi harian per pengguna berada pada rentang yang relatif sempit dan stabil. Semakin tinggi tingkat kepercayaan, semakin lebar interval yang dihasilkan, yang mencerminkan tingkat ketidakpastian yang lebih kecil.
1.7 KESIMPULAN
Confidence Interval memberikan gambaran yang jelas mengenai estimasi rata-rata transaksi harian pengguna setelah peluncuran fitur baru. Informasi ini dapat digunakan oleh manajemen untuk mengevaluasi efektivitas fitur serta sebagai dasar pengambilan keputusan strategis berbasis data.
2 CASE STUDY 2
2.1 Confidence Interval untuk Mean (σ Tidak Diketahui)
Waktu penyelesaian tugas (dalam menit) dari 12 pengguna aplikasi mobile adalah sebagai berikut:
8.4, 7.9, 9.1, 8.7, 8.2, 9.0, 7.8, 8.5, 8.9, 8.1, 8.6, 8.3
2.2 Penjelasan Uji Statistik yang Digunakan
Uji statistik yang digunakan dalam studi kasus ini adalah Confidence Interval untuk Mean dengan distribusi t-Student.
Pemilihan metode ini didasarkan pada beberapa alasan. Pertama, tujuan analisis adalah untuk mengestimasi rata-rata populasi waktu penyelesaian tugas. Kedua, ukuran sampel relatif kecil, yaitu sebanyak 12 pengguna. Ketiga, standar deviasi populasi (σ) tidak diketahui, sehingga distribusi normal (z) tidak dapat digunakan. Oleh karena itu, distribusi t-Student merupakan pendekatan yang paling tepat.
2.3 Confidence Interval (90%, 95%, dan 99%)
Berdasarkan perhitungan statistik diperoleh nilai rata-rata sampel sebesar 8.46 menit. Confidence interval dihitung menggunakan distribusi t-Student dengan derajat kebebasan (df) = 11.
2.4 TABEL
Berdasarkan tabel yang dibawah, berikut adalah kesimpulan utama mengenai data tersebut:
Estimasi Nilai Rata-rata: Tabel ini menunjukkan rentang nilai di mana rata-rata populasi yang sebenarnya kemungkinan besar berada. Titik tengah (mean sampel) dari data ini adalah 8,4585.
Hubungan Tingkat Kepercayaan dan Rentang:
Terdapat hubungan searah antara Confidence Level dan lebar interval. Semakin tinggi tingkat kepercayaan yang diinginkan (dari 90% ke 99%), maka rentang antara Lower Bound dan Upper Bound akan semakin lebar.
Interval 90% (8,240 – 8,677) adalah yang paling sempit/presisi, namun memiliki risiko error tertinggi (10%).
Interval 99% (8,081 – 8,836) adalah yang paling lebar, memberikan kepastian paling tinggi bahwa nilai benar tercakup di dalamnya, namun dengan presisi yang lebih rendah.
library(dplyr)
library(knitr)
library(kableExtra)
data <- c(8.4, 7.9, 9.1, 8.7, 8.2, 9.0, 7.8, 8.5, 8.9, 8.1, 8.6, 8.3)
ci_table <- data.frame(
`Confidence Level` = c("90%", "95%", "99%"),
`Lower Bound` = c(
mean(data) - qt(0.95, 11) * sd(data)/sqrt(12),
mean(data) - qt(0.975, 11) * sd(data)/sqrt(12),
mean(data) - qt(0.995, 11) * sd(data)/sqrt(12)
),
`Upper Bound` = c(
mean(data) + qt(0.95, 11) * sd(data)/sqrt(12),
mean(data) + qt(0.975, 11) * sd(data)/sqrt(12),
mean(data) + qt(0.995, 11) * sd(data)/sqrt(12)
)
)
kable(ci_table, digits = 3, align = "c") %>%
kable_styling(
bootstrap_options = c("striped", "hover", "condensed"),
full_width = TRUE,
font_size = 16
) %>%
row_spec(0, bold = TRUE, background = "#1F4E79", color = "white") %>%
row_spec(1, background = "#E3F2FD") %>%
row_spec(2, background = "#BBDEFB") %>%
row_spec(3, background = "#90CAF9")| Confidence.Level | Lower.Bound | Upper.Bound |
|---|---|---|
| 90% | 8.240 | 8.677 |
| 95% | 8.191 | 8.726 |
| 99% | 8.081 | 8.836 |
2.5 VISUALISASI
Visualisasi dibawah ini merupakan Error Bar Chart yang membandingkan rentang estimasi (Confidence Interval) dari rata-rata waktu penyelesaian tugas pada tiga tingkat keyakinan yang berbeda.
Poin-poin penjelasannya:
Titik Biru di Tengah: Melambangkan Mean (Rata-rata) sampel. Jika diperhatikan, posisi titik ini tetap stabil di sekitar angka 8,4 menit pada ketiga kolom.
Garis Vertikal (Whisker): Menunjukkan rentang Confidence Interval. Semakin tinggi tingkat kepercayaan (dari 90% ke 99%), garisnya menjadi semakin panjang/lebar.
Interpretasi Lebar Garis: Garis pada 99% adalah yang terpanjang karena untuk mencapai kepastian yang lebih tinggi, kita memerlukan rentang nilai yang lebih luas agar nilai populasi yang sebenarnya tidak “terlepas” dari estimasi kita.
library(ggplot2)
ci_plot <- data.frame(
Level = c("90%", "95%", "99%"),
Mean = mean(data),
Lower = ci_table$Lower.Bound,
Upper = ci_table$Upper.Bound
)
ggplot(ci_plot, aes(x = Level, y = Mean, color = Level)) +
geom_point(size = 4) +
geom_errorbar(
aes(ymin = Lower, ymax = Upper),
width = 0.2, size = 1.2
) +
scale_color_manual(values = c("#64B5F6", "#42A5F5", "#1E88E5")) +
labs(
title = "Confidence Interval Mean Waktu Penyelesaian Tugas",
subtitle = "Perbandingan CI 90%, 95%, dan 99%",
x = "Confidence Level",
y = "Waktu (menit)"
) +
theme_minimal(base_size = 14) +
theme(
legend.position = "none",
plot.title = element_text(face = "bold")
)2.6 Pengaruh Ukuran Sampel dan Confidence Level terhadap Lebar Interval
Ukuran sampel memiliki pengaruh langsung terhadap lebar confidence interval. Semakin besar ukuran sampel, maka nilai standard error akan semakin kecil sehingga confidence interval menjadi lebih sempit. Hal ini menunjukkan estimasi mean yang semakin presisi.
Confidence level juga memengaruhi lebar interval. Semakin tinggi tingkat confidence (misalnya 99%), maka interval yang dihasilkan akan semakin lebar. Hal ini disebabkan karena interval harus mencakup area yang lebih besar untuk memberikan tingkat keyakinan yang lebih tinggi terhadap estimasi parameter populasi.
2.7 KESIMPULAN
Berdasarkan analisis yang dilakukan, rata-rata waktu penyelesaian tugas pengguna aplikasi adalah sekitar 8.46 menit. Confidence interval dengan tingkat yang lebih tinggi menghasilkan interval yang lebih lebar, sedangkan peningkatan ukuran sampel dapat mempersempit interval estimasi. Metode t-Student merupakan pendekatan yang tepat dalam kondisi standar deviasi populasi tidak diketahui dan ukuran sampel relatif kecil.
3 CASE STUDY 3
3.1 Confidence Interval for a Proportion (A/B Testing)
Sebuah tim data science menjalankan A/B Testing pada desain baru tombol Call-To-Action (CTA). Hasil eksperimen yang diperoleh adalah:
Jumlah total pengguna: n = 400
Jumlah pengguna yang mengklik CTA: x = 156
Tujuan analisis ini adalah menghitung sample proportion, confidence interval, serta membandingkan hasilnya secara visual.
3.2 Menghitung Sample Proportion
Sample proportion dihitung menggunakan rumus:
\(𝑝^=\frac{x}{𝑛}\)
## [1] 0.39
- Interpretasi : Sebanyak 39% pengguna mengklik tombol CTA.
3.3 Menghitung Confidence Interval
Confidence interval dihitung menggunakan pendekatan normal approximation:
\[ \hat{p} \pm z \times \sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \]
# Data
n <- 400
x <- 156
p_hat <- x / n
# Function CI
compute_ci <- function(conf_level) {
z <- qnorm((1 + conf_level) / 2)
se <- sqrt((p_hat * (1 - p_hat)) / n)
lower <- p_hat - z * se
upper <- p_hat + z * se
c(lower, upper)
}
# Compute confidence intervals
ci_90 <- compute_ci(0.90)
ci_95 <- compute_ci(0.95)
ci_99 <- compute_ci(0.99)3.4 TABEL
Tabel Confidence Interval for CTA Click-Through Rate menampilkan rentang estimasi proporsi pengguna yang mengklik tombol Call-To-Action (CTA) pada tiga tingkat kepercayaan yang berbeda, yaitu 90%, 95%, dan 99%.
Kolom Confidence Level menunjukkan tingkat keyakinan yang digunakan dalam perhitungan interval.
Lower Bound merupakan batas bawah estimasi proporsi klik CTA.
Upper Bound merupakan batas atas estimasi proporsi klik CTA.
Berdasarkan tabel tersebut, dapat dilihat bahwa:
Pada confidence level 90%, interval yang dihasilkan paling sempit, sehingga estimasi proporsi lebih presisi namun dengan tingkat keyakinan yang lebih rendah.
Pada confidence level 95%, interval menjadi lebih lebar dan memberikan keseimbangan antara ketepatan estimasi dan tingkat kepercayaan.
Pada confidence level 99%, interval merupakan yang paling lebar, menunjukkan estimasi yang lebih konservatif dengan tingkat keyakinan yang paling tinggi.
library(dplyr)
library(knitr)
library(kableExtra)
ci_table <- data.frame(
Confidence_Level = c("90%", "95%", "99%"),
Lower_Bound = round(c(ci_90[1], ci_95[1], ci_99[1]), 4),
Upper_Bound = round(c(ci_90[2], ci_95[2], ci_99[2]), 4)
)
kable(ci_table,
align = "c",
caption = "Confidence Interval for CTA Click-Through Rate") %>%
kable_styling(
bootstrap_options = c("striped", "hover"),
full_width = TRUE,
position = "center"
) %>%
row_spec(0, bold = TRUE, background = "#1F4E79", color = "white") %>%
row_spec(1, background = "#E3F2FD") %>%
row_spec(2, background = "#BBDEFB") %>%
row_spec(3, background = "#90CAF9")| Confidence_Level | Lower_Bound | Upper_Bound |
|---|---|---|
| 90% | 0.3499 | 0.4301 |
| 95% | 0.3422 | 0.4378 |
| 99% | 0.3272 | 0.4528 |
3.5 VISUALISASI
Visualisasi ini menunjukkan perbandingan confidence interval untuk proporsi klik tombol Call-To-Action (CTA) pada tiga tingkat kepercayaan, yaitu 90%, 95%, dan 99%.
Titik biru merepresentasikan sample proportion pengguna yang mengklik CTA, yaitu sebesar 0,39.
Garis vertikal pada setiap tingkat kepercayaan menunjukkan rentang confidence interval, yang dibatasi oleh nilai Lower Bound dan Upper Bound.
Semakin tinggi confidence level, semakin lebar interval yang terbentuk, menandakan peningkatan tingkat keyakinan namun dengan estimasi yang lebih konservatif.
Visualisasi ini membantu memahami bagaimana pemilihan confidence level memengaruhi ketepatan estimasi dan tingkat keyakinan dalam pengambilan keputusan pada eksperimen A/B testing.
ci_table$Level <- c(90, 95, 99)
ci_table$Midpoint <- p_hat
ggplot(ci_table, aes(x = Level, y = Midpoint)) +
geom_point(size = 4, color = "#1F4E79") +
geom_errorbar(aes(ymin = Lower_Bound, ymax = Upper_Bound),
width = 3, color = "#1F4E79", linewidth = 1.2) +
labs(
title = "Comparison of Confidence Intervals for CTA Click Rate",
x = "Confidence Level (%)",
y = "Proportion of Clicks"
) +
theme_minimal(base_size = 14)3.6 KESIMPULAN
Pemilihan confidence level sangat memengaruhi tingkat risiko dan keyakinan dalam pengambilan keputusan produk. Untuk eksperimen produk digital, 95% confidence interval adalah pilihan yang paling seimbang.
4 CASE STUDY 4
4.1 Deskripsi Masalah
Dua tim data mengukur API latency (dalam milidetik) dengan kondisi berbeda.
- Team A menggunakan standar deviasi populasi (σ) yang diketahui
- Team B menggunakan standar deviasi sampel (s)
Tujuan analisis:
Menentukan uji statistik yang digunakan
Menghitung Confidence Interval 90%, 95%, dan 99%
Membandingkan interval melalui visualisasi
Menjelaskan perbedaan lebar interval
4.2 Data Awal
| Tim | Kondisi | Uji Statistik |
|---|---|---|
| Team A | σ diketahui | Z-Test |
| Team B | σ tidak diketahui | t-Test |
4.3 Perhitungan Confidence Interval
Confidence Interval dihitung untuk mengestimasi rentang nilai rata-rata API latency populasi berdasarkan data sampel.
Rata-rata sampel adalah 210 ms dengan ukuran sampel n = 36.
Standard Error untuk kedua tim sama:
\[SE = \frac{24}{\sqrt{36}} = 4\] Perbedaan interval muncul dari nilai kritis yang digunakan:
Team A (Z-Test) menggunakan distribusi normal baku
Team B (t-Test) menggunakan distribusi t dengan derajat bebas df = 35
Rumus umum Confidence Interval:
\[CI = \bar{x} \pm (\text{nilai kritis}) \times SE\]
Karena nilai kritis t lebih besar daripada nilai kritis z, maka interval Team B lebih lebar, meskipun mean dan standar deviasi sama.
Semakin tinggi tingkat kepercayaan (90% → 99%), semakin lebar interval yang dihasilkan.
library(dplyr)
se_z <- sigma / sqrt(n)
se_t <- s / sqrt(n)
z_90 <- qnorm(0.95)
z_95 <- qnorm(0.975)
z_99 <- qnorm(0.995)
t_90 <- qt(0.95, df = n-1)
t_95 <- qt(0.975, df = n-1)
t_99 <- qt(0.995, df = n-1)
ci_data <- data.frame(
Team = rep(c("Team A (Z-Test)", "Team B (t-Test)"), each = 3),
Confidence = rep(c("90%", "95%", "99%"), 2),
Lower = c(mean - z_90*se_z,
mean - z_95*se_z,
mean - z_99*se_z,
mean - t_90*se_t,
mean - t_95*se_t,
mean - t_99*se_t),
Upper = c(mean + z_90*se_z,
mean + z_95*se_z,
mean + z_99*se_z,
mean + t_90*se_t,
mean + t_95*se_t,
mean + t_99*se_t)
)
ci_data4.4 TABEL
Tabel Confidence Interval menampilkan batas bawah (Lower) dan batas atas (Upper) estimasi rata-rata latency untuk setiap tingkat kepercayaan.
Struktur Tabel
Team Menunjukkan metode statistik yang digunakan (Z-Test atau t-Test)
Confidence Tingkat kepercayaan (90%, 95%, 99%)
Lower Batas bawah estimasi mean populasi
Upper Batas atas estimasi mean populasi
Makna Nilai dalam Tabel
Sebagai contoh:
Team A – 95% CI Interval yang lebih sempit menunjukkan estimasi yang lebih presisi karena standar deviasi populasi diketahui.
Team B – 95% CI Interval lebih lebar karena distribusi t mempertimbangkan ketidakpastian tambahan dari estimasi standar deviasi sampel.
library(knitr)
library(kableExtra)
ci_data %>%
mutate(
Lower = round(Lower, 2),
Upper = round(Upper, 2)
) %>%
kable(
align = "c",
caption = "Confidence Interval API Latency (ms)"
) %>%
kable_styling(
bootstrap_options = c("striped", "hover"),
full_width = TRUE,
font_size = 16
) %>%
row_spec(0, bold = TRUE, background = "#1F4E79", color = "white") %>%
row_spec(1, background = "#E3F2FD") %>%
row_spec(2, background = "#BBDEFB") %>%
row_spec(3, background = "#90CAF9") %>%
row_spec(4, background = "#E3F2FD") %>%
row_spec(5, background = "#BBDEFB") %>%
row_spec(6, background = "#90CAF9")| Team | Confidence | Lower | Upper |
|---|---|---|---|
| Team A (Z-Test) | 90% | 203.42 | 216.58 |
| Team A (Z-Test) | 95% | 202.16 | 217.84 |
| Team A (Z-Test) | 99% | 199.70 | 220.30 |
| Team B (t-Test) | 90% | 203.24 | 216.76 |
| Team B (t-Test) | 95% | 201.88 | 218.12 |
| Team B (t-Test) | 99% | 199.10 | 220.90 |
4.5 VISUALISASI
library(ggplot2)
ggplot(ci_data, aes(x = Confidence, y = mean, ymin = Lower, ymax = Upper,
color = Team, group = Team)) +
geom_errorbar(width = 0.15, size = 1.3) +
geom_point(size = 4) +
labs(
title = "Perbandingan Confidence Interval API Latency",
y = "Latency (ms)",
x = "Confidence Level"
) +
theme_minimal(base_size = 16) +
scale_color_manual(values = c("#1F4FD8", "#0B84A5"))- Perbedaan Lebar Interval
Walaupun mean, ukuran sampel, dan standar deviasi sama, lebar interval berbeda karena:
Z-Test (Team A) menggunakan nilai kritis dari distribusi normal
t-Test (Team B) menggunakan distribusi t yang:
Lebih konservatif
Memiliki ekor lebih tebal
Menghasilkan interval lebih lebar
Perbedaan ini mencerminkan ketidakpastian tambahan saat σ populasi tidak diketahui.
4.6 KESIMPULAN
Team A menggunakan Z-Test (interval lebih sempit)
Team B menggunakan t-Test (interval lebih lebar)
Semakin tinggi tingkat confidence:
Interval semakin lebar
Tingkat kepastian meningkat
Distribusi t lebih aman untuk sampel nyata
5 CASE STUDY 5
5.1 One-Sided Confidence Interval
Sebuah perusahaan Software as a Service (SaaS) ingin memastikan minimal 70% pengguna aktif mingguan menggunakan fitur premium.
Data eksperimen menunjukkan: - Total pengguna: 250
- Pengguna aktif fitur premium: 185
Tujuan analisis ini adalah:
Menghitung one-sided lower confidence interval untuk proporsi pengguna premium.
Menentukan apakah target 70% tercapai secara statistik.
Menyajikan hasil dalam tabel dan visualisasi yang mudah dipahami.
5.2 Data
total_users <- 250
active_premium_users <- 185
p_hat <- active_premium_users / total_users # proporsi sample
p_hat## [1] 0.74
5.3 Jenis
- One-sided lower confidence interval karena fokus pada batas bawah.
- Uji proporsi z (z-test) untuk proporsi pengguna premium.
5.4 Menghitung Batas Bawah CI
lower_bound_CI <- function(p_hat, n, conf_level) {
z <- qnorm(conf_level)
lb <- p_hat - z * sqrt(p_hat * (1 - p_hat) / n)
return(lb)
}
# Hitung untuk 90%, 95%, 99%
conf_levels <- c(0.90, 0.95, 0.99)
lower_bounds <- sapply(conf_levels, lower_bound_CI, p_hat=p_hat, n=total_users)
lower_bounds## [1] 0.7044476 0.6943690 0.6754632
5.5 TABEL
Tabel ini menampilkan batas bawah (lower bound) one-sided confidence interval untuk proporsi pengguna premium pada tiga level kepercayaan: 90%, 95%, dan 99%.
Kolom Confidence Level menunjukkan tingkat keyakinan yang digunakan untuk menghitung CI.
Kolom Lower Bound menampilkan nilai batas bawah proporsi pengguna premium yang diestimasi dari data sample. Nilai ini menunjukkan proporsi minimal pengguna premium dengan tingkat keyakinan tertentu.
library(knitr)
library(kableExtra)
CI_table <- data.frame(
"Confidence Level" = c("90%", "95%", "99%"),
"Lower Bound" = round(lower_bounds, 3)
)
kable(CI_table, "html") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"),
full_width = F, position = "center"
) %>%
row_spec(0, bold = TRUE, background = "#1F4E79", color = "white") %>%
row_spec(1, background = "#E3F2FD") %>%
row_spec(2, background = "#BBDEFB") %>%
row_spec(3, background = "#90CAF9")| Confidence.Level | Lower.Bound |
|---|---|
| 90% | 0.704 |
| 95% | 0.694 |
| 99% | 0.675 |
5.6 VISUALISASI
Visualisasi ini menunjukkan batas bawah one-sided confidence interval untuk proporsi pengguna premium pada tiga level kepercayaan: 90%, 95%, dan 99%. Setiap batang mewakili lower bound CI pada level kepercayaan tertentu, dengan angka proporsi ditampilkan di atas batang agar mudah dibaca.
library(ggplot2)
df_plot <- data.frame(
Confidence = c("90%", "95%", "99%"),
LowerBound = lower_bounds
)
ggplot(df_plot, aes(x=Confidence, y=LowerBound, fill=Confidence)) +
geom_bar(stat="identity") +
geom_hline(yintercept = 0.70, linetype="dashed", color="red", size=1) +
labs(title="Batas Bawah One-Sided CI untuk Pengguna Premium",
subtitle="Garis merah putus-putus = target minimal 70%",
y="Lower Bound CI",
x="Confidence Level") +
scale_fill_manual(values=c("#56B4E9", "#0073C2", "#003366")) +
theme_minimal() +
theme(legend.position="none")5.7 KESIMPULAN
Analisis menunjukkan bahwa target minimal 70% pengguna premium hanya dapat dikonfirmasi pada level confidence 90%. Pada level confidence yang lebih tinggi, perusahaan tidak dapat secara pasti menyatakan target tercapai. Oleh karena itu, manajemen dapat mengambil keputusan dengan mempertimbangkan tingkat keyakinan yang diinginkan.