Deskripsi Insight

Analisis ini bertujuan untuk mengevaluasi apakah kinerja penjualan dan profit pada Coffee Chain telah sesuai dengan target (budget) yang ditetapkan. Selain itu, analisis ini juga bertujuan untuk mengidentifikasi faktor-faktor yang menyebabkan ketidaksesuaian antara realisasi dan target, baik dari sisi wilayah maupun produk.

Eksplorasi Data

library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.2
## 
## 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
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
#Import Data
data <- read_excel("C:/Users/asus/Downloads/1. Tugas SIM 2025B - Coffee Chain Datasets/1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx")
#Melihat Struktur Data
str(data)
## tibble [4,248 × 20] (S3: tbl_df/tbl/data.frame)
##  $ Area Code     : num [1:4248] 719 970 970 303 303 720 970 719 970 719 ...
##  $ Date          : POSIXct[1:4248], format: "2012-01-01" "2012-01-01" ...
##  $ Market        : chr [1:4248] "Central" "Central" "Central" "Central" ...
##  $ Market Size   : chr [1:4248] "Major Market" "Major Market" "Major Market" "Major Market" ...
##  $ Product       : chr [1:4248] "Amaretto" "Colombian" "Decaf Irish Cream" "Green Tea" ...
##  $ Product Line  : chr [1:4248] "Beans" "Beans" "Beans" "Leaves" ...
##  $ Product Type  : chr [1:4248] "Coffee" "Coffee" "Coffee" "Tea" ...
##  $ State         : chr [1:4248] "Colorado" "Colorado" "Colorado" "Colorado" ...
##  $ Type          : chr [1:4248] "Regular" "Regular" "Decaf" "Regular" ...
##  $ Budget COGS   : num [1:4248] 90 80 100 30 60 80 140 50 50 40 ...
##  $ Budget Margin : num [1:4248] 130 110 140 50 90 130 160 80 70 70 ...
##  $ Budget Profit : num [1:4248] 100 80 110 30 70 80 110 20 40 20 ...
##  $ Budget Sales  : num [1:4248] 220 190 240 80 150 210 300 130 120 110 ...
##  $ COGS          : num [1:4248] 89 83 95 44 54 72 170 63 60 58 ...
##  $ Inventory     : num [1:4248] 777 623 821 623 456 ...
##  $ Margin        : num [1:4248] 130 107 139 56 80 108 171 87 80 72 ...
##  $ Marketing     : num [1:4248] 24 27 26 14 15 23 47 57 19 22 ...
##  $ Profit        : num [1:4248] 94 68 101 30 54 53 99 0 33 17 ...
##  $ Sales         : num [1:4248] 219 190 234 100 134 180 341 150 140 130 ...
##  $ Total Expenses: num [1:4248] 36 39 38 26 26 55 72 87 47 55 ...
#Ringkasan Data
summary(data)
##    Area Code          Date                        Market         
##  Min.   :203.0   Min.   :2012-01-01 00:00:00   Length:4248       
##  1st Qu.:417.0   1st Qu.:2012-06-23 12:00:00   Class :character  
##  Median :573.0   Median :2012-12-16 12:00:00   Mode  :character  
##  Mean   :582.3   Mean   :2012-12-15 22:00:00                     
##  3rd Qu.:772.0   3rd Qu.:2013-06-08 12:00:00                     
##  Max.   :985.0   Max.   :2013-12-01 00:00:00                     
##  Market Size          Product          Product Line       Product Type      
##  Length:4248        Length:4248        Length:4248        Length:4248       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##     State               Type            Budget COGS     Budget Margin   
##  Length:4248        Length:4248        Min.   :  0.00   Min.   :-210.0  
##  Class :character   Class :character   1st Qu.: 30.00   1st Qu.:  50.0  
##  Mode  :character   Mode  :character   Median : 50.00   Median :  70.0  
##                                        Mean   : 74.83   Mean   : 100.8  
##                                        3rd Qu.: 90.00   3rd Qu.: 130.0  
##                                        Max.   :450.00   Max.   : 690.0  
##  Budget Profit      Budget Sales         COGS          Inventory      
##  Min.   :-320.00   Min.   :   0.0   Min.   :  0.00   Min.   :-3534.0  
##  1st Qu.:  20.00   1st Qu.:  80.0   1st Qu.: 43.00   1st Qu.:  432.0  
##  Median :  40.00   Median : 130.0   Median : 60.00   Median :  619.0  
##  Mean   :  60.91   Mean   : 175.6   Mean   : 84.43   Mean   :  749.4  
##  3rd Qu.:  80.00   3rd Qu.: 210.0   3rd Qu.:100.00   3rd Qu.:  910.5  
##  Max.   : 560.00   Max.   :1140.0   Max.   :364.00   Max.   : 8252.0  
##      Margin          Marketing          Profit           Sales    
##  Min.   :-302.00   Min.   :  0.00   Min.   :-638.0   Min.   : 17  
##  1st Qu.:  52.75   1st Qu.: 13.00   1st Qu.:  17.0   1st Qu.:100  
##  Median :  76.00   Median : 22.00   Median :  40.0   Median :138  
##  Mean   : 104.29   Mean   : 31.19   Mean   :  61.1   Mean   :193  
##  3rd Qu.: 132.00   3rd Qu.: 39.00   3rd Qu.:  92.0   3rd Qu.:230  
##  Max.   : 613.00   Max.   :156.00   Max.   : 778.0   Max.   :912  
##  Total Expenses  
##  Min.   : 10.00  
##  1st Qu.: 33.00  
##  Median : 46.00  
##  Mean   : 54.06  
##  3rd Qu.: 65.00  
##  Max.   :190.00

