Malignext Targeting Technologies TARGETING A CURE THROUGH INNOVATION.
Optimal Targeting of Customers for a Last-Minute Sale · Optimal Targeting of Customers for a...
Transcript of Optimal Targeting of Customers for a Last-Minute Sale · Optimal Targeting of Customers for a...
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