Skip to content
Product cover

Do Customer Loyalty Programs Really Work?

A company that initiates a customer loyalty program usually wants to retain existing customers, maintain sales levels and profits, increase the potential value of existing customers, and encourage customers to buy its other products as well. But, based on a review of behavioral loyalty research, Dowling and Uncles posit that the schemes do not fundamentally alter market structure and, instead, increase market expenditures without really creating any extra brand loyalty. Research shows that only about 10 percent of buyers for many types of frequently purchased consumer goods are 100 percent loyal to a particular brand over a one-year period. And consumers do not buy only one brand; for example, surveys of European business airline travelers show that more than 80 percent are members of more than one frequent flyer program.

For any loyalty program to be effective, say the authors, it must leverage the value of the product to the customer. Therefore, the program must have: (1) a direct or indirect effect, such as the General Motors rebate scheme that builds up savings toward a new car, or gasoline companies’ incentives of free air travel; (2) a perception of value, such as cash, a range of choice, aspirations of exotic free travel, or the likely achievement of rewards; and (3) timing — when rewards are available. The more delayed the reward, the less powerful.

Does it cost less to serve loyal customers? Are they less price sensitive? Do they recommend products to others? Not really, say the authors. The contention that loyal customers are always more profitable is a gross simplification. Dowling and Uncles suggest ways to design an effective program, such as (1) ensuring that it enhances the value proposition of the product or service; (2) fully costing the program; (3) maximizing the buyer’s motivation to purchase again; and (4) considering the market conditions when planning.

Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0005
My Controller Construct  0.0003
Build Nav  0.0005
Controller Execution Time ( Products / Route )  0.0716
Total Execution Time  0.0722
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5705 MB
  POST DATA  
No POST data exists
  URI STRING  
store/do-customer-loyalty-programs-really-work
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 69  (Hide)
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '841e5e9f3086eb54cfa673dc6299f17f'
ORDER BY `created_atDESC 
0.0003  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'do-customer-loyalty-programs-really-work'
AND `parent_id` =  
0.0106  

SELECT c.parent_idc.format_id
                    FROM products 
AS pproducts AS c
                    WHERE p
.prod_id c.parent_id AND
                        
c.avail_id IN ('A','B','D') AND
                        
c.type_id 'V' AND
                        (
                            
c.sku 'do-customer-loyalty-programs-really-work' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'do-customer-loyalty-programs-really-work'
                        
)
                    
LIMIT 1 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  2329 
0.0016  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '2329' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '2329'
ORDER BY `sortAS
0.0001  

SELECT `cat_id`
FROM (`product_categories__products`)
WHERE `prod_id` =  '2329' 
0.0002  

SELECT *
FROM (`product_flags__products`)
WHERE `prod_id` =  '2329' 
0.0002  

SELECT `sku`
FROM (`products__xsell`)
WHERE `prod_id` =  '2329'
ORDER BY IF(position 010) AS, `position
0.0282  

SELECT `products`.`parent_id`
FROM (`transaction_lines`)
JOIN `productsON `products`.`sku` = `transaction_lines`.`sku`
JOIN `product_categories__productsON `products`.`parent_id` = `product_categories__products`.`prod_id`
WHERE `products`.`avail_id` =  'A'
AND TO_DAYS(transaction_lines.updated_at) < (TO_DAYS(NOW()) - 90)
AND `
product_categories__products`.`cat_idIN ('247') 
GROUP BY `products`.`parent_id`
ORDER BY COUNT(*) DESC
LIMIT 6 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '1211' 
0.0005  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '1211' 
0.0008  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '1211'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '305' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '305' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '305'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '1325' 
0.0004  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '1325' 
0.0003  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '1325'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '523' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '523' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '523'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3987' 
0.0003  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3987' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3987'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '339' 
0.0003  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '339' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '339'
ORDER BY `sortAS
0.0003  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '2329'
AND `kind` =  'image_600x600'
ORDER BY IF(position 010) AS, `position
0.0001  

SELECT *
FROM (`media`)
WHERE `media`.`media_id` =  '1052' 
0.0001  

SELECT *
FROM (`mime_types`)
WHERE `mime_types`.`extension` =  'jpg' 
0.0001  

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '1052' 
0.0002  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '2329'
AND `kind` =  'gallery_image'
ORDER BY IF(position 010) AS, `position
0.0003  

SELECT *
FROM (`products`)
WHERE `avail_idIN ('A''B''C''H') 
AND `
parent_id` =  '2329'
AND `type_id` =  'V'
ORDER BY IF(position 010) AS, `position`, `title
0.0005  

SELECT `c`.`format_id`, `c`.`price`, `c`.`sale_price`
FROM (`productsAS c)
WHERE `c`.`prod_id` =  '2330'
LIMIT 1 
0.0003  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '2330'
AND `kind` =  'thumbnail'
ORDER BY IF(position 010) AS, `position
0.0002  

SELECT `product_categories__products`.`cat_id`
FROM (`product_categories__products`)
JOIN `product_categoriesON `product_categories__products`.`cat_id` = `product_categories`.`cat_id`
WHERE `product_categories__products`.`prod_id` =  '2329'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0007  

SELECT `cat_idAS id, `parent_idAS parent, `status_id`, `name`, `description`, `url_friendly`, `page_title`, `meta_keywords`, `meta_description`, `position`, `updated_at`
FROM (`product_categories`)
WHERE `cat_id` != 1
ORDER BY 
`parent_id`, IF(position 010) AS, `position`, `name
0.0003  

SELECT *
FROM (`product_categories`)
WHERE `status_id` =  'A'
AND `parent_id` =  1
AND `cat_idNOT IN (1261) 
ORDER BY `name
0.0002  

SELECT *
FROM (`site_settings`)
WHERE `option_key` =  'announcement' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)