Feature-Based Dynamic Pricing Maxime Cohen 1 , 2 Ilan Lobel 1 , 2 - - PowerPoint PPT Presentation

feature based dynamic pricing
SMART_READER_LITE
LIVE PREVIEW

Feature-Based Dynamic Pricing Maxime Cohen 1 , 2 Ilan Lobel 1 , 2 - - PowerPoint PPT Presentation

Feature-Based Dynamic Pricing Maxime Cohen 1 , 2 Ilan Lobel 1 , 2 Renato Paes Leme 2 1 NYU Stern 2 Google Research Real estate agent problem In each timestep the real estate agent receives a house to sell and needs to decide which price to put it


slide-1
SLIDE 1

Feature-Based Dynamic Pricing

Maxime Cohen 1,2 Ilan Lobel 1,2 Renato Paes Leme 2

1NYU Stern 2Google Research

slide-2
SLIDE 2

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

slide-3
SLIDE 3

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

  • 1. Receives an item with feature vector xt ∈ Rd.

e.g. xt = (2 bedroom, 1 bathroom, no fireplace, Brooklyn, ...)

slide-4
SLIDE 4

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

  • 1. Receives an item with feature vector xt ∈ Rd.

e.g. xt = (2 bedroom, 1 bathroom, no fireplace, Brooklyn, ...)

slide-5
SLIDE 5

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

  • 1. Receives an item with feature vector xt ∈ Rd.

e.g. xt = (2, 1, 0, 1, ..)

slide-6
SLIDE 6

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

  • 1. Receives an item with feature vector xt ∈ Rd.

e.g. xt = (2, 1, 0, 1, ..)

  • 2. Chooses a price pt for the house.
slide-7
SLIDE 7

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

  • 1. Receives an item with feature vector xt ∈ Rd.

e.g. xt = (2, 1, 0, 1, ..)

  • 2. Chooses a price pt for the house.
  • 3. Observes if the house was sold or not.
slide-8
SLIDE 8

Real estate agent problem

In each timestep the real estate agent receives a house to sell and needs to decide which price to put it in the market. Setup: In each timestep:

  • 1. Receives an item with feature vector xt ∈ Rd.

e.g. xt = (2, 1, 0, 1, ..)

  • 2. Chooses a price pt for the house.
  • 3. Observes if the house was sold or not.

◮ if pt ≤ v(xt), we sell and make profit pt. ◮ if pt > v(xt), we don’t sell and make zero profit.

slide-9
SLIDE 9

Challenges and Assumptions

Learn/Earn or Explore/Exploit: We don’t know the market value v(xt). Contextual problem: The product is different in each round and adversarially chosen.

slide-10
SLIDE 10

Challenges and Assumptions

Learn/Earn or Explore/Exploit: We don’t know the market value v(xt). Contextual problem: The product is different in each round and adversarially chosen. Assumptions:

slide-11
SLIDE 11

Challenges and Assumptions

Learn/Earn or Explore/Exploit: We don’t know the market value v(xt). Contextual problem: The product is different in each round and adversarially chosen. Assumptions:

  • 1. Linear model: v(xt) = θ⊤xt for θ ∈ Rd.
slide-12
SLIDE 12

Challenges and Assumptions

Learn/Earn or Explore/Exploit: We don’t know the market value v(xt). Contextual problem: The product is different in each round and adversarially chosen. Assumptions:

  • 1. Linear model: v(xt) = θ⊤xt for θ ∈ Rd.
  • 2. The parameter θ is unknown but fixed.
slide-13
SLIDE 13

Challenges and Assumptions

Learn/Earn or Explore/Exploit: We don’t know the market value v(xt). Contextual problem: The product is different in each round and adversarially chosen. Assumptions:

  • 1. Linear model: v(xt) = θ⊤xt for θ ∈ Rd.
  • 2. The parameter θ is unknown but fixed.
  • 3. Normalization: xt ≤ 1, ∀t, θ ≤ R.
slide-14
SLIDE 14

Goal and Applications

Goal: Minimize worst-case regret. Regret =

