We consider an infinite-horizon single-product pricing problem in which a fraction of customers is patient and the remaining fraction is impatient. A patient customer will wait up to some fixed number of time periods for the price of the product to fall below his or her valuation at which point the customer will make a purchase. If the price does not fall below a patient customer's valuation at any time during those periods, then that customer will leave without buying. In contrast, impatient customers will not wait, and either buy immediately or leave without buying. We prove that there is an optimal dynamic pricing policy comprised of repeating cycles of decreasing prices. We obtain bounds on the length of these cycles, and we exploit these results to produce an efficient dynamic programming approach for computing such an optimal policy. We also consider problems in which customers have variable levels of patience. For such problems, cycles of decreasing prices may no longer be optimal, but numerical experiments nevertheless suggest that such a decreasing cyclic policy (suitably chosen) often performs quite well.
- Consumer behavior
- Dynamic programming