Prodi: Informatika
Mata Kuliah: Probabilitas dan Statistika

Kelas E25
Kelompok: 5


Pendahuluan

Media sosial menjadi salah satu sarana utama dalam penyebaran informasi dan interaksi antara pengguna di era digital. Platform seperti LinkedIn, Instagram, YouTube, dan Medium menyediakan berbagai metrik performa seperti jumlah pengikut (followers), tingkat keterlibatan (engagement rate), serta interaksi pengguna seperti likes, comments, dan shares. Analisis terhadap metrik tersebut dapat membantu memahami pola performa dan tingkat keterlibatan pengguna pada berbagai platform media sosial.

Dataset Social Media Performance and Engagement Data diperoleh dari platform Kaggle dan berisi data simulasi mengenai performa serta tingkat keterlibatan pengguna. Platform yang terdapat pada dataset ini meliputi LinkedIn, Instagram, YouTube, dan Medium.

Dataset ini merupakan data simulasi yang dibuat untuk keperluan analisis dan visualisasi, sehingga tidak merepresentasikan waktu atau tahun tertentu.

Sumber data:

https://www.kaggle.com/datasets/svthejaswini/social-media-performance-and-engagement-data


Set Up Dataset

Import Libraries

Mengimpor library yang diperlukan untuk analisis data dan visualisasi. Seperti:

  • ggplot2 untuk visualisasi
  • dplyr untuk manipulasi data
  • readr untuk membaca data
  • scales untuk format angka pada visualisasi
library(ggplot2)
library(dplyr)
library(readr)
library(scales)

Load Data

Memuat dataset yang berisi informasi tentang performa media sosial. Dataset ini mungkin berisi kolom seperti platform, content_type, views, likes, dan sebagainya.

data <- read_csv("social_media_performance.csv")
head(data)
## # A tibble: 6 × 15
##   post_id platform content_type topic      language region post_datetime      
##     <dbl> <chr>    <chr>        <chr>      <chr>    <chr>  <dttm>             
## 1       1 LinkedIn article      Technology UR       BR     2025-04-25 09:47:00
## 2       2 LinkedIn poll         Health     FR       JP     2025-10-29 09:44:00
## 3       3 LinkedIn article      Travel     HI       FR     2025-02-10 14:12:00
## 4       4 LinkedIn image        Sports     DE       DE     2025-04-18 22:41:00
## 5       5 LinkedIn poll         Business   DE       US     2025-04-28 10:17:00
## 6       6 LinkedIn image        Sports     FR       AU     2025-10-03 15:25:00
## # ℹ 8 more variables: hashtags <chr>, sentiment_score <dbl>, views <dbl>,
## #   likes <dbl>, comments <dbl>, shares <dbl>, engagement_rate <dbl>,
## #   is_viral <dbl>

Statistik Deskriptif

Analisis dilakukan pada variabel views.

# Ambil variabel views
views <- data$views

# Hitung statistik deskriptif
mean_views   <- mean(views)
median_views <- median(views)
mode_views   <- as.numeric(names(sort(table(views), decreasing = TRUE)[1]))

q1_views <- quantile(views, 0.25)
q3_views <- quantile(views, 0.75)

range_views <- max(views) - min(views)
var_views   <- var(views)
sd_views    <- sd(views)

# Gabungkan hasil ke dalam tabel
statistik <- data.frame(
  Mean = mean(views),
  Median = median(views),
  Modus = as.numeric(names(sort(table(views), decreasing = TRUE)[1])),
  Q1 = as.numeric(quantile(views, 0.25)),
  Q3 = as.numeric(quantile(views, 0.75)),
  Range = max(views) - min(views),
  Varians = var(views),
  Standard_Deviation = sd(views)
)

# Tampilkan hasil
knitr::kable(statistik, digits = 2, caption = "Statistik Deskriptif Variabel Views")
Statistik Deskriptif Variabel Views
Mean Median Modus Q1 Q3 Range Varians Standard_Deviation
212142.2 78193 1459 30936.5 343206.8 998906 64783933052 254526.9

Visualisasi Data

Pie Chart - Distribusi Jumlah likes Berdasarkan platform

likes_platform <- data %>%
  group_by(platform) %>%
  summarise(total_likes = sum(likes, na.rm = TRUE)) %>%
  mutate(percentage = total_likes / sum(total_likes) * 100)

