Abstract: Disclosed are various embodiments for determining discounts that optimize revenue for customers or customer subsets. Transaction records that are associated with a customer and a merchant are obtained. Each transaction record identifies a corresponding purchase of a quantity of one of multiple items by the customer from the merchant at a corresponding unit purchase price. A normalized unit purchase price is generated for each transaction record by normalizing the respective unit purchase price relative to a respective unit retail price at the time of purchase. A demand curve is generated for the customer for the items based at least in part on the transaction records and the normalized unit purchase prices. The demand curve identifies a quantity of units that the customer is predicted to purchase at a range of normalized unit purchase prices.