optimal targeting of customers for a last-minute sale · optimal targeting of customers for a...

Post on 14-Jul-2019

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Optimal Targeting of Customersfor a Last-Minute Sale

R. Cominetti, J. Correa, Th. Rothvoss, J. San Mart́ın

Want to sell business class upgrades

Who should get the offer?

1

The Process — (1) Set of customers C

2

(2) Address the offer to S ⊆ C

3

(3) Respondents R ⊆ S ⊆ C

4

(4) Winner chosen at random

5

The Single Item case

Setting Implication

different revenue for each client vi want high revenue clients

different acceptance probability pi want high pbb clients

last minute no time for regret

until sold out first respondent wins

6

The Single Item case

Setting Implication

different revenue for each client vi want high revenue clients

different acceptance probability pi want high pbb clients

last minute no time for regret

until sold out first respondent wins

Goal

balance revenues and probabilities

to maximize expected revenue

7

The Problem — Discrete Version

Expected revenue for S ⊆ C is:

revenue ifR accepts

prob thatR accepts

prob thatS\R rejects

VS = E[v(R)|R|

]=∑R⊆S

︷ ︸︸ ︷v(R)|R|

·

︷ ︸︸ ︷∏i∈R

pi ·

︷ ︸︸ ︷∏i∈S\R

(1− pi)

Problem: find V ∗ = maxS⊆C

VS

8

The Problem — Continuous Version

Offer is made to each client with probability xi ∈ [0, 1]

P[i accepts] = P[Yi = 1] = xi · pi = yi

V (y) =∑R⊆C

v(R)|R|·∏i∈R

yi ·∏i 6∈R

(1−yi)

Problem: find V ∗ = max0≤yi≤pi

V (y)

9

Remarks

• V (y) is affine in each variable yi

⇒ discrete and continuous problems are equivalent

10

Remarks

• V (y) is affine in each variable yi

⇒ discrete and continuous problems are equivalent

• Efficient computation of objective function

V (y) = E[v(R)|R|

]= E

[Pi∈C viYiPi∈C Yi

]=∑i∈C

viyiE[ 11+Si

]

distribution of Si =∑j 6=i Yj computed by convolution

⇒ V (y) computed in O(n2)

11

Threshold Strategies

• If offer is made to a customer reporting vi, shouldn’t we also consider

those customers reporting higher values?

12

Threshold Strategies

• If offer is made to a customer reporting vi, shouldn’t we also consider

those customers reporting higher values?

• If so, find a threshold value V and offer to all clients with vi ≥ V .

Assuming v1 ≥ v2 ≥ · · · ≥ vn, optimal threshold found in O(n3)

max1≤i≤n

V{1,...,i}

13

Threshold Strategies

• If offer is made to a customer reporting vi, shouldn’t we also consider

those customers reporting higher values?

• If so, find a threshold value V and offer to all clients with vi ≥ V .

Assuming v1 ≥ v2 ≥ · · · ≥ vn, optimal threshold found in O(n4)

Random instances: 10 customers, 200 repetitionsAlgorithm % opt Min ratio Avg ratio Time

optimal 100.0 1.0000 1.0000 1611.2

threshold 93.0 0.9916 0.9998 23.5

14

Threshold Strategies

• If offer is made to a customer reporting vi, shouldn’t we also consider

those customers reporting higher values?

• If so, find a threshold value V and offer to all clients with vi ≥ V .

Assuming v1 ≥ v2 ≥ · · · ≥ vn, optimal threshold found in O(n4)

• Threshold typical in revenue management... but not always optimal!

15

Threshold Strategies

• If offer is made to a customer reporting vi, shouldn’t we also consider

those customers reporting higher values?

• If so, find a threshold value V and offer to all clients with vi ≥ V .

Assuming v1 ≥ v2 ≥ · · · ≥ vn, optimal threshold found in O(n4)

• Threshold typical in revenue management... but not always optimal!

• Sorting by probability or expected value is also sub-optimal

16

Threshold Strategies

• If offer is made to a customer reporting vi, shouldn’t we also consider

those customers reporting higher values?

• If so, find a threshold value V and offer to all clients with vi ≥ V .

Assuming v1 ≥ v2 ≥ · · · ≥ vn, optimal threshold found in O(n4)

• Threshold typical in revenue management... but not always optimal!

• Sorting by probability or expected value is also sub-optimal

• In fact: every subset can be optimal — complexity is open

17

Threshold strategies are 12-optimal: LP relaxation

V (y) =∑i∈C viπi

πi = P[i accepts and wins] = yi E[ 11+Si

]

Si =∑j 6=i Yj (number of competitors)

=⇒ 0 ≤ πi ≤ pi and∑i∈C πi ≤ 1

18

Threshold strategies are 12-optimal: LP relaxation

V (y) =∑i∈C viπi

