PineApple Case Study

Author
Affiliation

Wei Miao

UCL School of Management

The marketing analytics team at PineApple Inc had applied predictive analytics models on historical sales data and predicted that the sales this year will reach 10 million unit at the retail price of £600, without any additional marketing activities. The team had also collected the information on the Cost of Goods Sold of PinePhone 15, which is 60%. The Research and Development (R&D) costs for PinePhone 15 is 100 million pounds.

Based on the above information, we first translate the necessary background information into the following R objects.

Assigning Operations
  • When assigning values to variables, the operation will not print the values of the new variable

  • If you would like to check the variable is created with the correct value, you can

    • check its value in the RStudio Environment on the right hand side

    • in a new line, type the variable name: this is to ask R to print out the value of the object

# translate the above information into R variables
price <- 600 # retail price
quantity <- 10 # sales 
COGS <- 0.6 # cost of goods sold
RD_costs <- 100 # Research and Development costs
endorsement_fee <- 50 # endorsement
endorsement_sales_increase <- 0.025

Question 1

Compute the contribution margin per unit

# Create a variable called contribution_margin from price and COGS
# Use variables but not the raw numbers. --- Why?

# Following the definition of contribution margin per unit: price - cost
contribution_margin <- price - price * COGS
contribution_margin
[1] 240
# equivalently, contribution margin per unit = price * contribution margin rate  
contribution_margin <- price * (1 - COGS) 
contribution_margin
[1] 240

Question 2

Based on the information at hand, should Tom approve the influencer marketing plan?

To decide whether Tom should approve the marketing plan, we need to conduct break-even analyses.

The first step is to compute the break-even quantity, as shown in the following code.

# numerator is the marketing expense
# denominator is the "extra profit", or the contribution margin, from selling one more unit
BEQ <- endorsement_fee / contribution_margin
BEQ
[1] 0.2083333

Break even quantity is the incremental quantity sales needed in order to neither lose money nor make money from the marketing campaign, hence the name “break-even”. This is like the safe line the campaign must reach.

Sales

In this module (and in practice), when we talk about sales, we mean the quantity sales, the number of units sold. For instance, in the case study, the original sales without influencer marketing is 10 million units.

The total money made is often called revenue or revenue sales. For instance, in the case study, the original revenue is 6000 million pounds.

The next step is to compare BEQ with the estimated incremental sales from the campaign.

BEQ is 0.208 million units, which is smaller than incremental sales is 10 * 0.025 million units. It means, to not lose any money, the influencer marketing compaign needs to bring in additional 0.208 million units, but in reality, the company can actually sell better at 0.25 million, so it’s profitable to continue with the influencer marketing campaign.

Therefore, based on the above reasoning, Tom should approve the influencer marketing campaign.

Question 3

(Please follow the above example to finish both authoring and R codes for the NPV question)

  1. Compute the sequence of monthly cash flows
  • First, we compute the incremental sales percentage for each month, relative to the 10 million. This is a 12-element vector, each element representing the incremental sales percentage.
incremental.sales.percentage_1stmonth <- 0.003
incremental.sales.percentage_next11months <- rep(0.002,11)

# incremental profit each month
vector_incremental.sales.percentage_12months <- c(incremental.sales.percentage_1stmonth,incremental.sales.percentage_next11months)

vector_incremental.sales.percentage_12months
 [1] 0.003 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002
  • Next, we time the incremental sales percentage with quantity, to get the incremental sales in terms of units each month.
vector_incremental.sales.units_12months <- vector_incremental.sales.percentage_12months * quantity

vector_incremental.sales.units_12months
 [1] 0.03 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02
  • Lastly, we multiply the incremental quantity sales with the contribution margin per unit, to get the total contribution margins (incremental profits) for each month, i.e., the CF
vector_CF <- vector_incremental.sales.units_12months * contribution_margin

vector_CF
 [1] 7.2 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8 4.8
  1. Compute the sequence of discount factors
# divide annual wacc to get monthly wacc
monthly_WACC <- 0.1/12 

# discount factor for 1 month is 1/(1+k)
discount_factor <- 1/ (1+monthly_WACC)

# Generate a geometric sequence vector of discounted CFs for 12 months

vector_discount_factor <- discount_factor ^ c(1:12)

vector_discount_factor
 [1] 0.9917355 0.9835394 0.9754110 0.9673497 0.9593551 0.9514265 0.9435635
 [8] 0.9357654 0.9280319 0.9203622 0.9127559 0.9052124
  1. Compute the NPV
  • Multiply CF vector with discount factor vector, to get the discounted CF vector
vector_discounted.CF <- vector_CF * vector_discount_factor 
  
vector_discounted.CF
 [1] 7.140496 4.720989 4.681973 4.643279 4.604904 4.566847 4.529105 4.491674
 [9] 4.454553 4.417738 4.381228 4.345020
  • use function sum() to get the sum of all elements in a vector. That is, the sum of discounted cash flows in all 12 months.
sum(vector_discounted.CF)
[1] 56.97781
  • We need to subtract the endorsement fee, which is the marketing expense, to get the net present value
NPV <- sum(vector_discounted.CF) - endorsement_fee
NPV
[1] 6.977806