1 Pendahuluan

Laporan ini akan menganalisis performa penjualan retail berdasarkan data yang tersedia. Tujuan dari analisis ini adalah untuk mendapatkan insight tentang tren penjualan, kategori produk yang paling menguntungkan, dan segmen pelanggan yang paling berkontribusi terhadap pendapatan.

1.1 Deskripsi Data

  • Dataset “retail.csv” adalah dataset yang berisi informasi tentang transaksi penjualan retail.
  • Data ini dikumpulkan dari periode tertentu dan mencakup berbagai informasi seperti tanggal pemesanan, jenis pengiriman, segmentasi pelanggan, dan lainnya.
  • Dataset ini digunakan untuk menganalisis performa penjualan dan keuntungan perusahaan dalam konteks industri ritel.
data <- read.csv("data_input/retail.csv")
n_rows <- nrow(data)
n_cols <-  ncol(data)

Dataset ini terdiri dari sebanyak 9994 baris dan 15 kolom.

1.2 Penjelasan Kolom

head(data)

Berikut Penjelasan setiap kolom dalam dataset :

  • Row.ID = Nomer baris
  • Order.ID = Unique ID pemesanan
  • Order.Date = Tanggal pemesanan
  • Ship.Date = Tanggal pengiriman barang
  • Ship.Mode = Jenis pengiriman yang dipilih customer
  • Customer.ID = Unique ID customer
  • Segment = Segmentasi/kategori custoemr
  • Product.ID = Unique ID barang
  • Category = Kateogri barang
  • Sub.Category = Sub Kategori barang
  • Product.Name = Nama produk barang
  • Sales = Total sales dari barang yang dibeli oleh customer
  • Quantity = Total barang yang dibeli oleh customer
  • Discount = Total diskon yang diberikan kepada customer
  • Profit = Total keuntungan yang didapatkan oleh perusahaan
colSums(is.na(data))
#>       Row.ID     Order.ID   Order.Date    Ship.Date    Ship.Mode  Customer.ID 
#>            0            0            0            0            0            0 
#>      Segment   Product.ID     Category Sub.Category Product.Name        Sales 
#>            0            0            0            0            0            0 
#>     Quantity     Discount       Profit 
#>            0            0            0

Data yang digunakan tidak meiliki missinng value

1.3 Ubah Tipe Data

str(data)
#> 'data.frame':    9994 obs. of  15 variables:
#>  $ Row.ID      : int  1 2 3 4 5 6 7 8 9 10 ...
#>  $ Order.ID    : chr  "CA-2016-152156" "CA-2016-152156" "CA-2016-138688" "US-2015-108966" ...
#>  $ Order.Date  : chr  "11/8/16" "11/8/16" "6/12/16" "10/11/15" ...
#>  $ Ship.Date   : chr  "11/11/16" "11/11/16" "6/16/16" "10/18/15" ...
#>  $ Ship.Mode   : chr  "Second Class" "Second Class" "Second Class" "Standard Class" ...
#>  $ Customer.ID : chr  "CG-12520" "CG-12520" "DV-13045" "SO-20335" ...
#>  $ Segment     : chr  "Consumer" "Consumer" "Corporate" "Consumer" ...
#>  $ Product.ID  : chr  "FUR-BO-10001798" "FUR-CH-10000454" "OFF-LA-10000240" "FUR-TA-10000577" ...
#>  $ Category    : chr  "Furniture" "Furniture" "Office Supplies" "Furniture" ...
#>  $ Sub.Category: chr  "Bookcases" "Chairs" "Labels" "Tables" ...
#>  $ Product.Name: chr  "Bush Somerset Collection Bookcase" "Hon Deluxe Fabric Upholstered Stacking Chairs, Rounded Back" "Self-Adhesive Address Labels for Typewriters by Universal" "Bretford CR4500 Series Slim Rectangular Table" ...
#>  $ Sales       : num  262 731.9 14.6 957.6 22.4 ...
#>  $ Quantity    : int  2 3 2 5 2 7 4 6 3 5 ...
#>  $ Discount    : num  0 0 0 0.45 0.2 0 0 0.2 0.2 0 ...
#>  $ Profit      : num  41.91 219.58 6.87 -383.03 2.52 ...