Analisis Data

data <- data %>%
  mutate(
    Sales_Diff = Sales - `Budget Sales`,
    Profit_Diff = Profit - `Budget Profit`,
    Achieved = ifelse(Sales >= `Budget Sales`, "Tercapai", "Tidak Tercapai")
  )

#Melihat jumlah data yang mencapai target
table(data$Achieved)
## 
##       Tercapai Tidak Tercapai 
##           3215           1033

Berdasarkan hasil klasifikasi pencapaian target, terlihat bahwa masih terdapat sejumlah data yang tidak mencapai target penjualan, yang menunjukkan bahwa kinerja perusahaan belum optimal secara konsisten.

Visualisasi Data

#Budget VS Actual
ggplot(data, aes(x = `Budget Sales`, y = Sales)) +
  geom_point(color = "blue", alpha = 0.6) +
  geom_abline(slope = 1, intercept = 0, color = "red") +
  theme_minimal() +
  labs(title = "Perbandingan Budget Sales vs Actual Sales",
       x = "Budget Sales",
       y = "Actual Sales")

#Performa per Region
region_perf <- data %>%
  group_by(State) %>%
  summarise(Avg_Profit_Diff = mean(Profit_Diff, na.rm = TRUE))

ggplot(region_perf, aes(x = State, y = Avg_Profit_Diff)) +
  geom_bar(stat = "identity", fill = "orange") +
  theme_minimal() +
  labs(title = "Rata-rata Selisih Profit per State",
       x = "State",
       y = "Avg Profit Diff")

#Produk Bermasalah
product_perf <- data %>%
  group_by(`Product Type`) %>%
  summarise(Avg_Profit_Diff = mean(Profit_Diff, na.rm = TRUE))

ggplot(product_perf, aes(x = reorder(`Product Type`, Avg_Profit_Diff), y = Avg_Profit_Diff)) +
  geom_bar(stat = "identity", fill = "red") +
  coord_flip() +
  theme_minimal() +
  labs(title = "Rata-rata Selisih Profit per Produk",
       x = "Product Type",
       y = "Avg Profit Diff")

### Interpretasi Visualisasi Data

Grafik 1

Grafik menunjukkan hubungan antara budget penjualan dan realisasi penjualan. Garis merah merepresentasikan kondisi ideal di mana penjualan sama dengan target. Terlihat bahwa masih banyak titik yang berada di bawah garis tersebut, yang mengindikasikan bahwa realisasi penjualan belum sepenuhnya mencapai target yang ditetapkan. Hal ini menunjukkan bahwa kinerja penjualan perusahaan masih belum optimal secara konsisten.

Grafik 2

Grafik menunjukkan rata-rata selisih profit terhadap budget pada setiap region. Terlihat bahwa terdapat perbedaan performa antar wilayah, di mana beberapa region memiliki nilai positif (melebihi target), sementara yang lain bernilai negatif (di bawah target). Hal ini mengindikasikan bahwa kinerja bisnis tidak merata dan kemungkinan terdapat perbedaan efektivitas strategi pemasaran atau operasional di tiap wilayah.

Grafik 3

Grafik menunjukkan rata-rata selisih profit terhadap budget untuk setiap produk. Produk dengan nilai negatif menunjukkan bahwa profit yang dihasilkan lebih rendah dari target yang ditetapkan. Hal ini mengindikasikan bahwa produk tersebut kurang optimal dalam menghasilkan keuntungan, sehingga perlu dilakukan evaluasi terhadap biaya produksi, strategi harga, atau tingkat permintaan pasar.

Analisis Statistika

t.test(data$Sales, data$`Budget Sales`, paired = TRUE)
## 
##  Paired t-test
## 
## data:  data$Sales and data$`Budget Sales`
## t = 25.518, df = 4247, p-value < 2.2e-16
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##  16.00575 18.66986
## sample estimates:
## mean difference 
##        17.33781

Interpretasi Statistik

Hasil uji t menunjukkan apakah terdapat perbedaan signifikan antara sales aktual dan budget. Jika nilai p-value lebih kecil dari 0.05, maka dapat disimpulkan bahwa terdapat perbedaan signifikan antara target dan realisasi, yang berarti target belum tercapai secara konsisten.

Intrepretasi

Hasil visualisasi menunjukkan bahwa sebagian besar data berada di bawah garis referensi, yang mengindikasikan bahwa realisasi penjualan belum sepenuhnya mencapai target yang ditetapkan. Selain itu, meskipun terdapat peningkatan pada sisi penjualan, hal tersebut tidak selalu diikuti oleh peningkatan profit.

Kondisi ini mengindikasikan adanya potensi inefisiensi dalam pengelolaan biaya atau strategi penetapan harga yang kurang optimal. Perbedaan performa antar wilayah juga menunjukkan bahwa strategi bisnis belum diterapkan secara merata.

Kesimpulan

Oleh karena itu, perusahaan perlu melakukan evaluasi menyeluruh terhadap struktur biaya, strategi pemasaran, serta efektivitas operasional untuk meningkatkan profitabilitas secara keseluruhan.