LBB_1 REV

BACKGROUND

Discount Strategies

Discount strategies

  • Plan before you offer discounts
  • Understand how discounting affects profit margins and sales targets
  • Consider the discount
  • Benefit discount to profit

Case Study

ABC.com is a Marketplace that loves to give out amazing deals. They have various discount on every category and They want their customer get amazing discount and expect increasing Quantity of sold. ABC.com works for statisfy their members. They want to make a fast moving products so that ABC.com members will have more quantity sold and ABC.com still profitable. This will be a win situation for both.

INPUT DATA

Chunk Commentary :

  • read data retail and put to retail table

DATA INSPECTION

## 'data.frame':    9994 obs. of  15 variables:
##  $ Row.ID      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Order.ID    : Factor w/ 5009 levels "CA-2014-100006",..: 2501 2501 2297 4373 4373 202 202 202 202 202 ...
##  $ Order.Date  : Factor w/ 1237 levels "1/1/17","1/10/14",..: 305 305 836 94 94 922 922 922 922 922 ...
##  $ Ship.Date   : Factor w/ 1334 levels "1/1/15","1/1/16",..: 220 220 907 129 129 897 897 897 897 897 ...
##  $ Ship.Mode   : Factor w/ 4 levels "First Class",..: 3 3 3 4 4 4 4 4 4 4 ...
##  $ Customer.ID : Factor w/ 793 levels "AA-10315","AA-10375",..: 144 144 240 706 706 89 89 89 89 89 ...
##  $ Segment     : Factor w/ 3 levels "Consumer","Corporate",..: 1 1 2 1 1 1 1 1 1 1 ...
##  $ Product.ID  : Factor w/ 1862 levels "FUR-BO-10000112",..: 13 56 947 320 1317 186 563 1762 795 438 ...
##  $ Category    : Factor w/ 3 levels "Furniture","Office Supplies",..: 1 1 2 1 2 1 2 3 2 2 ...
##  $ Sub.Category: Factor w/ 17 levels "Accessories",..: 5 6 11 17 15 10 3 14 4 2 ...
##  $ Product.Name: Factor w/ 1850 levels "\"While you Were Out\" Message Book, One Form per Page",..: 387 833 1440 367 574 570 1137 1099 535 295 ...
##  $ 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 ...

Chunk Commentary : check retail table structure

From our inspection we can conclude :

  • Retail data contain 9994 of rows and 15 of coloumns
  • Each of column name :
    • Row.ID
    • Order.ID
    • Order.Date
    • Ship.Date
    • Customer.ID
    • Segment
    • Product.ID
    • Category
    • Sub.Category
    • Product.Name
    • Sales
    • Quantity
    • Discount
    • Profit

DATA CLEANSING AND COERTIONS

Chunk Commentary :

  • change some data type in retail table
## 'data.frame':    9994 obs. of  15 variables:
##  $ Row.ID      : chr  "1" "2" "3" "4" ...
##  $ Order.ID    : chr  "CA-2016-152156" "CA-2016-152156" "CA-2016-138688" "US-2015-108966" ...
##  $ Order.Date  : Date, format: "2016-11-08" "2016-11-08" ...
##  $ Ship.Date   : Date, format: "2016-11-11" "2016-11-11" ...
##  $ Ship.Mode   : Factor w/ 4 levels "First Class",..: 3 3 3 4 4 4 4 4 4 4 ...
##  $ Customer.ID : chr  "CG-12520" "CG-12520" "DV-13045" "SO-20335" ...
##  $ Segment     : Factor w/ 3 levels "Consumer","Corporate",..: 1 1 2 1 1 1 1 1 1 1 ...
##  $ Product.ID  : chr  "FUR-BO-10001798" "FUR-CH-10000454" "OFF-LA-10000240" "FUR-TA-10000577" ...
##  $ Category    : Factor w/ 3 levels "Furniture","Office Supplies",..: 1 1 2 1 2 1 2 3 2 2 ...
##  $ Sub.Category: Factor w/ 17 levels "Accessories",..: 5 6 11 17 15 10 3 14 4 2 ...
##  $ 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 ...

Chunk Commentary :

  • check new structure in retail table

Check Missing Value

##       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

Chunk Commentary :

  • no missing value in retail table