T

  • t=1

θ⊤xt − pt · 1{pt ≤ θ⊤xt} Applications: online advertisement, real-estate, domain pricing, ...

slide-15
SLIDE 15

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

slide-16
SLIDE 16

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

slide-17
SLIDE 17

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

slide-18
SLIDE 18

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

slide-19
SLIDE 19

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

slide-20
SLIDE 20

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

slide-21
SLIDE 21

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

◮ after log(1/ǫ) rounds we know θ ∈ [ˆ

θ, ˆ θ + ǫ].

◮ so ˆ

θ always sells so: Regret ≤ log 1 ǫ +

  • T − log 1

ǫ

  • · ǫ = O (log T)

for ǫ = O(log T/T).

slide-22
SLIDE 22

Non-contextual settting

Simple setting: One dimensional (d = 1) + no context xt = 1, ∀t. Regret = θT −

t pt · 1{pt ≤ θ}. and θ ∈ [0, 1].

Binary search: K0 = K1 = K2 = don’t sell sell 1 p1 p2

◮ after log(1/ǫ) rounds we know θ ∈ [ˆ

θ, ˆ θ + ǫ].

◮ so ˆ

θ always sells so: Regret ≤ log 1 ǫ +

  • T − log 1

ǫ

  • · ǫ = O (log T)

for ǫ = O(log T/T).

◮ Leighton & Kleinberg: Optimal Regret = O(log log T).

slide-23
SLIDE 23

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far.

slide-24
SLIDE 24

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far. Kt Kt+1 Kt+1 sell don’t sell θ⊤xt ≥ pt θ⊤xt < pt xt pt line pt line

slide-25
SLIDE 25

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far. Kt Kt+1 Kt+1 sell don’t sell θ⊤xt ≥ pt θ⊤xt < pt xt pt line pt line

slide-26
SLIDE 26

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far. Kt Kt+1 Kt+1 sell don’t sell θ⊤xt ≥ pt θ⊤xt < pt xt pt line pt line

slide-27
SLIDE 27

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far. Kt Kt+1 Kt+1 sell don’t sell θ⊤xt ≥ pt θ⊤xt < pt xt pt line pt line

slide-28
SLIDE 28

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far. Kt Kt+1 Kt+1 sell don’t sell θ⊤xt ≥ pt θ⊤xt < pt xt pt line pt line

slide-29
SLIDE 29

Contextual Setting : Knowledge Sets

Knowledge sets Kt All θ compatible with observations so far. Price ranges pt ∈ [pt, pt] pt = minθ∈Kt θ⊤xt (exploit price, always sells) pt = maxθ∈Kt θ⊤xt (never sells) Kt Kt+1 Kt+1 sell don’t sell θ⊤xt ≥ pt θ⊤xt < pt xt pt line pt line

slide-30
SLIDE 30

Game: multi-dimensional binary search

ˆ θ

slide-31
SLIDE 31

Game: multi-dimensional binary search

ˆ θ

slide-32
SLIDE 32

Game: multi-dimensional binary search

ˆ θ

slide-33
SLIDE 33

Game: multi-dimensional binary search

ˆ θ

slide-34
SLIDE 34

Game: multi-dimensional binary search

ˆ θ

slide-35
SLIDE 35

Game: multi-dimensional binary search

ˆ θ

slide-36
SLIDE 36

Game: multi-dimensional binary search

ˆ θ

slide-37
SLIDE 37

Game: multi-dimensional binary search

ˆ θ

slide-38
SLIDE 38

Game: multi-dimensional binary search

ˆ θ

slide-39
SLIDE 39

Game: multi-dimensional binary search

ˆ θ Our Goal: Find ˆ θ such that θ − ˆ θ ≤ ǫ, since |θ⊤xt − ˆ θ⊤xt| ≤ ǫ for all contexts xt.

slide-40
SLIDE 40

Idea # 1

Plan: Narrow down Kt to B(ˆ θ, ǫ) and exploit from then on. Issues with this approach:

◮ You may never see a certain feature. ◮ Some features might be correlated. ◮ Often it is not good to wait to profit.