ggplot(likes_platform, aes(x = "", y = total_likes, fill = platform)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  scale_fill_manual(
    values = c("#00F5D4", "#9B5DE5", "#F15BB5", "#00BBF9"),
    labels = paste0(likes_platform$platform, " (", round(likes_platform$percentage,1), "%)")
  ) +
  labs(
    title = "Distribusi Jumlah Likes Berdasarkan Platform",
    fill = "platform"
  ) +
  theme_void() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")
  )

Interpretasi

  • Deskriptif
    Sebagian besar interaksi likes berasal dari YouTube (49,6%) dan Instagram (41.2%) yang bersama-sama menyumbang sekitar 90,8% dari total likes. Platform berbasis teks seperti Medium hanya menghasilkan likes sebesar 7.0%, sedangkan LinkedIn paling rendah dengan likes sebesar 2.2%.
  • Inferensia
    Perbedaan yang sangat besar ini menunjukkan bahwa platform berbasis konten visual atau video memiliki potensi engagement yang jauh lebih tinggi dibandingkan platform profesional atau berbasis tulisan. Hal ini mengindikasikan bahwa strategi distribusi konten yang bertujuan memaksimalkan likes sebaiknya difokuskan pada platform visual.

Bar Chart - Rata-rata views Berdasarkan content_type

views_content <- data %>%
  group_by(content_type) %>%
  summarise(avg_views = mean(views, na.rm = TRUE))

ggplot(views_content, aes(x = content_type, y = avg_views, fill = content_type)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = c(
    "#00F5D4",
    "#9B5DE5",
    "#F15BB5",
    "#00BBF9",
    "#FEE440",
    "#FB5607",
    "#3A86FF",
    "#8338EC"
  )) +
  scale_y_continuous(labels = label_number(scale = 1/1000, suffix = "K")) +
  labs(
    title = "Rata-rata Views Berdasarkan Tipe Konten",
    x = "Tipe Konten",
    y = "Rata-rata Views (Ribu)"
  ) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))

Interpretasi

  • Deskriptif
    Konten video memiliki rata-rata views tertinggi (≈433 ribu), hampir 10 kali lebih tinggi dibandingkan poll (≈26 ribu) dan article (≈42 ribu). Konten visual singkat seperti reel (≈262 ribu) dan feed (≈266 ribu) juga menunjukkan performa tinggi.
  • Inferensia
    Data menunjukkan bahwa format konten berbasis video secara konsisten menghasilkan eksposur lebih besar dibandingkan format teks atau interaksi sederhana seperti polling. Hal ini mengindikasikan bahwa algoritma distribusi platform kemungkinan lebih memprioritaskan konten video.

Histogram – Distribusi Views

mean_views <- mean(data$views, na.rm = TRUE)
median_views <- median(data$views, na.rm = TRUE)

ggplot(data, aes(x = views)) +
  geom_histogram(
    bins = 30,
    fill = "#00BBF9",
    color = "white",
    alpha = 0.9
  ) +
  geom_vline(
    xintercept = mean_views,
    color = "#F15BB5",
    linetype = "dashed",
    linewidth = 1
  ) +
  geom_vline(
    xintercept = median_views,
    color = "#FB5607",
    linetype = "dashed",
    linewidth = 1
  ) +
  annotate(
    "text",
    x = mean_views,
    y = Inf,
    label = paste0("Mean: ", round(mean_views/1000,2), "K"),
    vjust = 2,
    color = "#F15BB5",
    fontface = "bold"
  ) +
  annotate(
    "text",
    x = median_views,
    y = Inf,
    label = paste0("Median: ", round(median_views/1000,2), "K"),
    vjust = 4,
    color = "#FB5607",
    fontface = "bold"
  ) +
  scale_x_continuous(labels = label_number(scale = 1/1000, suffix = "K")) +
  labs(
    title = "Distribusi Views",
    x = "Views (Ribu)",
    y = "Frekuensi"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")
  )

