Have you ever purchased an item and thought, "Wow! That is a great deal. I would have been willing to pay twice that amount, or "I wonder if I paid too much for this item. I certainly would not have paid any more for it!" In the first case, you have a large consumer surplus. In the second case you have little or none. A consumer surplus
exists because all buyers pay the same price for a good or service. Some of those buyers would have been willing to pay more. Only when a person is willing to pay the price and nothing more is that buyer's consumer surplus reduced to zero. Many companies use algorithmic pricing to reduce the consumer surplus. Our British contributor wrote an article on how algorithmic pricing can back fire.
Even if you don't know what algorithmic pricing is, there's a good chance you've encountered it at some point. Have you, for example, ever stumbled across a listing on Amazon or eBay with an inexplicably high price tag? Or have you noticed that items you buy regularly on the same sites often vary in cost – sometimes changing price tags so quickly that the item has become more expensive by the time you've finished checking out? These glitches are caused by algorithmic pricing. But what does that term actually mean?
Simply put, an algorithm is a computer program – usually one which is designed to check for certain conditions, and when those conditions are true, carry out a set of pre-determined actions. Sellers often use algorithms to keep their prices up to date. They might, for example, write themselves a program that can keep an eye on a competitor's rates, and then automatically set their own rates a fraction higher or lower. That's a task that could be a full-time job for a human, but something which a computer can handle without breaking a sweat (and without wanting to be paid for its labor, either!)
It's not just online shopping where you see this phenomenon. There are many apps and services that make use of complicated computer programs to ensure that they are pricing competitively on a minute-by-minute basis. Ridesharing company Uber, for example, uses a complex algorithm to set its rates according to demand. When there are more customers than there are drivers, rates are adjusted automatically so that Uber can maximize its profit.
Of course, it isn't always a good idea to leave a computer in charge. Uber discovered this in early January when they saw a sharp spike in demand for rides in London. The algorithm responded as it was designed to do, and raised the price of a ride. On this occasion, however, the spike in demand was due to a strike on the underground train network, and the thousands of stranded commuters looking to get to work any way they could quickly sent Uber's rates spiralling to absurd levels. In the aftermath, Uber faced accusations of "ripping off" customers and "cashing in" on the strikes.
In this case, a human would no-doubt have been aware of the reason for the rise in demand, and could have instituted a sensible cap on fares to preserve the company's reputation, as well as avoiding any negative press.
That's the trouble with algorithms. They're smart most of the time, but when an unusual situation crops up they have no human intuition or reasoning to fall back on. A more common example can be seen on Amazon. Imagine that two different sellers set up algorithms designed to set the price of an item at just a fraction more expensive than the price of a competitor. First one computer, then the other will adjust the price of their listing upwards; until before long you have a situation in which a book with a normal retail value of about $70 is priced at $23 million!
Algorithms are useful tools, and whether a company is providing a service or selling a product, using one to determine pricing can really help maximize profit. But, as we can see from the examples of Uber and Amazon, they should be treated with caution, and are no substitute for a human's ability to actually think about what they're doing.
Questions for students to ponder: Can you think of a useful algorithm for setting the price of an item? What conditions would you want the algorithm to check for, and what should it do when it detects those conditions? Can you think of any way the algorithm you've come up with could go wrong?