library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
data_penjualan <- read.csv("~/data_penjualan.csv")
head(data_penjualan)
##   ID_Transaksi    Tanggal   Cabang   Admin    Kategori           Produk
## 1      TRX0001 2025-01-01  Jakarta    Maya  Elektronik   Smartwatch Fit
## 2      TRX0002 2025-01-01 Semarang    Budi Alat Kantor  Kertas A4 (Rim)
## 3      TRX0003 2025-01-02  Bandung   Putri    Aksesori Power Bank 20000
## 4      TRX0004 2025-01-05  Bandung   Wawan  Elektronik      Earbuds Pro
## 5      TRX0005 2025-01-05 Semarang    Budi Alat Kantor  Kertas A4 (Rim)
## 6      TRX0006 2025-01-09 Surabaya Lestari  Elektronik   Smartwatch Fit
##   Harga_Satuan Jumlah Diskon_Persen Total_Penjualan Metode_Pembayaran
## 1      1800000      2             0         3600000          E-Wallet
## 2        55000      3            15          140250      Kartu Kredit
## 3       280000      6             5         1596000             Tunai
## 4       650000      5            15         2762500          E-Wallet
## 5        55000      9             0          495000             Tunai
## 6      1800000      1             0         1800000          Transfer
##   Segmen_Pelanggan Rating
## 1             Baru      5
## 2             Baru      4
## 3             Lama      5
## 4             Baru      5
## 5             Lama      5
## 6             Lama      5
# 1 Berdasarkan Total_Penjualan, produk apa yang memiliki penjualan paling besar, dan berapa nilainya? Sebagai pembanding, produk apa yang paling banyak terjual berdasarkan jumlah unit (Jumlah)?

library(dplyr)

penjualan <- read.csv("data_penjualan.csv")

penjualan %>%
  group_by(Produk) %>%
  summarise(Total = sum(Total_Penjualan),
            Unit = sum(Jumlah)) %>%
  arrange(desc(Total))
## # A tibble: 12 × 3
##    Produk                 Total  Unit
##    <chr>                  <int> <int>
##  1 Smartphone X5      314160000    79
##  2 Laptop Ultra 14    281675000    34
##  3 Earbuds Pro        158340000   270
##  4 Smartwatch Fit      70560000    42
##  5 Rak Buku Minimalis  59815000    94
##  6 Printer Tinta       55417500    44
##  7 Tas Ransel Laptop   47162500   146
##  8 Meja Kerja Lipat    34637500    44
##  9 Power Bank 20000    19362000    78
## 10 Kursi Ergonomis     17100000    13
## 11 Kertas A4 (Rim)     14789500   289
## 12 Paket Alat Tulis    11844000   115
penjualan %>%
  group_by(Produk) %>%
  summarise(Unit = sum(Jumlah)) %>%
  arrange(desc(Unit))
## # A tibble: 12 × 2
##    Produk              Unit
##    <chr>              <int>
##  1 Kertas A4 (Rim)      289
##  2 Earbuds Pro          270
##  3 Tas Ransel Laptop    146
##  4 Paket Alat Tulis     115
##  5 Rak Buku Minimalis    94
##  6 Smartphone X5         79
##  7 Power Bank 20000      78
##  8 Meja Kerja Lipat      44
##  9 Printer Tinta         44
## 10 Smartwatch Fit        42
## 11 Laptop Ultra 14       34
## 12 Kursi Ergonomis       13
# 2 Untuk kategori Elektronik dengan diskon minimal 10%, hitung total penjualan per cabang. Cabang mana yang tertinggi dan berapa nilainya?

penjualan %>%
  filter(Kategori == "Elektronik",
         Diskon_Persen >= 10) %>%
  group_by(Cabang) %>%
  summarise(Total = sum(Total_Penjualan)) %>%
  arrange(desc(Total))
## # A tibble: 4 × 2
##   Cabang       Total
##   <chr>        <int>
## 1 Surabaya 155022500
## 2 Jakarta   92865000
## 3 Semarang  52305000
## 4 Bandung   32017500
# 3 a. Pada cabang Jakarta dengan metode pembayaran E-Wallet, berapa jumlah transaksi dan rata-rata Total_Penjualan per transaksi?

penjualan %>%
  filter(Cabang == "Jakarta",
         Metode_Pembayaran == "E-Wallet") %>%
  summarise(Jumlah_Transaksi = n(),
            Rata_Rata = mean(Total_Penjualan))
##   Jumlah_Transaksi Rata_Rata
## 1               38   3793776
# 3 b. Di cabang Jakarta, metode pembayaran apa yang memiliki rata-rata Total_Penjualan per transaksi tertinggi?

penjualan %>%
  filter(Cabang == "Jakarta") %>%
  group_by(Metode_Pembayaran) %>%
  summarise(Rata_Rata = mean(Total_Penjualan)) %>%
  arrange(desc(Rata_Rata))
## # A tibble: 4 × 2
##   Metode_Pembayaran Rata_Rata
##   <chr>                 <dbl>
## 1 Kartu Kredit       4906550 
## 2 E-Wallet           3793776.
## 3 Transfer           3194140 
## 4 Tunai              2838809.
# 4 Ambil hanya transaksi dengan Jumlah ≥ 5 unit dan Diskon_Persen > 0. Admin siapa yang memiliki total penjualan tertinggi pada subset tersebut, berapa nilainya, dan berapa transaksi yang ia tangani?

