1. Profil Data (Data Profiling) dan Konteks Bisnis

Dataset Coffee Chain ini merekam jejak riwayat transaksi penjualan produk kopi dan teh di berbagai wilayah pemasaran (Market) di Amerika Serikat. Data ini memuat perbandingan antara pencapaian finansial aktual dengan target anggarannya (budget), sehingga sangat ideal untuk mengevaluasi efisiensi operasional.

Secara garis besar, ke-20 variabel dalam dataset ini dapat dikelompokkan ke dalam beberapa dimensi utama: - Dimensi Waktu: Date (Tanggal pencatatan transaksi). - Dimensi Geografis & Pasar: Area_Code, State, Market, dan Market_Size. - Dimensi Produk: Product_Line (Beans untuk varian kopi, Leaves untuk teh), Product_Type, Product (nama spesifik produk), dan Type (Regular atau Decaf). - Metrik Finansial Aktual: Sales (Pendapatan), COGS (Cost of Goods Sold / Harga Pokok Penjualan), Margin, Profit (Laba bersih), Marketing (Biaya pemasaran), Total_Expenses, dan Inventory. - Metrik Target (Budget): Budget_Sales, Budget_COGS, Budget_Margin, dan Budget_Profit.

2. Persiapan dan Pembersihan Data (Data Cleaning)

Langkah awal untuk memastikan dataset siap dianalisis adalah melakukan import, menormalisasi penamaan kolom (menghapus spasi agar mudah dipanggil di R), dan menyesuaikan tipe data yang tidak tepat.

df <- read_excel("Dataset.xlsx")

names(df) <- gsub("[^[:alnum:]]+", "_", trimws(names(df)))

df_clean <- df %>%
  mutate(
    Date = ymd(Date),
    across(c(Market, Market_Size, Product, Product_Line, Product_Type, Type), as.factor)
  )

glimpse(df_clean)
## Rows: 4,248
## Columns: 20
## $ Area_Code      <dbl> 719, 970, 970, 303, 303, 720, 970, 719, 970, 719, 303, …
## $ Date           <date> 2012-01-01, 2012-01-01, 2012-01-01, 2012-01-01, 2012-0…
## $ Market         <fct> Central, Central, Central, Central, Central, Central, C…
## $ Market_Size    <fct> Major Market, Major Market, Major Market, Major Market,…
## $ Product        <fct> Amaretto, Colombian, Decaf Irish Cream, Green Tea, Caff…
## $ Product_Line   <fct> Beans, Beans, Beans, Leaves, Beans, Beans, Leaves, Leav…
## $ Product_Type   <fct> Coffee, Coffee, Coffee, Tea, Espresso, Espresso, Herbal…
## $ State          <chr> "Colorado", "Colorado", "Colorado", "Colorado", "Colora…
## $ Type           <fct> Regular, Regular, Decaf, Regular, Regular, Decaf, Decaf…
## $ Budget_COGS    <dbl> 90, 80, 100, 30, 60, 80, 140, 50, 50, 40, 50, 150, 100,…
## $ Budget_Margin  <dbl> 130, 110, 140, 50, 90, 130, 160, 80, 70, 70, 70, 210, 1…
## $ Budget_Profit  <dbl> 100, 80, 110, 30, 70, 80, 110, 20, 40, 20, 40, 130, 100…
## $ Budget_Sales   <dbl> 220, 190, 240, 80, 150, 210, 300, 130, 120, 110, 120, 3…
## $ COGS           <dbl> 89, 83, 95, 44, 54, 72, 170, 63, 60, 58, 64, 144, 95, 2…
## $ Inventory      <dbl> 777, 623, 821, 623, 456, 558, 1091, 435, 336, 338, 965,…
## $ Margin         <dbl> 130, 107, 139, 56, 80, 108, 171, 87, 80, 72, 76, 201, 1…
## $ Marketing      <dbl> 24, 27, 26, 14, 15, 23, 47, 57, 19, 22, 19, 47, 30, 77,…
## $ Profit         <dbl> 94, 68, 101, 30, 54, 53, 99, 0, 33, 17, 36, 111, 87, 20…
## $ Sales          <dbl> 219, 190, 234, 100, 134, 180, 341, 150, 140, 130, 140, …
## $ Total_Expenses <dbl> 36, 39, 38, 26, 26, 55, 72, 87, 47, 55, 40, 90, 52, 109…
colSums(is.na(df_clean))
##      Area_Code           Date         Market    Market_Size        Product 
##              0              0              0              0              0 
##   Product_Line   Product_Type          State           Type    Budget_COGS 
##              0              0              0              0              0 
##  Budget_Margin  Budget_Profit   Budget_Sales           COGS      Inventory 
##              0              0              0              0              0 
##         Margin      Marketing         Profit          Sales Total_Expenses 
##              0              0              0              0              0

Interpretasi Bagian 2: Dataset berhasil diimpor dengan dimensi 4.248 baris observasi dan 20 kolom. Tipe data pada kolom waktu (Date) dan dimensi kategorikal telah dikonversi dengan benar. Pemeriksaan validasi menunjukkan data sangat bersih; tidak terdapat data yang hilang/kosong (missing values ditunjukkan dengan angka 0 pada seluruh kolom).

3. Rumusan Pertanyaan Bisnis

Dengan kelengkapan variabel yang ada, kita dapat merumuskan beberapa pertanyaan analitik krusial: 1. Bagaimana kondisi statistik finansial dan persentase pencapaian target profit perusahaan? 2. Lini produk (Product Line) mana yang paling menguntungkan? 3. Bagaimana tren pendapatan perusahaan dari waktu ke waktu? 4. Pasar (Market) mana yang mendominasi penjualan dan bagaimana distribusi biayanya? 5. Secara statistik, seberapa besar pengaruh biaya (COGS, Marketing) dan Sales terhadap Profit?