Dari struktur data diatas, beberapa kolom perlu diubah tipe datanya

data$Order.Date <-  as.Date(data$Order.Date, format = "%m/%d/%y")
data$Ship.Date <-  as.Date(data$Ship.Date, format = "%m/%d/%y")
data$Ship.Mode <-  as.factor(data$Ship.Mode)
data$Segment <-  as.factor(data$Segment)
data$Category <-  as.factor(data$Category)
data$Sub.Category <-  as.factor(data$Sub.Category)
data$Row.ID <-  as.character(data$Row.ID)

1.4 Insight Awal Data

summary(data)
#>     Row.ID            Order.ID           Order.Date        
#>  Length:9994        Length:9994        Min.   :2014-01-03  
#>  Class :character   Class :character   1st Qu.:2015-05-23  
#>  Mode  :character   Mode  :character   Median :2016-06-26  
#>                                        Mean   :2016-04-30  
#>                                        3rd Qu.:2017-05-14  
#>                                        Max.   :2017-12-30  
#>                                                            
#>    Ship.Date                   Ship.Mode    Customer.ID       
#>  Min.   :2014-01-07   First Class   :1538   Length:9994       
#>  1st Qu.:2015-05-27   Same Day      : 543   Class :character  
#>  Median :2016-06-29   Second Class  :1945   Mode  :character  
#>  Mean   :2016-05-03   Standard Class:5968                     
#>  3rd Qu.:2017-05-18                                           
#>  Max.   :2018-01-05                                           
#>                                                               
#>         Segment      Product.ID                   Category   
#>  Consumer   :5191   Length:9994        Furniture      :2121  
#>  Corporate  :3020   Class :character   Office Supplies:6026  
#>  Home Office:1783   Mode  :character   Technology     :1847  
#>                                                              
#>                                                              
#>                                                              
#>                                                              
#>       Sub.Category  Product.Name           Sales              Quantity    
#>  Binders    :1523   Length:9994        Min.   :    0.444   Min.   : 1.00  
#>  Paper      :1370   Class :character   1st Qu.:   17.280   1st Qu.: 2.00  
#>  Furnishings: 957   Mode  :character   Median :   54.490   Median : 3.00  
#>  Phones     : 889                      Mean   :  229.858   Mean   : 3.79  
#>  Storage    : 846                      3rd Qu.:  209.940   3rd Qu.: 5.00  
#>  Art        : 796                      Max.   :22638.480   Max.   :14.00  
#>  (Other)    :3613                                                         
#>     Discount          Profit         
#>  Min.   :0.0000   Min.   :-6599.978  
#>  1st Qu.:0.0000   1st Qu.:    1.729  
#>  Median :0.2000   Median :    8.666  
#>  Mean   :0.1562   Mean   :   28.657  
#>  3rd Qu.:0.2000   3rd Qu.:   29.364  
#>  Max.   :0.8000   Max.   : 8399.976  
#> 

Berdasrkan deskripsi data diatas, dapat dipeoleh insight sementara: - Kategori produk dengan penjulan terbanyak adalah Office Supplies sebanyak 6026, diikuti oleh Furniture dan Technology - Segment pasae degan jumlah terbnayak ialah Consumer sebanyak 5191, diikuti oleh Corporate dan Home Office - Jenis Pengiriman yang paling banyak dipilh oleh pelanggan ialah Standard Class, diikuti oleh Second Class dan First Class. Jenis Pengiriman Same Day tidak banyak dipilih oleh pelanggan. - Rata-rata keuntungan dari total penjualan ialah 28.657

# Histogram untuk kolom 'Sales'
hist(data$Sales)

# Grafik batang untuk kolom 'Category'
barplot(table(data$Category))

# Statistik Deskriptif

1.5 Deskripsi untuk variabel numerik

sales_summary <- summary(data$Sales)
quantitiy_summary <-  summary(data$Quantity)
profit_summary <-  summary(data$Profit)

