Class 4: (Case Study) CLV Analysis for M&S’s Delivery Pass

Author
Affiliation

Dr Wei Miao

UCL School of Management

Published

October 9, 2024

1 Case Overview

1.1 Class Objectives

  • Apply CLV calculation in a real business scenario, where M&S is considering launching an online grocery delivery service

  • Understand how CLV can be used by marketers to guide marketing decisions

1.2 Situation Analyses for M&S

  • Company

M&S is a British multinational groceries and general merchandise retailer. It currently focuses on operating offline stores. The company is considering launching an online grocery delivery service to compete with other direct competitors such as Tesco, Sainsbury’s, and Asda.

  • Customer

M&S serves a diverse customer base, including students, families, young professionals, and retirees.

  • Competitor

M&S’s direct competitors include Sainsbury’s, Asda, and Morrisons. M&S also faces competition from discounters such as Aldi and Lidl.

  • Collaborator

Suppliers, delivery partners

  • Context

PESTLE example: Brexit, COVID-19, etc.

1.3 The Sparks Loyalty Program

Are you using any grocery store’s loyalty programs? Did you need to pay for the membership?

Why do you think the grocery chains offer these loyalty programs?

1.4 Overview for Computing CLV

2 CAC for M&S

2.1 CAC: Roadmap

  • What does the CAC include in the case study? What steps M&S needs to take to acquire one new customer?

[…] (find info in the case study)

-   total costs for customer ad clicks

-   total costs of £10 promotion of free goods

-   total costs of free deliveries

2.3 Marketing Funnel for Paid Search Ads

A marketing funnel is a model that represents the customer’s journey from the initial awareness of a product or service to the ultimate purchase. This journey is depicted as a funnel to illustrate the decrease in the number of potential customers at each stage.

CAC Part I: Costs of paid search ads to get 1 new member.

  • […] about 10% of customers who click on an ad on search engine or social media will sign up for a free trial (i.e., triers); triers will on average shop twice during the trial period. 20% of those trial users will eventually become paying customers.
  1. We think from the bottom up. To get 1 new member, how many triers do we need?
Code
# clicker_to_trier_rate is the % of trier customers from clickers
trier_to_member_rate <-
  1. To get 1 trier, how many clickers do we need?
Code
# trier_to_member_rate is the % of a new member from triers
clicker_to_trier_rate <-
  1. How many clickers are needed to get 1 trier and eventually convert 1 new member?
Code
n_clickers_for_1newmember <- (1 / clicker_to_trier_rate) * (1 / trier_to_member_rate)
  1. Now, let’s calculate the total cost of acquiring 1 new member by multiplying the number of clickers needed by the cost per click.
Code
total_cost_clicks <- 0.4 * n_clickers_for_1newmember

2.4 CAC Part II

CAC Part II: total costs of £10 promo for first order each trier customer

  • What is the total promo cost for these “trier” customers’ first order? These are free goods offered to customers in addition to their usual £100 shopping.
Code
profit_margin <- 0.07
promo_first_order_each_trier <- 10

total_cost_promo <- promo_first_order_each_trier * # promotion amount = £10
    (1 - profit_margin) * # 7% profit margin
    (1 / trier_to_member_rate) # num of triers = 5

2.5 Compute customer acquisition costs

CAC Part III: total costs from selling groceries during the trial period

  • For each trier, compute the net profits and marketing costs from the two free visits.
Code
profit_each_trier <- revenue_each_visit * # £100 per visit
    profit_margin * # 7% profit margin
    2 # a trier shops twice
  • For each trier, the 2 visits are free of delivery charges, which are marketing costs to M&S
Code
deliverycost_each_trier <- 5 * 2
  • For each trier, compute net marketing costs from the 2 visits (marketing costs - earned profits)
Code
netcost_each_trier <- deliverycost_each_trier - profit_each_trier
  • Total net profits from all triers
Code
totalcosts_from_all_triers <- netcost_each_trier * (1 / trier_to_member_rate)

2.6 Step 6: Compute customer acquisition costs

  • CAC = total costs for customer ad clicks (for all clickers) + total costs of £10 promo (for all triers) + total costs of selling groceries (for all triers)
Code
CAC <- total_cost_clicks + total_cost_promo + totalcosts_from_all_triers

3 CLV for M&S

3.1 Step 1: Determine time unit of analysis

  • Time unit of analysis

    • […] (find info in the case study)

      • When should we use monthly analysis or other units of time?

3.2 Step 2: Determine number of years

  • \(N\): the number of years over which the customer relationship is assessed
    • […] (find info in the case study)
    • How can you do better here?
Code
N <-

3.3 Step 3: Compute g for each period

\(g = M - c\): net profit each year; Remember, \(M\) is the gross profit from membership fees and grocery purchases, and \(c\) is the cost of delivering goods to customers.

  • most customers paid the £89 annual membership fee
Code
membership <-

3.4 Step 3: Compute g for each period

  • 40 times each year; each time £100; with profit margin 7% (COGS 93%)
Code
n_visit <-
revenue_each_visit <-
profit_margin <-

M <-
  • Variable delivery costs each order. Find info in the case study about delivery costs
Code
deliverycost_each_visit <-

c <- deliverycost_each_visit * n_visit

3.5 Step 3: Compute g for each period

  • The annual g from customers regular grocery shopping
Code
# CF is the cash flow for one year

g <-

# create a sequence of CF for N years

g_seq <- rep(g, N)

3.6 Step 4: Compute sequence of retention rate

  1. \(r\): retention rate
  • […] (find info in the case study)
Code
# retention_rate is the probability of customer staying with us after 1 year
r <-
    # create a geometric sequence of accumulative retention rate for N years
r_seq <-

3.7 Step 5: Compute sequence of discount factors

  1. \(k\): the discount rate
  • […] A yearly discount rate of 10%
Code
k <- 0.1
d <- 
d_seq <-
  • […] The team decided to take a conservative approach whereby all profits are booked at the end of year. Why is this a conservative approach?

3.8 Step 6: Compute CLV

  1. Compute the CLV based on the CLV formula (Table A)
  • g for the next 5 years
Code
g_seq
  • Apply retention rate r
Code
g_seq_after_churn <- g_seq *
  • Apply discount factor d
Code
g_seq_after_churn_discount <- g_seq_after_churn *
  • Compute CLV by summing up future expected profits
Code
CLV <- sum(g_seq_after_churn_discount) - CAC

4 CLV for Marketing Decisions

4.1 CLV as a Key Management Tool

We can use CLV as the key managerial tool for evaluating different marketing initiatives!

4.2 Scenario

  • If M&S decides to reduce the pass price to £79 per year, then the retention rate will increase to 75%
  • We can write down an R user-defined function to solve the question.

4.3 After-class

  1. (To guide customer acquisition) What if the company only offers £5 for first time purchase? This will save some CAC but the clicker-to-trier rate will decrease to 5%. Please compute the new CLV. Should you go ahead with the proposed change?

  2. (To guide customer retention) What if the company increases the annual membership fee to $119? This will increase revenue from memberships but will also make some customers unhappy so their retention rate reduce to 55%. Please compute the new CLV. Should you go ahead with the proposed change?