slide-41
SLIDE 41

Idea # 2

Plan: Explore if there if enough uncertainty about θ⊤xt. Compute pt = maxθ∈Kt θ⊤xt and pt = minθ∈Kt θ⊤xt and exploit if |pt − pt| ≤ ǫ Which price to use in exploration: From 1-dimensional binary search, we can try: pt = 1 2

  • pt + pt
slide-42
SLIDE 42

Idea # 2

Plan: Explore if there if enough uncertainty about θ⊤xt. Compute pt = maxθ∈Kt θ⊤xt and pt = minθ∈Kt θ⊤xt and exploit if |pt − pt| ≤ ǫ Which price to use in exploration: From 1-dimensional binary search, we can try: pt = 1 2

  • pt + pt
  • Thm: Regret of this approach is exponential in d.

Intuition: Shaving corners of a polytope in higher dimensions.

slide-43
SLIDE 43

Idea # 3

Plan: Choose the price to split Kt in two halfs of equal volume. Issues with this approach:

◮ Not easily computable.

slide-44
SLIDE 44

Idea # 3

Plan: Choose the price to split Kt in two halfs of equal volume. Issues with this approach:

◮ Not easily computable. ◮ I don’t know if it works or not. ◮ We get Kt of small volume: vol(Kt) ≤ 2−t.

What we want is Kt ⊆ B(ˆ θ, ǫ)

slide-45
SLIDE 45

Solution: Ellipsoids

Solution: After cutting Kt regularize to its L¨

  • wner-John ellipsoid

(same idea as in the Ellipsoid Method).

slide-46
SLIDE 46

Solution: Ellipsoids

Solution: After cutting Kt regularize to its L¨

  • wner-John ellipsoid

(same idea as in the Ellipsoid Method).

slide-47
SLIDE 47

Solution: Ellipsoids

Solution: After cutting Kt regularize to its L¨

  • wner-John ellipsoid

(same idea as in the Ellipsoid Method).

slide-48
SLIDE 48

Solution: Ellipsoids

Solution: After cutting Kt regularize to its L¨

  • wner-John ellipsoid

(same idea as in the Ellipsoid Method).

slide-49
SLIDE 49

Solution: Ellipsoids

Solution: After cutting Kt regularize to its L¨

  • wner-John ellipsoid

(same idea as in the Ellipsoid Method).

◮ We are keeping in the knowledge set some region that are

known not to contain θ.

◮ Ellipsoids are simpler to control. We have a better grasp of

them since they can be described by a simple formula: E =

  • θ ∈ Rd; (θ − θ0)⊤A−1(θ − θ0) ≤ 1
  • for a positive definite matrix A.
slide-50
SLIDE 50

Learning Algorithm

Initialize A0 = I/ √ R and θ0 = 0, i.e. K0 = B(0, R). Implicitly we keep Kt = {θ; (θ − θt)⊤A−1

t (θ − θt) ≤ 1}

For each timestep t:

◮ Receive feature vector xt ∈ Rd. ◮ Compute pt = minθ∈Kt θ⊤xt and pt = maxθ∈Kt θ⊤xt. ◮ If pt − pt < ǫ pick price pt = pt (Exploit) ◮ Otherwise choose pt = 1 2

  • pt + pt
  • (Explore) and update:

At+1 = d2 d2 + 1

  • At −

2 d + 1bb⊤

  • and θt+1 = θt ±

1 d+1b where b = −θt + argmaxθ∈Ktθ⊤xt.

slide-51
SLIDE 51

Learning Algorithm

Initialize A0 = I/ √ R and θ0 = 0, i.e. K0 = B(0, R). Implicitly we keep Kt = {θ; (θ − θt)⊤A−1

t (θ − θt) ≤ 1}

For each timestep t:

◮ Receive feature vector xt ∈ Rd. ◮ Compute pt = minθ∈Kt θ⊤xt and pt = maxθ∈Kt θ⊤xt.

(Solving a linear system since Kt is an ellipsoid)