# Simpan kedalam dataframe
numeric_summary <-  data.frame(Variable = c("Sales", "Quantity", "Profit"),
                               Minimum = c (sales_summary[1], quantitiy_summary[1], profit_summary[1]),
                               Q1 = c (sales_summary[2], quantitiy_summary[2], profit_summary[2]),
                               Median = c(sales_summary[3], quantitiy_summary[3], profit_summary[3]),
                               Mean = c(sales_summary[4], quantitiy_summary[4], profit_summary[4]),
                               Q3 = c(sales_summary[5], quantitiy_summary[5], profit_summary[5]),
                               Maximum = c(sales_summary[6], quantitiy_summary[6], profit_summary[6]))
numeric_summary

1.6 Analisis frekuensi untuk variabel kategorikal

catery_freq <-  table(data$Category)
sub_category_freq <-  table(data$Sub.Category)
segment_freq <-  table(data$Segment)

# tampilkan
catery_freq
#> 
#>       Furniture Office Supplies      Technology 
#>            2121            6026            1847
sub_category_freq
#> 
#> Accessories  Appliances         Art     Binders   Bookcases      Chairs 
#>         775         466         796        1523         228         617 
#>     Copiers   Envelopes   Fasteners Furnishings      Labels    Machines 
#>          68         254         217         957         364         115 
#>       Paper      Phones     Storage    Supplies      Tables 
#>        1370         889         846         190         319
segment_freq
#> 
#>    Consumer   Corporate Home Office 
#>        5191        3020        1783

2 Analisis Penjualan

Analisis ini bertujuan untuk menganalisis performa penjualan retail berdasarkan data yang tersedia, analisis dilakukan berdasarkan kategori dan sub kategori barang.

2.1 Analisis Penjualan Berdasarkan Kategori dan Subkategori Barang

# Menghitung total penjualan berdasarkan kategori barang
sales_by_category <- aggregate(Sales ~ Category, data, sum)

# Menghitung total penjualan berdasarkan subkategori barang
sales_by_subcategory <- aggregate(Sales ~ Sub.Category, data, sum)

# Mengurutkan kategori dan subkategori berdasarkan total penjualan
sales_by_category <- sales_by_category[order(sales_by_category$Sales, decreasing = TRUE), ]
sales_by_subcategory <- sales_by_subcategory[order(sales_by_subcategory$Sales, decreasing = TRUE), ]

# Membuat plot batang untuk total penjualan berdasarkan kategori barang
barplot(sales_by_category$Sales, names.arg = sales_by_category$Category,
        main = "Total Penjualan berdasarkan Kategori Barang",
        xlab = "Kategori", ylab = "Total Penjualan")

# Membuat plot batang untuk total penjualan berdasarkan subkategori barang
barplot(sales_by_subcategory$Sales, names.arg = sales_by_subcategory$Sub.Category,
        main = "Total Penjualan berdasarkan Subkategori Barang",
        xlab = "Subkategori", ylab = "Total Penjualan")

Total penjualan dihitung untuk setiap kategori dan subkategori barang. Hasilnya, kategori penjualan terbanyak adalah Technology diikuti oleh furniture dan office supplies. Subkategori barang dengan penjualan terbanyak adalah Phones, diikuti oleh tables, dan Accessories.

2.2 Analisis Penjualan Berdasarkan Segmen Pelanggan

segment_sales <- aggregate(Sales ~ Segment, data, sum)

# Menampilkan grafik batang untuk penjualan berdasarkan segmen pelanggan
barplot(segment_sales$Sales, names.arg = segment_sales$Segment,
        main = "Penjualan Berdasarkan Segmen Pelanggan",
        xlab = "Segmen Pelanggan", ylab = "Total Penjualan")

Segmen pelanggan dengan total penjualan terbanyak adalah Consumer, diikuti oleh Corporate, dan Home Office.

3 Analisis Pengiriman

Analisis pengiriman bertujuan untuk memahami pola pengiriman yang digunakan oleh pelanggan. Dilakukan analisis frekuensi jenis pengiriman yang dipilih oleh pelanggan.

3.1 Jenis Pengiriman yang dipilih Pelanggan

ship_mode_sales <- aggregate(Sales ~ Ship.Mode, data, sum)

