1 Kasus Bisnis

Sebuah perusahaan ingin melakukan profiling konsumennya untuk mengetahui pola konsumsi berdasarkan pendapatan, usia dan tempat tinggal.

2 Persiapan Data

2.1 Libraries and Setup

# chunk options
knitr::opts_chunk$set(
  message = FALSE,
  warning = FALSE,
  fig.align = "center",
  comment = "#>"
)

# scientific notation
options(scipen = 9999)
# import libs
library(lubridate)
library(ggplot2)
library(leaflet)
library(scales)
library(tidyr)
library(colorspace)
library(ggridges)
library(dplyr)
library(ggpubr)
library(glue)
library(plotly)

2.2 Impor Dataset

Mengimpor dataset yang akan digunakan dan memberi nama variabel

konsumen <- read.csv("profil_konsumen.csv")
names(konsumen) <- c("propinsi", "usia","income","konsumsi","kerja","shopping")
konsumen

propinsi: propinsi tempat tinggal usia : usia konsumen income : penghasilan dalam seminggu (Rp.) kerja : jam kerja selama seminggu shopping: waktu yang dihabiskan untuk belanja dalam seminggu (jam)

2.3 Merubah Jenis Variabel

Variabel propinsi dan usia masih dalam bentuk character. Oleh karena itu perlu dirubah

konsumen<-konsumen%>% 
  mutate(propinsi = as.factor(propinsi))%>%
  mutate(usia = as.factor(usia))
konsumen

3 Visualisasi Data

3.1 Pendapatan Konsumen Berdasarkan Propinsi

Pada bagian ini akan dibuat pengikhtisaran data (data summarization) berdasarkan propinsi. Selain itu akan dilakukan proses visualisasi data. Berikut ini adalah prosesnya.

prop_income<-konsumen %>% 
  group_by(propinsi) %>% 
  summarise(rata_rata_income=mean(income,round(1)))

prop_income
plot_prop_income <- prop_income%>% 
  ggplot(aes(x = rata_rata_income, 
             y = reorder(propinsi,rata_rata_income),
             text = glue("Rata-Rata Income:{rata_rata_income}"))) +
  geom_col(fill = c("darkblue", "black", "red", "yellow","darkgreen")) +
  labs( x = NULL,
        y = NULL,
        title = "Rata-rata Pendapatan Konsumen",
        subtitle = "Berdasarkan Propinsi",
        caption = "Konsumen DKI Jakarta memiliki rata-rata tertinggi")+ 
    scale_y_discrete(labels = wrap_format(30)) + 
  scale_x_continuous(labels = dollar_format(prefix = ""))
ggplotly(plot_prop_income, tooltip = "text")

Berdasarkan hasil visualisasi data, rata-rata pendapatan konsumen dari propinsi DKI Jakarta tertinggi dibandingkan dengan propinsi lainnya.

3.2 Pendapatan Konsumen Berdasarkan Usia

Pada bagian ini akan dibuat pengikhtisaran data (data summarization) berdasarkan usia. Selain itu akan dilakukan proses visualisasi data. Berikut ini adalah prosesnya.

prop_usia<-konsumen %>% 
  group_by(usia) %>% 
  summarise(rata_rata_income=mean(income,round(1)))

prop_usia
plot_prop_usia <- prop_usia%>% 
  ggplot(aes(x = rata_rata_income, 
             y = reorder(usia,rata_rata_income),
             text = glue("Rata-Rata Income:{rata_rata_income}"))) +
  geom_col(fill = c("purple", "lightgreen", "red")) +
  labs( x = NULL,
        y = NULL,
        title = "Rata-rata Pendapatan Konsumen",
        subtitle = "Berdasarkan Usia",
        caption = "Usia 41-50 memiliki rata-rata tertinggi")+ 
    scale_y_discrete(labels = wrap_format(30)) + 
  scale_x_continuous(labels = dollar_format(prefix = ""))
ggplotly(plot_prop_usia, tooltip = "text")

Berdasarkan hasil visualisasi data, rata-rata pendapatan konsumen usia 41-50 tahun adalah tertinggi dibandingkan dengan kelompok usia lainnya. Usia 41-50 tahun biasanya menduduki posisi-posisi penting di tempat kerja masing-masing sehingga pendapatannya tertinggi.

4 Analsisi Korelasi

4.1 Hubungan Antara Pendapatan dengan Konsumsi

Pada bagian ini akan dibuat visualisasi hubungan antara variabel pendapatan dengan konsumsi. Berikut adalah prosesnya.

plot_income_konsumsi<-konsumen %>% 
ggplot(aes(income, 
           konsumsi)) +
  geom_point(aes(),
             show.legend = T)+
  geom_smooth()+
  labs(title = "Hubungan Pendapatan Dengan Konsumsi",
       subtitle = "Pendapatan Konsumen Terkait dengan Konsumsi",
       x = "Pendapatan",
       y = "Konsumsi")+
  theme(legend.position = "bottom")
ggplotly(plot_income_konsumsi)

Terdapat hubungan positif antara pendapatan dengan konsumsi. Dari visualisasi tersebut, semakin besar pendapatan maka akan semakin tinggi tingkat konsumsinya.

4.2 Hubungan Antara Pendapatan dengan Aktivitas Belanja

Pada bagian ini akan dibuat visualisasi hubungan antara variabel pendapatan dengan aktivitas belanja. Berikut adalah prosesnya.

plot_income_shopping<-konsumen %>% 
ggplot(aes(income, 
           shopping)) +
  geom_point(aes(),
             show.legend = T)+
  geom_smooth()+
  labs(title = "Hubungan Pendapatan Dengan Jam Belanja",
       subtitle = "Pendapatan Konsumen Terkait dengan Jam Belanja",
       x = "Pendapatan",
       y = "Jam Belanja Per Minggu")+
  theme(legend.position = "bottom")
ggplotly(plot_income_shopping)

Terdapat hubungan positif antara pendapatan dengan aktivitas belanja. Dari visualisasi tersebut, semakin besar pendapatan maka akan semakin tinggi aktivitas belanja dalam seminggu.

4.3 Hubungan Antara Jam Kerja dengan Pendapatan

Pada bagian ini akan dibuat visualisasi hubungan antara variabel jam kerja dengan aktivitas pendapatan. Berikut adalah prosesnya.

plot_kerja_income<-konsumen %>% 
ggplot(aes(kerja, 
           income)) +
  geom_point(aes(),
             show.legend = T)+
  geom_smooth()+
  labs(title = "Hubungan Jam Kerja dengan Pendapatan",
       subtitle = "Jam Kerja Terkait dengan Pendapatan",
       x = "Jam Kerja",
       y = "Pendapatan")+
  theme(legend.position = "bottom")
ggplotly(plot_kerja_income)

Terdapat hubungan positif antara jam kerja dengan pendapatan. Dari visualisasi tersebut, semakin banyak jam kerja maka akan semakin tigggi pendapatan yang diperoleh.