4. Statistik Deskriptif dan Agregasi Performa

Kita menelaah ringkasan distribusi metrik finansial utama dan menghitung efisiensi pencapaian kumulatif (aktual vs budget).

df_clean %>%
  select(Sales, Profit, Margin, COGS, Total_Expenses) %>%
  summary()
##      Sales         Profit           Margin             COGS       
##  Min.   : 17   Min.   :-638.0   Min.   :-302.00   Min.   :  0.00  
##  1st Qu.:100   1st Qu.:  17.0   1st Qu.:  52.75   1st Qu.: 43.00  
##  Median :138   Median :  40.0   Median :  76.00   Median : 60.00  
##  Mean   :193   Mean   :  61.1   Mean   : 104.29   Mean   : 84.43  
##  3rd Qu.:230   3rd Qu.:  92.0   3rd Qu.: 132.00   3rd Qu.:100.00  
##  Max.   :912   Max.   : 778.0   Max.   : 613.00   Max.   :364.00  
##  Total_Expenses  
##  Min.   : 10.00  
##  1st Qu.: 33.00  
##  Median : 46.00  
##  Mean   : 54.06  
##  3rd Qu.: 65.00  
##  Max.   :190.00
perform_summary <- df_clean %>%
  group_by(Product_Line) %>%
  summarise(
    Actual_Sales = sum(Sales, na.rm = TRUE),
    Target_Sales = sum(Budget_Sales, na.rm = TRUE),
    Actual_Profit = sum(Profit, na.rm = TRUE),
    Target_Profit = sum(Budget_Profit, na.rm = TRUE)
  ) %>%
  mutate(
    Pct_Sales = (Actual_Sales / Target_Sales) * 100,
    Pct_Profit = (Actual_Profit / Target_Profit) * 100
  ) %>%
  arrange(desc(Actual_Profit))

print(perform_summary)
## # A tibble: 2 × 7
##   Product_Line Actual_Sales Target_Sales Actual_Profit Target_Profit Pct_Sales
##   <fct>               <dbl>        <dbl>         <dbl>         <dbl>     <dbl>
## 1 Beans              439824       442100        143303        155780      99.5
## 2 Leaves             379987       304060        116240        102980     125. 
## # ℹ 1 more variable: Pct_Profit <dbl>

Interpretasi Bagian 4: Rata-rata transaksi penjualan berada di $193 dengan profit rata-rata $61.1. Namun, temuan menarik ada pada nilai profit ekstrem yang mencapai -$638, menandakan kebocoran biaya parah di beberapa transaksi. Dari segi performance, produk teh (Leaves) tampil sangat impresif dengan melampaui target profit (budget profit) hingga 112.8%. Sebaliknya, lini kopi (Beans) gagal menyentuh target efisiensi (hanya 92.4%), walau secara total nominal menyumbang profit terbesar.

5. Visualisasi Data

A. Profit berdasarkan Lini Produk

B. Tren Penjualan dari Waktu ke Waktu

C. Kontribusi Penjualan per Wilayah dan Distribusi Biaya

6. Analisis Statistika Inferensial

Untuk melihat seberapa signifikan variabel pembentuk biaya memengaruhi laba, kita gunakan regresi linear berganda.

model_regresi <- lm(Profit ~ Sales + COGS + Marketing, data = df_clean)
summary(model_regresi)
## 
## Call:
## lm(formula = Profit ~ Sales + COGS + Marketing, data = df_clean)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -123.137  -11.828   -0.518    9.241  101.270 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -22.801081   0.521941  -43.69   <2e-16 ***
## Sales         1.193813   0.004503  265.12   <2e-16 ***
## COGS         -1.195341   0.012388  -96.49   <2e-16 ***
## Marketing    -1.461141   0.020260  -72.12   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 20.48 on 4244 degrees of freedom
## Multiple R-squared:  0.9595, Adjusted R-squared:  0.9595 
## F-statistic: 3.351e+04 on 3 and 4244 DF,  p-value: < 2.2e-16

Interpretasi Statistika: Hasil uji regresi menunjukkan Sales, COGS, dan Marketing memiliki p-value < 2e-16. Secara empiris, ketiganya memengaruhi Profit secara teramat signifikan. Model ini juga sangat kuat (R-squared 0.9595), yang berarti variasi Profit 95.9% bisa dijelaskan oleh ketiga metrik tersebut. Koefisien COGS (-1.19) dan Marketing (-1.46) bernilai negatif, membuktikan bahwa inflasi sedikit saja pada komponen biaya pokok atau marketing akan langsung menggerus laba bersih perusahaan secara pasti.

7. Kesimpulan dan Saran

Kesimpulan: 1. Kesehatan finansial kumulatif tertopang kuat oleh Beans, walau secara persentase pencapaian (budget efficiency) lini kopi tersebut sedang mengalami inefisiensi. 2. Volume penjualan terlihat fluktuatif harian namun garis tren utamanya terbilang cukup stabil. 3. Market Central dan West mendominasi penjualan, sementara Market lainnya masih minim penetrasi. 4. Terdapat variansi biaya COGS yang sangat lebar (tinggi) khusus pada lini Espresso.

Saran Strategis: 1. Efisiensi COGS: Segera lakukan audit rantai pasok (supply chain) untuk produksi jenis Espresso dan lini Beans secara umum. Tujuannya adalah menekan simpangan biaya bahan pokok agar target margin tercapai. 2. Realokasi Anggaran Marketing: Tinjau ulang Return on Investment (ROI) untuk alokasi Marketing yang saat ini menggerus profit cukup besar (koefisien -1.46). Fokuskan campaign ke wilayah/market pinggiran untuk mendongkrak penjualan.