# Menampilkan grafik batang untuk penjualan berdasarkan jenis pengiriman
barplot(ship_mode_sales$Sales, names.arg = ship_mode_sales$Ship.Mode,
        main = "Penjualan Berdasarkan Jenis Pengiriman",
        xlab = "Jenis Pengiriman", ylab = "Total Penjualan")

Jenis pengiriman yang paling banyak dipilih oleh pelanggan ialah Standard Class, diikuti oleh Second Class, dan First Class.

# Menghitung selisih antara Order.Date dan Ship.Date untuk mendapatkan waktu pengiriman
data$Ship.Time <- data$Ship.Date - data$Order.Date

# Mengkonversi Ship.Time menjadi angka bulat (jumlah hari)
data$Ship.Time <- as.integer(data$Ship.Time)

# Subset data hanya untuk segment "Consumer"
consumer_data <- data[data$Segment == "Consumer", ]

# Menampilkan data
head(consumer_data)

3.2 Rata-rata waktu pengiriman

Dalam analisis ini, dilakukan perhitungan rata-rata waktu pengiriman berdasarkan segmen pelanggan dan kategori barang

mean_duration <- aggregate(Ship.Time ~ Segment + Category, data, mean)
mean_duration

4 Analisis Keuntungan

Analisis ini dilakukan untuk memahami tingkat keuntungan perusahaan dari penjualan retail.

# Hitung total keuntungan untuk setiap transaksi atau kategori produk
profit <- aggregate(Profit ~ Category + Sub.Category, data, sum)

profit
summary(profit)
#>             Category      Sub.Category     Profit      
#>  Furniture      :4   Accessories: 1    Min.   :-17725  
#>  Office Supplies:9   Appliances : 1    1st Qu.:  3385  
#>  Technology     :4   Art        : 1    Median : 13059  
#>                      Binders    : 1    Mean   : 16847  
#>                      Bookcases  : 1    3rd Qu.: 30222  
#>                      Chairs     : 1    Max.   : 55618  
#>                      (Other)    :11

Analisis ini dilakukan untuk memahami tingkat keuntungan perusahaan dari penjualan retail.

  • Rata-rata keuntungan dari total penjualan ialah 16.847
  • Keuntungan berikisar antara -17.725 hingga 55.618
# Tampilkan grafik batang untuk analisis keuntungan
barplot(profit$Profit, main = "Keuntungan", xlab = "Transaksi", ylab = "Keuntungan")

5 Kesimpulan

Insight yang diperoleh :

  • Kategori Furniture memiliki potensi penjualan yang tinggi, namun perlu dilakukan evaluasi lebih lanjut terhadap sub-kategori seperti Bookcases yang menghasilkan kerugian. Tindakan perbaikan dan strategi penjualan yang tepat perlu diterapkan untuk meningkatkan profitabilitas sub-kategori tersebut.

  • Kategori Technology,merupakan kontributor utama terhadap keuntungan perusahaan. Hal ini menunjukkan bahwa ada peluang untuk mengoptimalkan penjualan produk teknologi untuk meningkatkan profitabilitas secara keseluruhan.

  • Segment pelanggan Consumer memiliki jumlah transaksi terbanyak, menunjukkan bahwa fokus pada konsumen individu dapat menjadi strategi yang efektif dalam meningkatkan penjualan dan profitabilitas. Perusahaan dapat mengarahkan upaya pemasaran dan penjualan untuk memenuhi kebutuhan dan preferensi pelanggan individu.

  • Evaluasi lebih lanjut terhadap jenis pengiriman yang dipilih oleh pelanggan, seperti penggunaan Standar Class yang paling dominan, dapat memberikan wawasan tambahan untuk meningkatkan efisiensi pengiriman dan kepuasan pelanggan.

Dalam analisis ini, ditemukan insight awal mengenai tren penjualan, kategori produk yang paling menguntungkan, dan segmentasi pelanggan yang paling berkontribusi terhadap pendapatan. Selain itu, dilakukan analisis lebih lanjut terkait penjualan berdasarkan kategori dan subkategori barang untuk mendapatkan informasi lebih detail. Analisis ini dapat membantu perusahaan dalam pengambilan keputusan strategis terkait peningkatan performa penjualan dan keuntungan.