πi = P[i accepts and wins] = yi E[ 11+Si

]

Si =∑j 6=i Yj (number of competitors)

=⇒ 0 ≤ πi ≤ pi and∑i∈C πi ≤ 1

Consider the relaxation (upper bound)

V ∗ ≤ V LP = max0≤yi≤pi

{∑i∈C viyi :

∑i∈C yi ≤ 1

}and use it to get a 1

2-optimal threshold strategy

19

Linear-time approximation algorithm algLP

• LP solution in O(n): find largest k with∑ki=1 pi ≤ 1 and set

yLPi =

pi if i ≤ k1−

∑ki=1 pi if i = k + 1

0 otherwise

20

Linear-time approximation algorithm algLP

• LP solution in O(n): find largest k with∑ki=1 pi ≤ 1 and set

yLPi =

pi if i ≤ k1−

∑ki=1 pi if i = k + 1

0 otherwise

• yLP is a randomized strategy equivalent to{select {1, . . . , k} with probability [

∑k+1i=1 pi − 1]/pk+1

select {1, . . . , k + 1} with probability [1−∑ki=1 pi]/pk+1

21

Linear-time approximation algorithm algLP

• LP solution in O(n): find largest k with∑ki=1 pi ≤ 1 and set

yLPi =

pi if i ≤ k1−

∑ki=1 pi if i = k + 1

0 otherwise

• yLP is a randomized strategy equivalent to{select {1, . . . , k} with probability [

∑k+1i=1 pi − 1]/pk+1

select {1, . . . , k + 1} with probability [1−∑ki=1 pi]/pk+1

• De-randomize in O(n2): max between V{1,...,k} and V{1,...,k+1}

22

Random instances: 10 customers, 200 repetitionsAlgorithm % opt Min ratio Avg ratio Time

optimal 100.0 1.0000 1.0000 1611.2

threshold 93.0 0.9916 0.9998 23.5

lp-relax 47.5 0.8168 0.9771 0.4

23

Theorem: algLP is a 12−approximation algorithm

24

Theorem: algLP is a 12−approximation algorithm

Proof: By Jensen’s inequality

E[ 11+Si

] ≥ 11+E(Si)

= 11+

Pj 6=i z

LPj≥ 1

1+1 = 12

hence

V (zLP) =∑i∈C vi z

LPi E[ 1

1+Si] ≥ 1

2

∑i∈C vi z

LPi

so that

V ∗ ≥ V (zLP) ≥ 12V

LP ≥ 12V∗. �

25

Alternative: Hyperbolic relaxation

πi ≥ yi1+

Pj 6=i yj

≥ yi1+

Pj∈C yj

V ∗ ≥ max0≤yi≤pi

Pi∈C viyi

1+Pi∈C yi

• Common-lines problem in transit equilibrium (Chriqui&Robillard’75)

• Optimum is a threshold strategy

• Linear-time algorithm: maxk [v1p1 + · · ·+ vkpk]/[1 + p1 + · · ·+ pk]

• Also a 12-approximation algorithm

26

Improved 23-approximation

Let x = P[∑i∈C Yi = 0] so that x+

∑i∈C πi = 1

Moreover πi = yi E[ 11+Si

] with

E[ 11+Si

] ≤ 1 · P[Si=0] + 12 · P[Si>0]

= 12(1 + P[Si=0])

= 12(1 + x

1−yi)

and then yi ≤ pi implies πi ≤ pi2 (1 + x

1−pi)

27

Hence we get the alternative LP relaxation

V ∗ ≤ V LP2 = max∑i∈C vizi

zi ≤ pi2 (1 + x

1−pi)

x+∑i∈C zi = 1

x, zi ≥ 0

Algorithm algLP2

• Find a basic optimal solution (z∗, x∗) for LP2

• Set yLP2

i = 2z∗i1+ x∗

1−pi...either 0 or pi except for one value!

• De-randomize yLP2 to get a set of the form {1, . . . , k}

28

Theorem: algLP2 is a 23-approximation

29

Theorem: algLP2 is a 23-approximation

Proof: V (y) =∑i∈C viyiE[ 1

1+Si] ≥

∑i∈C

viyi1+

Pj 6=i yj

Replacing yLP2

i we get V (yLP2) ≥∑i∈C viz

∗i γi with

γi = 2(1+x∗)

(3−x∗−2z∗i )(1+x∗

1−pi).

Since V ∗ ≤∑i∈C viz

∗i we need γi ≥ 2

3. This is obvious if x∗ = 0. Else,

since (z∗, x∗) is a basic solution exactly one of the two inequalities

involving z∗i is tight: if z∗i > 0 then z∗i = pi2 (1 + x∗

1−pi) so that

γi = 2(1+x∗)

(3−pi− x∗1−pi

)(1+ x∗1−pi

)≥ 2

3.�

30

Random instances: 10 customers, 200 repetitionsAlgorithm % opt Min ratio Avg ratio Time

optimal 100.0 1.0000 1.0000 1611.2

threshold 93.0 0.9916 0.9998 23.5

lp-relax 47.5 0.8168 0.9771 0.4

lp2-relax 74.0 0.9775 0.9988 21.5

in-out 99.0 0.9918 0.9999 15.4

swap 100.0 1.0000 1.0000 36.5

in-out and swap are a local search heuristics that add/remove/swap

one element from current strategy to get a maximal increase in revenue.

...complexity remains open

31

Multiple items

When there are m available items the value of a strategy y is

revenue ifR accepts

prob thatR accepts

prob thatC\R rejects

V (y) =∑R⊆C

︷ ︸︸ ︷min

{1,m

|R|

}v(R) ·

︷ ︸︸ ︷∏i∈R

yi ·

︷ ︸︸ ︷∏i∈C\R

(1− yi)

32

Multiple items

When there are m available items the value of a strategy y is

revenue ifR accepts

prob thatR accepts

prob thatC\R rejects

V (y) =∑R⊆C

︷ ︸︸ ︷min

{1,m

|R|

}v(R) ·

︷ ︸︸ ︷∏i∈R

yi ·

︷ ︸︸ ︷∏i∈C\R

(1− yi)

= E[min{1, mP

i∈C Yi}∑i∈C viYi

]

33

Multiple items

When there are m available items the value of a strategy y is

revenue ifR accepts

prob thatR accepts

prob thatC\R rejects

V (y) =∑R⊆C

︷ ︸︸ ︷min

{1,m

|R|

}v(R) ·

︷ ︸︸ ︷∏i∈R

yi ·

︷ ︸︸ ︷∏i∈C\R

(1− yi)

= E[min{1, mP

i∈C Yi}∑i∈C viYi

]=∑i∈C

viyiE[min{1, m

1+Si}]

34

Multiple items

When there are m available items the value of a strategy y is

revenue ifR accepts

prob thatR accepts

prob thatC\R rejects

V (y) =∑R⊆C

︷ ︸︸ ︷min

{1,m

|R|

}v(R) ·

︷ ︸︸ ︷∏i∈R

yi ·

︷ ︸︸ ︷∏i∈C\R

(1− yi)

= E[min{1, mP

i∈C Yi}∑i∈C viYi

]=∑i∈C

viyiE[min{1, m

1+Si}]

Problem: find V ∗ = max0≤yi≤pi

V (y)

35

The trivial extension of LP gives an upper bound

V LP = max{∑

i∈C viyi :∑i∈C yi ≤ m and 0 ≤ yi ≤ pi

}which guarantees a constant factor of the optimum:

36

The trivial extension of LP gives an upper bound

V LP = max{∑

i∈C viyi :∑i∈C yi ≤ m and 0 ≤ yi ≤ pi

}which guarantees a constant factor of the optimum:

V ∗ ≥ V (y) =∑i∈C

viyiE[min{1, m1+Si}]

≥ ρ(y)∑i∈C

viyi = ρ(y)V LP ≥ ρ(y)V ∗

ρ(y) = E[min{1, m1+S}] ≥ 1− 1

m+ 1

√1 + Var(S) P(S ≥ m)

find lower bound for ρ(y)...

37

Asymptotically optimal bound

Since Var(S) =∑i yi(1− yi) ≤ m and P(S ≥ m) ≤ 1, we get

ρ(y) ≥ 1− 1√m+1

hence

Theorem: V (yLP) is within a factor 1√m+1

from optimal

...and not better!

38

Sharper bound

ρ(y) ≥ 1−√

1+σ2

m+1 min{1, 12 + Mσ }

M = maxu≥0

√2u e−2u

∞∑k=0

(uk

k! )2 ∼ 0.46882235549939533

“if the mean number of successes in n independent heterogeneous

Bernoulli trials is an integer m then the median is also m”

(Jogdeo-Samuels’62, Siegel’01)

P[S ≥ m] ≤ 12 + P[S = m] ≤ 1

2 + Mσ

(latter estimate from C+Vaisman’08)

39

Extensions — Buy by Bulk

Dean, Goemans, Vondrak 04

• The difference is that customer i ∈ C demands si ≥ 1 units

• Problem is now NP-hard: for pi = 1 we get knapsack

• Computing V (y) is actually #P-complete

(e.g. count the number of perfect matchings in a bipartite graph)

40

Extensions — Multistage

• Medium-term: address offers in k successive rounds.

• Find an adaptive online algorithm that computes an optimal subset

of clients to address the offer in the next round.

41

Extensions — Pricing

• Personalized contact (email): price can be different for each client

• Pbb of accepting is a decreasing function of price pi : R+→ [0, 1]

• Select a price for each customer to maximize expected revenue

42

top related