Analisis Selisih antara Budget dan Realisasi Sales serta Profit

Analisis ini bertujuan untuk mengevaluasi kesesuaian antara budget target yang telah diteteapkan perusahaan dengan realisasi kinerja aktual, khususnya pada variabel penjualan dan profit.

Dalam kondisis bisnis, budget digunakan sebagai acuan perencanaan untuk mencapai target tertentu dalam periode waktu yang telah ditetapkan. Namun dalam praktiknya, realisasi yang dicapai tidak selalu sesuai dengan target yang dicapai tidak selalu sesuai dengan target yang telah ditentukan.

Oleh karena itu, analisis ini difokuskan pada perbandingan antara nilai budget dan nilai aktual untuk mengidentifikasi apakah kinerja perusahaan cenderung berada di atas target atau di bawah target

Selain itu, analisis ini juga bertujuan untuk melihat variasi pencapaian tersebut berdasarkan kategori produk atau market, sehingga dapat diketahui bagian mana yang memiliki performa baik maupun yang masih perlu ditingkatkan.

Hasil dari analisis ini diharapkan dapat memberikan gambaran mengenai efektivitas perencanaan yang telah dilakukan serta menjadi dasar evaluasi dalam penyusunan strategi bisnis kedepan

#IMPORT DATASET YANG DIGUNAKAN

library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
X1_Tugas_SIM_2025B_Coffee_Chain_Datasets <- read_excel("D:/Kuliah/SIM/1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx")
View(X1_Tugas_SIM_2025B_Coffee_Chain_Datasets)

#LOAD LIBRARY UNTUK VISUALISASI DAN ANALISIS

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.2

#PERHITNGAN ANALISIS VARIABEL

data1 <- read_excel("D:/Kuliah/SIM/1. Tugas SIM 2025B - Coffee Chain Datasets.xlsx")
data1
## # A tibble: 4,248 × 20
##    `Area Code` Date                Market  `Market Size` Product  `Product Line`
##          <dbl> <dttm>              <chr>   <chr>         <chr>    <chr>         
##  1         719 2012-01-01 00:00:00 Central Major Market  Amaretto Beans         
##  2         970 2012-01-01 00:00:00 Central Major Market  Colombi… Beans         
##  3         970 2012-01-01 00:00:00 Central Major Market  Decaf I… Beans         
##  4         303 2012-01-01 00:00:00 Central Major Market  Green T… Leaves        
##  5         303 2012-01-01 00:00:00 Central Major Market  Caffe M… Beans         
##  6         720 2012-01-01 00:00:00 Central Major Market  Decaf E… Beans         
##  7         970 2012-01-01 00:00:00 Central Major Market  Chamomi… Leaves        
##  8         719 2012-01-01 00:00:00 Central Major Market  Lemon    Leaves        
##  9         970 2012-01-01 00:00:00 Central Major Market  Mint     Leaves        
## 10         719 2012-01-01 00:00:00 Central Major Market  Darjeel… Leaves        
## # ℹ 4,238 more rows
## # ℹ 14 more variables: `Product Type` <chr>, State <chr>, Type <chr>,
## #   `Budget COGS` <dbl>, `Budget Margin` <dbl>, `Budget Profit` <dbl>,
## #   `Budget Sales` <dbl>, COGS <dbl>, Inventory <dbl>, Margin <dbl>,
## #   Marketing <dbl>, Profit <dbl>, Sales <dbl>, `Total Expenses` <dbl>
sumx <- sum(data1$`Budget Profit`)
sumy <- sum(data1$Profit)

selisih <- sumx - sumy
selisih
## [1] -783
state_summary1 <- data1 %>%
  group_by(State) %>%
  summarise(
    total_budgetprofit = sum(`Budget Profit`, na.rm = TRUE),
    total_profit = sum(Profit, na.rm = TRUE),   
    selisih_profit =  total_profit - total_budgetprofit)