◮ If pt − pt < ǫ pick price pt = pt (Exploit) ◮ Otherwise choose pt = 1 2

  • pt + pt
  • (Explore) and update:

At+1 = d2 d2 + 1

  • At −

2 d + 1bb⊤

  • and θt+1 = θt ±

1 d+1b where b = −θt + argmaxθ∈Ktθ⊤xt.

slide-52
SLIDE 52

Main Theorem

Strategy for proving low regret Guarantee a small number of exploration steps. Lemma: If we explore for more than O

  • Rd2 log

Rd

ǫ2

  • steps, then

Kt will be contained in a ball of radius ǫ. From then on, the algorithm will only exploit. Theorem: Regret ≤ O(Rd2 log T) for ǫ = Rd2/T.

slide-53
SLIDE 53

Proof strategy

◮ We know vol(Kt+1) ≤ e−1/(d+1)vol(Kt).

slide-54
SLIDE 54

Proof strategy

◮ We know vol(Kt+1) ≤ e−1/(d+1)vol(Kt). ◮ We need a bound on the width, which is

maxθ∈Kt θ⊤x − minθ∈Kt θ⊤x. Corresponds to bounding the eigenvalues of At.

slide-55
SLIDE 55

Proof strategy

◮ We know vol(Kt+1) ≤ e−1/(d+1)vol(Kt). ◮ We need a bound on the width, which is

maxθ∈Kt θ⊤x − minθ∈Kt θ⊤x. Corresponds to bounding the eigenvalues of At.

◮ We know volt = cd ·

  • i λt

i = e−t/(d+1). If we show that

the smallest eigenvalue doesn’t decrease too fast, then all the eigenvalues must eventually be small.

slide-56
SLIDE 56

Proof strategy

◮ We know vol(Kt+1) ≤ e−1/(d+1)vol(Kt). ◮ We need a bound on the width, which is

maxθ∈Kt θ⊤x − minθ∈Kt θ⊤x. Corresponds to bounding the eigenvalues of At.

◮ We know volt = cd ·

  • i λt

i = e−t/(d+1). If we show that

the smallest eigenvalue doesn’t decrease too fast, then all the eigenvalues must eventually be small.

◮ We need to use the fact we never cut along directions that

have small width, where width = pt − pt.

slide-57
SLIDE 57

Controlling eigenvalues (high level details)

◮ Given eigenvalue of At we want to bound the eigenvalues of

At+1 = d2 d2 + 1

  • At −

2 d + 1bb⊤

  • Bt+1

◮ If λt 1 ≥ . . . ≥ λt d are the eigenvalues of At, then the

characteristic polynomial of Bt+1 is: ϕBt+1(x) =

  • j

(λj − x) ·

  • 1 − β
  • i

˜ b2

i

λi − x

  • ˆ

ϕBt+1 ◮ λt+1 d

≥ λt

d iff ˆ

ϕBt+1

  • d2−1

d2 λt d

  • ≥ 0. We show that this

inequality holds whenever λt

d is small enough and b⊤x ≥ ǫ.

slide-58
SLIDE 58

Connections

  • 1. Contextual Bandits: We have a contextual bandit setting

with adversarial context and a discontinuous loss function: p loss

  • 2. Out of the shelf contextual learning algorithms obtain

O( √ T) regret, are more computationally expensive, but don’t assume that θ is fixed, instead they seek to be competitive against the best θ: Regret = max

θ T

  • t=1

θ⊤xt · 1{θ⊤xt ≤ vt} − pt · 1{pt ≤ vt}

  • 3. Quantum states (?): Probing a buyer if he will buy at a

certain price shares similarities with probing a quantum state with a linear measurement.

slide-59
SLIDE 59

Lower bounds and Open Problems

  • 1. A lower bound of Ω(d log log T) can be derived from

embedding d independent instances of the 1-dimensional problem (feature vectors are coordinate vectors).

  • 2. Other applications of multi-dimensional binary search.
  • 3. Stochastic setting: θ ∼ F, x ∼ D.
slide-60
SLIDE 60

Thanks !