Interpretasi

  • Deskriptif
    Distribusi memiliki Mean sekitar 212 ribu dan Median sekitar 78 ribu yang mana menunjukkan bahwa sebagian besar konten berada pada kisaran di bawah 200 ribu views. Namun terdapat sejumlah konten dengan views sangat tinggi hingga mendekati 1 juta.
  • Inferensia
    Distribusi yang cenderung right-skewed (skew positif) menunjukkan bahwa sebagian besar konten tidak mendapatkan banyak views, sementara hanya sedikit konten yang mendapatkan views sangat tinggi. Hal ini mengindikasikan bahwa performa media sosial sangat dipengaruhi oleh faktor-faktor tertentu yang dapat menyebabkan konten menjadi viral, sementara sebagian besar konten lainnya tetap berada dalam rentang performa yang lebih rendah.

Density Plot – Kepadatan Distribusi views

mean_views <- mean(data$views, na.rm = TRUE)
median_views <- median(data$views, na.rm = TRUE)

ggplot(data, aes(x = views)) +
  geom_density(
    fill = "#00F5D4",
    alpha = 0.6
  ) +
  geom_vline(
    xintercept = mean_views,
    color = "#F15BB5",
    linetype = "dashed",
    linewidth = 1
  ) +
  geom_vline(
    xintercept = median_views,
    color = "#FB5607",
    linetype = "dashed",
    linewidth = 1
  ) +
  annotate(
    "text",
    x = mean_views,
    y = Inf,
    label = paste0("Mean: ", round(mean_views/1000,2), "K"),
    vjust = 2,
    color = "#F15BB5",
    fontface = "bold"
  ) +
  annotate(
    "text",
    x = median_views,
    y = Inf,
    label = paste0("Median: ", round(median_views/1000,2), "K"),
    vjust = 4,
    color = "#FB5607",
    fontface = "bold"
  ) +
  scale_x_continuous(labels = label_number(scale = 1/1000, suffix = "K")) +
  labs(
    title = "Density Plot Views",
    x = "Views (Ribu)",
    y = "Density"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold")
  )

Interpretasi

  • Deskriptif
    Density plot menunjukkan bahwa distribusi views memiliki puncak utama di sekitar 100 ribu hingga 200 ribu views, dengan ekor yang memanjang ke arah kanan (skew positif). Hal ini mengindikasikan bahwa sebagian besar konten mendapatkan views dalam kisaran tersebut, sementara ada beberapa konten yang mendapatkan views jauh lebih tinggi.
  • Inferensia
    Kepadatan distribusi yang menunjukkan skew positif mengindikasikan bahwa performa media sosial sangat dipengaruhi oleh faktor-faktor tertentu yang dapat menyebabkan konten menjadi viral, sementara sebagian besar konten lainnya tetap berada dalam rentang performa yang lebih rendah. Hal ini menegaskan bahwa strategi konten yang efektif sangat penting untuk meningkatkan peluang mendapatkan views tinggi.

Boxplot – Distribusi views berdasarkan platform

ggplot(data, aes(x = platform, y = views, fill = platform)) +
  geom_boxplot(
    alpha = 0.85,
    outlier.color = "#FB5607",
    outlier.size = 2
  ) +
  scale_fill_manual(values = c(
    "#00F5D4",
    "#9B5DE5",
    "#F15BB5",
    "#00BBF9"
  )) +
  scale_y_continuous(labels = label_number(scale = 1/1000, suffix = "K")) +
  labs(
    title = "Distribusi Views Berdasarkan Platform",
    x = "Platform",
    y = "Views (Ribu)"
  ) +
  theme_minimal() +
  theme(
    plot.title = element_text(hjust = 0.5, face = "bold"),
    legend.position = "none"
  )

Interpretasi

  • Deskriptif
    Boxplot menunjukkan bahwa YouTube memiliki median views tertinggi, diikuti oleh Instagram, Medium, dan LinkedIn. YouTube memiliki median views sekitar 500 ribu, jauh lebih tinggi dibandingkan Instagram yang berada sekitar 250 ribu, menunjukkan variasi performa yang lebih tinggi dibandingkan platform lainnya.
  • Inferensia
    Perbedaan yang signifikan dalam distribusi views antara platform menunjukkan bahwa jenis konten dan algoritma distribusi platform sangat mempengaruhi performa. YouTube, dengan fokus pada konten video, cenderung memberikan eksposur lebih besar dibandingkan platform lain yang mungkin lebih fokus pada konten berbasis teks atau profesional. Hal ini menegaskan pentingnya memilih platform yang sesuai dengan jenis konten untuk memaksimalkan performa media sosial.

Kesimpulan

Kesimpulan Analisis Performa Media Sosial