Why should we care about dynamic pricing?

Dynamic pricing is a strategy where product prices change based on how people behave when they shop.
It's been used highly successfully in different industries like e-commerce (for example, Amazon), ticket sales (like Ticketmaster), food delivery (for instance, Deliveroo or Uber Eats), and selling cars (like Tesla). This strategy helps businesses change their prices when there's a lot of demand or less demand.
Recently, because things have been uncertain and changeable, more businesses are using dynamic pricing. 21% of online stores are already using it, and 15% more are planning to use the strategy within the next 12 months.
Share of e-commerce companies planning to implement dynamic pricing in North America and Europe
Source: Statista.
One big example of this working well is Amazon. They change their product prices about once every 10 minutes and say that it helps them make 25% more money from online sales.
In the next part, we'll talk about how dynamic pricing works and the challenges it can bring, and then we'll finish up with some final thoughts.
Starting from the beginning
Starting from the beginning is usually a good idea, so let's begin there.
The most important thing we need to know to find the best price is how people will react to different prices.
If we can make a pretty good guess about how much people will want something at various prices, we can figure out which price will give us the most money (like revenue or profit).
For those of you who are really into economics, this might remind you of something called a demand curve.
Now, estimating a demand curve might sound a bit tricky, but let's make it simpler. Imagine that when we change the price by a certain percentage, the number of people who want the thing changes by the same percentage, no matter how expensive it is. Economists often use this idea to estimate demand curves in real life.
To do this, we can use some math tools and draw a nice curve through our data because we know our constant-elasticity demand function looks like this:
Now that we have a reasonable estimate of our demand function, we can derive our expected profit at different price points as we know:
Profit = p x D(p) - varcost x D(p) - fixedcost
Keep in mind that fixed costs, like rent and insurance, stay the same even if demand or prices change. So, these fixed costs don't affect how dynamic pricing algorithms work.
Now, we can take a look at our trusty high-school math book and figure out the price that will help us make the most profit, which is what we've been trying to do all along.
There we go: we should price this product at 4.24 and we can expect a bottom-line profit of 7.34
But its not that simple....
Demand always changes over time
Let's start with some not-so-great news: unfortunately, you can't just figure out a demand curve once and be finished with it.
Why? Well, because demand is affected by many things (like market trends, what your competitors are doing, how people act, and more) that tend to change a lot over time.
You might be thinking, "Can't we just fix this by checking the demand curve every now and then?" And you'd be partly right! But there's a catch, and that brings us to our next problem.
Below, we have an (exaggerated) example that illustrates what we're talking about.
Another thing... we do not always have demand data at different price points!
In our actual practice, we've tested three different prices in the past: $7.5, $10, and $11. We collected information about how many people wanted our product at each of these prices.
But here's the tricky part: because we only have data for these three prices, it's hard for us to figure out exactly how many people will buy our product at other prices. It's like trying to guess how many people will want to buy our product if we set the price at $8 or $9, based on what we've seen happen at $7.5 and $10. But trying to guess what would happen if we set the price at $2 or $20? That's really tough, and we probably can't do it very accurately.
Enter Statistics! Thompson Sampling
This situation is a good example of a common problem in statistics called the "exploration-exploitation trade-off."
Exploration: means we want to try out different prices to learn more about what people are willing to pay for our product.
Exploitation: On the other hand, means we want to use the information we've already gathered to set the best possible price for our product and make the most money.
Instead of trying to figure out one demand function using the information we have, we'll create a bunch of possible demand functions. Imagine it like guessing which one is right. We use a method called Thompson sampling to randomly pick one of these possible demand functions. Then, we figure out the best price based on this guess, see how many people buy at that price, and use that to get better at guessing the demand function next time.
π When our estimates are not very certain, we will examine a wider range of demand patterns, and this will lead us to try out different prices. In this way, we will investigate various options.
π When we are quite sure about our estimates, we will focus on a demand pattern that is very similar to the actual one and often choose a price that is very close to the best price. This way, we will take advantage of the situation.
First, we will begin by setting some initial guesses for the values that make up our demand equation. Afterward, we can adjust these initial guesses based on the information we gather from the data we have for prices of $7.5, $10, and $11. We then feed these back into initial guesses (posteriors) with extra information in a continued process of iteration.
We gradually see that our posterior distribution gets narrower and narrower until we become more confident on what the real demand curve is!
But price optimization involves more than just estimating a demand curve and basic profit formula?
Absolutely. In fact, there are several extra challenges to consider, like limits on inventory or production capacity and intricate cost structures.
What's great about our system is that it consists of three parts that you can adjust separately.
This means you can make the price optimization part as unique and complicated as you want, as long as it still takes in a demand function and gives you a price as a result.
Changing prices can have a big impact on my profits...how do I reduce this risk to reduce missed sales?
Changing prices can have a big impact, and it's essential to figure out how to manage this during testing.
π A/B testing: You can gradually introduce the new pricing system by applying it to a small but increasing percentage of your transactions. This way, you can start small and monitor the effects over time.
π Product segmentation: Similar to A/B testing, you can also divide the testing by product types. For example, you can start by implementing dynamic pricing for one type of product and expand it slowly.
π Setting price limits: In its purest form, Thompson sampling can suggest almost any price point, even though it becomes less likely. To minimize risks, you can establish upper and lower limits for the price range you feel comfortable experimenting with.
Furthermore, Bayesian approaches (intentionally) measure uncertainty explicitly. This enables you to gain a clear understanding of the variation in demand estimates.
If youβre interested in seeing what pricing strategy works the best on any channel you sell on, book a call with us to chat about how Cartsmart can help.
About the Author
Ben Marshall
Ben is the co-founder and CTO of CartSmart. Before building A/B pricing tests for e-commerce stores, he was solving similar problems for John Lewis and Just Eat.