Chunk Commentary :

  • we erase two column, Row.ID and Order.ID because we dont use it.

DATA EXPLANATION

## 
##   LOSS PROFIT 
##   1871   8123

Chunk Commentary :

  • total sku that loss in profit 1871

  • total sku that get profit 8123

## [1] 286397

Chunk Commentary :

  • so from this data we get Profit 286.397 if we combine sku with loss and profit

DATA MANIPULATION

Chunk Commentary :

  • to mutate new column fill it with negative profit or positive profit refer to profit or loss
##      Sales  Profit pos_profit  Segment        Category Sub.Category Discount
## 1   22.368  2.5164   positive Consumer Office Supplies      Storage      0.2
## 2  907.152 90.7152   positive Consumer      Technology       Phones      0.2
## 3   18.504  5.7825   positive Consumer Office Supplies      Binders      0.2
## 4 1706.184 85.3092   positive Consumer       Furniture       Tables      0.2
## 5  911.424 68.3568   positive Consumer      Technology       Phones      0.2
## 6   15.552  5.4432   positive Consumer Office Supplies        Paper      0.2
##        COGS   a mftdisc sales_bfr
## 1   19.8516 0.8  0.1125   27.9600
## 2  816.4368 0.8  0.1000 1133.9400
## 3   12.7215 0.8  0.3125   23.1300
## 4 1620.8748 0.8  0.0500 2132.7300
## 5  843.0672 0.8  0.0750 1139.2800
## 6   10.1088 0.8  0.3500   19.4400

Chunk Commentary :

  • this chunk find a profit sku after discount company gift and adding some column adding some column to gain some information:

  • cogs = cost of good sold

  • mftdisc = margin after discount

  • sales_bfr = sales before discount

##       Sales     Profit pos_profit     Segment        Category Sub.Category
## 1  957.5775  -383.0310   negative    Consumer       Furniture       Tables
## 2   68.8100  -123.8580   negative Home Office Office Supplies   Appliances
## 3    2.5440    -3.8160   negative Home Office Office Supplies      Binders
## 4   71.3720    -1.0196   negative    Consumer       Furniture       Chairs
## 5 3083.4300 -1665.0522   negative    Consumer       Furniture    Bookcases
## 6    9.6180    -7.0532   negative    Consumer Office Supplies      Binders
##   Discount       hpp    a     mftdisc sales_bfr
## 1     0.45 1340.6085 0.55 -0.40000000 1741.0500
## 2     0.80  192.6680 0.20 -1.80000000  344.0500
## 3     0.80    6.3600 0.20 -1.50000000   12.7200
## 4     0.30   72.3916 0.70 -0.01428571  101.9600
## 5     0.50 4748.4822 0.50 -0.54000000 6166.8600
## 6     0.70   16.6712 0.30 -0.73333333   32.0600

Chunk Commentary :

  • this chunk find a loss in profit sku after discount company gift and adding some column

adding some column to gain some information:

  • cogs = cost of good sold
  • mftdisc = margin after discount
  • sales_bfr = sales before discount
##      Sales   Profit pos_profit     Segment   Category mftdisc Sub.Category
## 1 11199.97 3919.989   positive Home Office Technology    0.35      Copiers
##   Discount
## 1      0.2

Chunk Commentary :

  • Technolgy/copiers has a maximum profit with discount 0.2
##      Sales    Profit pos_profit  Segment   Category   mftdisc Sub.Category
## 1 4499.985 -6599.978   negative Consumer Technology -1.466667     Machines
##   Discount
## 1      0.7

Chunk Commentary :

  • Technology/Machine has minimum profit with discount 0.7

BUSINESS RECOMENDATION

some information we after ABC.com:

  • so from this data we get Profit 286.397 despite some SKU got loss
  • find cost of good sold
  • find margin after discount
  • find loss or profit
  • find category with profit or loss sku

The discount must be less than the initial margin if you want to keep making a profit, by adding Cost of good sold information obtained from Sales - Profit, find out the initial margin by adding this margin in the dataframe that can be used as a benchmark in this company to place a discount in the upcoming discount program. From this data it can be seen that there is a negative profit because the Discount is greater than the initial margin.

Lucky Putranto

15/3/2020