penjualan %>%
  filter(Jumlah >= 5, Diskon_Persen > 0) %>%
  group_by(Admin) %>%
  summarise(Total = sum(Total_Penjualan),
            Transaksi = n()) %>%
  arrange(desc(Total))
## # A tibble: 9 × 3
##   Admin      Total Transaksi
##   <chr>      <int>     <int>
## 1 Rina    24523750         9
## 2 Lestari 24267500         7
## 3 Agus    23678250         9
## 4 Doni    22571250         9
## 5 Maya    20709000         9
## 6 Wawan   19378750         7
## 7 Sari    13395500        10
## 8 Putri    7640500         5
## 9 Budi     6723750         6
# 5 Lakukan analisis eksplorasi bebas pada data tersebut. Temukan sebanyak mungkin insight yang bermanfaat bagi manajemen perusahaan. Untuk setiap temuan, sertakan (i) kode atau ringkasan hasil, (ii) interpretasi, dan (iii) rekomendasi tindakan bisnis. Arah analisis boleh mencakup waktu, produk/kategori, cabang, diskon, admin, pelanggan, metode pembayaran, rating, dan kualitas data. 

# A. Penjualan per kategori

penjualan %>%
  group_by(Kategori) %>%
  summarise(Total = sum(Total_Penjualan)) %>%
  arrange(desc(Total))
## # A tibble: 4 × 2
##   Kategori        Total
##   <chr>           <int>
## 1 Elektronik  824735000
## 2 Furnitur    111552500
## 3 Alat Kantor  82051000
## 4 Aksesori     66524500
# B. Penjualan per cabang 

penjualan %>%
  group_by(Cabang) %>%
  summarise(Total = sum(Total_Penjualan)) %>%
  arrange(desc(Total))
## # A tibble: 4 × 2
##   Cabang       Total
##   <chr>        <int>
## 1 Surabaya 342730000
## 2 Jakarta  321342250
## 3 Semarang 251269250
## 4 Bandung  169521500
# C. Penjualan per bulan 

penjualan$Tanggal <- as.Date(penjualan$Tanggal)

penjualan %>%
  mutate(Bulan = format(Tanggal, "%Y-%m")) %>%
  group_by(Bulan) %>%
  summarise(Total = sum(Total_Penjualan))
## # A tibble: 12 × 2
##    Bulan       Total
##    <chr>       <int>
##  1 2025-01  79103000
##  2 2025-02  86825750
##  3 2025-03  88939750
##  4 2025-04 116030250
##  5 2025-05 134131250
##  6 2025-06  76403000
##  7 2025-07  64659750
##  8 2025-08  94509250
##  9 2025-09  74597000
## 10 2025-10  98395750
## 11 2025-11  88967500
## 12 2025-12  82300750
# D. Pengaruh diskon

penjualan %>%
  group_by(Diskon_Persen) %>%
  summarise(Rata_Rata = mean(Total_Penjualan))
## # A tibble: 6 × 2
##   Diskon_Persen Rata_Rata
##           <int>     <dbl>
## 1             0  4411352.
## 2             5  2764628.
## 3            10  3049625 
## 4            15  2697475 
## 5            20  3080800 
## 6            25  3742031.
# E. Kinerja admin

penjualan %>%
  group_by(Admin) %>%
  summarise(Total = sum(Total_Penjualan)) %>%
  arrange(desc(Total))
## # A tibble: 9 × 2
##   Admin       Total
##   <chr>       <int>
## 1 Agus    185566750
## 2 Maya    163549000
## 3 Lestari 157163250
## 4 Budi    127323500
## 5 Rina    123945750
## 6 Wawan   109446500
## 7 Doni     93570250
## 8 Sari     64223000
## 9 Putri    60075000
# F. Metode pembayaran

penjualan %>%
  group_by(Metode_Pembayaran) %>%
  summarise(Total = sum(Total_Penjualan)) %>%
  arrange(desc(Total))
## # A tibble: 4 × 2
##   Metode_Pembayaran     Total
##   <chr>                 <int>
## 1 E-Wallet          455521000
## 2 Transfer          325322750
## 3 Kartu Kredit      178735500
## 4 Tunai             125283750
# G. Rating pelanggan

penjualan %>%
  group_by(Rating) %>%
  summarise(Jumlah = n())
## # A tibble: 5 × 2
##   Rating Jumlah
##    <dbl>  <int>
## 1      2      2
## 2      3     63
## 3      4    132
## 4      5     95
## 5     NA      8
# H. Pemeriksaan kualitas data

colSums(is.na(penjualan))
##      ID_Transaksi           Tanggal            Cabang             Admin 
##                 0                 0                 0                 0 
##          Kategori            Produk      Harga_Satuan            Jumlah 
##                 0                 0                 0                 0 
##     Diskon_Persen   Total_Penjualan Metode_Pembayaran  Segmen_Pelanggan 
##                 0                 0                 0                 0 
##            Rating 
##                 8
sum(duplicated(penjualan))
## [1] 0