Price discrimination
29 Aug 2005
around evening time
Matt Winckler
The other day I spent my lunch hour sitting through presentation about an automated testing tool. The tool allowed you to set up predefined tests to run against your application by simply walking through the actions you wanted to test and telling it what the expected results were. The idea is to greatly simplify regression testing, and it looked like a pretty handy piece of software. About a quarter of the way through the (informal) presentation, someone had the audacity to ask: “So, how much does it cost?” The presenter’s response: “We’ll have some pricing information at the end.” On with the demo. About halfway through the presentation someone asked: “Right. And how much does this cost, again?” The presenter’s response: “I can tell you that…we’ll be getting to it at the end.” Fabulous. More demo. About three quarters of the way through, another person asked: “But how much does a license cost?” The presenter’s response: “We have some pricing info for you at the end.” Okay, that’s getting pretty lame, but whatever. The end of the presentation (finally) arrives. There is a slide for questions and answers. “Any questions?”
Well, yes, actually, just one. How much does the bloomin’ piece of code cost?! Ah yes, that. Well, uhm, do you remember exactly what licenses run, Presenter’s Assistant? Why yes, yes I do, quoth Assistant. A mere $6,500 for a single seat license.
sound of pin dropping
But that’s just for a single seat license…one developer, continued Assistant. For a single floating license that could be shared among developers (but only one using it at a time), it’s about $9,500 or so.
sound of people leaving
I think price discrimination is an excellent thing. The idea is that you charge one set of people one price for a good or service, and then perhaps charge another group more than the first, because they can afford it and are willing to pay what the first group won’t. So for example, market research might show that an average 18-year-old disaffected high school student is willing and able to pay $8.50 for a movie ticket, but an average 65-year-old will only be willing or able to pay $5. So the movie theater sets up a system of price discrimination whereby the senior citizen gets a $3.50 discount. The disaffected high school student is happy, because he would have bought the ticket anyway. The senior citizen is happy because he can now afford to go to the movies. The movie theater is happy because they have sold more tickets than they otherwise would have. Everybody is happy! Until, of course, the disaffected high school student becomes a disaffected college student and reads Marx and Nietzsche, at which point he starts a riot because movie tickets should cost $0.25, because of worker’s rights, and movies don’t mean anything anyway. But that is a separate discussion.
When done well, price discrimination is a powerful tool to maximize profit on a given good or service. But here is the kicker: the set “done well” in my book does not include the tactic “conceal price at all costs”. That particular item belongs in the set “signs of a true lamer”, because it almost inevitably means one of two things: a) the item costs more, ounce-for-ounce, than pure cocaine (and the vendor knows that the buyer would be getting more value for money if he opted for the latter), or b) the item costs however much you have, and the vendor needs time to figure out just how much you’re willing to spend, then set the price at $5 below that level.
The real trick is to set up your price discrimination such that either people know about the difference and simply don’t care (a la senior citizens’ discounts) or people never know that they’re not paying the same thing as their neighbor. In either case, though, I utterly fail to see how hiding the price helps anybody. A while back, there was one piece of software that had a very polished web site, professional lists of features and specifications, and so forth, but absolutely no price anywhere online. Nowhere! This software was even sold through a variety of resellers, and there was still no price to be found. I finally had to make several phone calls to the vendor and several of its resellers. Once I finally got someone on the phone, it was as simple as asking how much it cost, and they told me, just like that. Okay, thought I, what on earth was the point of all that? I didn’t even have to listen to a sales pitch, or give my name, or company, or phone number, or anything! That was simply exceeding lameness, making my job harder than it needed to be.
If you’re going to sell something, tell people how much it costs, even if that means telling different people that it costs different amounts. Price discrimination done well is a beautiful thing; making people dig for a price is just dumb.

or b) the item costs however much you have, and the vendor needs time to figure out just how much you’re willing to spend, then set the price at $5 below that level.
Ah yes, we had that happen to us when looking for a GIS library last year. It was pretty humorous. I think this year the group working on it is using an Open Source library instead.
I’m not suprised at how expensive that software is, though. Someone at work just bought a set of tools for Mathematica that were over $10,000. (And that’s a one user single seat license).
True. Specialized software can be expensive, and that’s ok if it’s providing some unique service or functionality. But if I am willing to go to the minor inconvenience of writing my automated unit tests into the source code rather than having an (admittedly handy) point-and-click interface, I can get automated regression testing functionality for free with tools like NUnit. I doubt Mathematica has a comparable free alternative. :)
The big selling point on this testing software was how much time it would save in regression testing, and how that would pay for itself. Now I don’t know about everybody else’s chargeout rates, but for $6,500 I can do a lot of regression testing, especially if I’ve taken a few one-time hours to write automated tests in the code.