state_summary1
## # A tibble: 20 × 4
##    State         total_budgetprofit total_profit selisih_profit
##    <chr>                      <dbl>        <dbl>          <dbl>
##  1 California                 28380        31785           3405
##  2 Colorado                   17620        17743            123
##  3 Connecticut                 7920         7621           -299
##  4 Florida                    11800        12310            510
##  5 Illinois                   29280        30821           1541
##  6 Iowa                       18340        22212           3872
##  7 Louisiana                   7700         7355           -345
##  8 Massachusetts              14600        16442           1842
##  9 Missouri                    5480         3601          -1879
## 10 Nevada                     10660        10616            -44
## 11 New Hampshire               4020         2748          -1272
## 12 New Mexico                  2660          799          -1861
## 13 New York                   18440        20096           1656
## 14 Ohio                       11960        10773          -1187
## 15 Oklahoma                    8780         8558           -222
## 16 Oregon                     12540        12439           -101
## 17 Texas                      15900        15766           -134
## 18 Utah                       10480         7751          -2729
## 19 Washington                 12300        11405           -895
## 20 Wisconsin                   9900         8702          -1198
state_summary2 <- data1 %>%
  group_by(State) %>%
  summarise(
    total_budgetsales = sum(`Budget Sales`, na.rm = TRUE),
    total_sales = sum(Sales, na.rm = TRUE),   
    selisih_sales =  total_sales - total_budgetsales)
state_summary2
## # A tibble: 20 × 4
##    State         total_budgetsales total_sales selisih_sales
##    <chr>                     <dbl>       <dbl>         <dbl>
##  1 California                90680       96892          6212
##  2 Colorado                  45280       48179          2899
##  3 Connecticut               21840       25429          3589
##  4 Florida                   32600       37443          4843
##  5 Illinois                  70640       69883          -757
##  6 Iowa                      47000       54750          7750
##  7 Louisiana                 21140       23161          2021
##  8 Massachusetts             27000       29965          2965
##  9 Missouri                  22760       24647          1887
## 10 Nevada                    46540       60159         13619
## 11 New Hampshire             12880       14887          2007
## 12 New Mexico                15060       15892           832
## 13 New York                  63580       70852          7272
## 14 Ohio                      33280       34517          1237
## 15 Oklahoma                  24780       27463          2683
## 16 Oregon                    35420       40899          5479
## 17 Texas                     37220       37410           190
## 18 Utah                      32320       35384          3064
## 19 Washington                34740       38930          4190
## 20 Wisconsin                 31400       33069          1669
ggplot(state_summary1, aes(x = State, y = selisih_profit, fill = selisih_profit > 0)) +
  geom_bar(stat = "identity") +
  labs(
    title = "Selisih Profit vs Budget Profit per State",
    x = "State",
    y = "Selisih Profit"
  ) +
  scale_fill_manual(values = c("red", "green"), labels = c("Underperform", "Overperform")) +
  scale_x_discrete(guide = guide_axis(n.dodge = 4)) +
  theme_minimal()

ggplot(state_summary2, aes(x = State, y = selisih_sales, fill = selisih_sales > 0)) +
  geom_bar(stat = "identity") +
  labs(
    title = "Selisih Sales vs Budget Sales per State",
    x = "State",
    y = "Selisih Sales"
  ) +
  scale_fill_manual(values = c("red", "green"), labels = c("Underperform", "Overperform")) +
  scale_x_discrete(guide = guide_axis(n.dodge = 4)) +
  theme_minimal()

Berdasarkan hasil analisis, terlihat bahwa pencapaian antara sales dan profit tidak selalu berjalan searah. Beberapa state menunjukkan kinerja penjualan (sales) yang baik dan mampu mencapai atau bahkan melampaui target yang telah ditetapkan. Namun, kondisi tersebut tidak selalu diikuti oleh pencapaian profit yang optimal.

Terdapat beberapa state dengan selisih sales positif (overperform), tetapi memiliki selisih profit yang rendah atau bahkan negatif (underperform). Hal ini menunjukkan bahwa tingginya penjualan tidak secara langsung menjamin peningkatan keuntungan. Kondisi ini dapat disebabkan oleh tingginya biaya yang dikeluarkan, seperti biaya operasional, marketing, maupun cost of goods sold (COGS), sehingga mengurangi profit yang dihasilkan.

Di sisi lain, terdapat juga state yang menunjukkan pencapaian profit yang baik meskipun tidak memiliki sales yang terlalu tinggi. Hal ini mengindikasikan adanya efisiensi dalam pengelolaan biaya atau margin keuntungan yang lebih tinggi pada produk yang dijual.

Secara keseluruhan, hasil analisis ini menunjukkan bahwa evaluasi kinerja tidak dapat hanya didasarkan pada sales, tetapi perlu mempertimbangkan profit sebagai indikator utama keberhasilan bisnis. Oleh karena itu, perusahaan perlu menyeimbangkan antara peningkatan penjualan dan efisiensi biaya agar dapat mencapai profit yang optimal.

IN

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.