Skip to content
Product cover

Changing the Channel: A Better Way To Do Trade Promotions

In theory, trade promotions should benefit everyone involved. In practice, however, manufacturers and retailers often use trade promotions as weapons in a zero-sum game, and consumers are sometimes left out altogether.

It need not be that way. Over the past three years, David Bell, an associate professor of marketing at the University of Pennsylvania’s Wharton School, and Xavier Dr_ze, a visiting assistant professor of marketing at UCLA’s Anderson School, have examined the theoretical and practical problems associated with trade promotions, and they explain how the right kind of deal can be created — a transparent system that generates mutual trust and provides benefits to both manufacturers and retailers. The key is proper implementation of what is thus far a little understood tool: the pay-for-performance trade promotion, in which retailers get rewarded according to how much they sell, not how much they buy.

The authors explain how the most accepted way of doing promotions today — which rewards retailers for effective buying rather than effective marketing — creates a variety of inefficiencies that drain resources from their intended purpose. Using a hypothetical case involving much-simplified mathematics, they go on to demonstrate how manufacturers can design pay-for-performance options that retailers can embrace. They also illustrate how one national beverage company made pay-for-performance deals work in practice. Finally, they offer practical advice to help senior managers rethink the elements of organizational culture that stand in the way of a more effective approach to trade promotions — and, by extension, block better, more profitable relationships all along the channel.

Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0006
My Controller Construct  0.0003
Build Nav  0.0006
Controller Execution Time ( Products / Route )  0.0714
Total Execution Time  0.0720
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5722 MB
  POST DATA  
No POST data exists
  URI STRING  
store/changing-the-channel-a-better-way-to-do-trade-promotions
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 68  (Hide)
0.0016  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0005  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0029  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0004  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0032  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  '3bef1dd8506ed7c78c7eb9e5fe968e11'
ORDER BY `created_atDESC 
0.0003  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'changing-the-channel-a-better-way-to-do-trade-promotions'
AND `parent_id` =  
0.0141  

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 'changing-the-channel-a-better-way-to-do-trade-promotions' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'changing-the-channel-a-better-way-to-do-trade-promotions'
                        
)
                    
LIMIT 1 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  1947 
0.0003  

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

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

SELECT `cat_id`
FROM (`product_categories__products`)
WHERE `prod_id` =  '1947' 
0.0003  

SELECT *
FROM (`product_flags__products`)
WHERE `prod_id` =  '1947' 
0.0005  

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

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

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

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

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

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

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

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

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

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

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

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` =  '1947'
AND `kind` =  'image_600x600'
ORDER BY IF(position 010) AS, `position
0.0001  

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

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

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '904' 
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` =  '1947'
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` =  '1947'
AND `type_id` =  'V'
ORDER BY IF(position 010) AS, `position`, `title
0.0001  

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

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '1948'
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` =  '1947'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0005  

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)