Where there’s muck, there’s brass

When I was a kid working in the bread factory, my nemesis was dough. It was sticky and hard to remove and it got everywhere. I got home with specks of dough in my hair. Every shift included a couple of hours of scraping dough off of machinery. I carried dough-scrapers in my back pocket. Sometimes a huge lump of dough would go flying someplace where it shouldn’t and gum up everything. I had dough nightmares.

I worked in the production side of the factory. The other side did packing and shipping. Their nemesis was crumbs. Crumbs got everywhere. The shipping crew went home with crumbs in their hair. Every shift included a couple of hours of brushing crumbs out of machinery. They carried little brushes in their back pockets. I’m sure they had crumb nightmares, too.

Pretty much any job that you can get paid for includes dealing with one gnarly problem. If you don’t have dough or crumbs to deal with, maybe you work in a razor blade factory and go home with little cuts all over your fingers. Maybe you work for VMWare and have nightmares about emulating bugs in sophisticated video cards that games rely on. Maybe you work on Windows, and your nightmare is that the simplest change can cause millions of old programs and hardware devices to stop working. That’s the gnarly part of your job.

One of our gnarly problems is getting FogBugz to run on our customers’ own servers. Jason Fried over at 37signals has a good summary of why this is no fun: “You have to deal with endless operating environment variations that are out of your control. When something goes wrong it’s a lot harder to figure out why if you aren’t in control of the OS or the third party software or hardware that may be interfering with the install, upgrade, or general performance of your product. This is even more complicated with remote server installs when there may be different versions of Ruby, Rails, MYSQL, etc. at play.” Jason concludes that if they had to sell installable software, they “definitely wouldn’t be as happy.” Yep. Work that makes you unhappy is what I mean by “a gnarly problem.”

The trouble is, the market pays for solutions to gnarly problems, not solutions to easy problems. As the Yorkshire lads say, “Where there’s muck, there’s brass.”

We offer both kinds of FogBugz–hosted and installable–and our customers opt 4 to 1 to install it at their own site. For us, the installable option gives us five times the sales. It costs us an extra salary or two (in tech support costs). It also means we have to use Wasabi, which has some serious disadvantages compared to off-the-shelf programming languages, but which we found to be the most cost-effective and efficient way, given our code base, to ship software that is installable on Windows, Linux, and Mac. Boy, I would love nothing more than to scrap installable FogBugz and run everything on our servers… we’ve got racks and racks of nice, well-managed Dell servers with plenty of capacity and our tech support costs for the hosted version are zero. Life would be much easier. But we’d be making so much less money we’d be out of business.

The one thing that so many of today’s cute startups have in common is that all they have is a simple little Ruby-on-Rails Ajax site that has no barriers to entry and doesn’t solve any gnarly problems. So many of these companies feel insubstantial and fluffy, because, out of necessity (the whole company is three kids and an iguana), they haven’t solved anything difficult yet. Until they do, they won’t be solving problems for people. People pay for solutions to their problems.

Making an elegantly-designed and easy-to-use application is just as gnarly, even though, like good ballet, it seems easy when done well. Jason and 37signals put effort into good design and get paid for that. Good design seems like the easiest thing to copy, but, watching Microsoft trying to copy the iPod, turns out to be not-so-easy. Great design is a gnarly problem, and can actually provide surprisingly sustainable competitive advantage.

Indeed Jason probably made a good choice by picking the gnarly problem where he has a lot of talent (design) to solve, because it doesn’t seem like a chore to him. I’ve been a Windows programmer for ages, so making a Windows Setup program for FogBugz, from scratch in C++ doing all kinds of gnarly COM stuff, doesn’t seem like a chore to me.

The only way to keep growing–as a person and as a company–is to keep expanding the boundaries of what you’re good at. At some point, the 37signals team might decide that hiring one person to write the Setup script and do installation support would pay for itself, and generate substantially more profit than it costs. So unless they deliberately want to keep the company small, which is a perfectly legitimate desire, they might eventually lose their reluctance to do things that seem gnarly.

Or maybe they won’t. There’s nothing wrong with choosing the fun part of your business to work on. I’ve certainly been guilty of that. And there’s nothing wrong with deciding that you only want to solve a specific set of problems for a small, select group of people. Salesforce has managed to become big enough by sticking to hosted software. And there are plenty of smaller software shops providing a fantastic lifestyle for their crew with no desire to get any bigger.

But the great thing is that as you solve each additional gnarly problem, your business and market grows substantially. Good marketing, good design, good sales, good support, and solving lots of problems for customers all amplify each other. You start out with good design, then you add some good features and triple your customer base by solving lots of problems, and then you do some marketing and triple your customer base again because now lots of people learn about your solution to their pain, and then you hire sales people and triple your customer base yet again because now the people who know about your solution are reminded to actually buy it, and then you add more features to solve more problems for even more people, and eventually you actually have a chance to reach enough people with your software to make the world a better place.

P.S. I’m not claiming here that 37signals would sell 5 times as many copies if they offered Installable Basecamp. First of all, one of the reasons we may sell so many more installable versions of FogBugz is that it appears, to some customers, to be cheaper. (It’s not cheaper in the long run because you have to pay for the server and administer it yourself, but that’s subjective.) Also, our support costs for the installable version are only as low as they are because 80% of our customers opt to run on Windows Server. Because Windows systems are so similar, it’s much easier for us to support the lowest common denominator. The vast majority of our tech support costs are caused by the diversity in Unix platforms out there–I’d guess that the 20% of our Unix sales result in 80% of our support incidents. If an installable version of Basecamp required Unix, the support cost would be disproportionately expensive compared to a hypothetical installable Windows version. Finally, another reason our experience might not translate to 37signals is that we’ve been selling installable software for seven years now; the hosted version has only been out for about six months. So we have a big installed base used to running FogBugz on their own servers. If you only look at new FogBugz customers, the ratio of installable to hosted goes down to 3 to 1.

How to demo software

It’s already all a blur. 26 cities. 6 weeks. 2913 attendees. $160,000. 23 hotels, one Cambridge college, one British library, and a “Sociëteit Het Meisjeshuis.” (“Gesundheit!”)

Somewhere, I don’t know where, I’m standing exhausted outside a hotel ballroom right after the umpteenth demo, and someone is giving me some ridiculous objection. “Well, it’s all good and fine what FogBugz does, but we won’t use it, because we need PROJECT MANAGEMENT.”

Excuse me, SIR? Do you have some kind of SUDDEN AMNESIA? Traumatic HEAD INJURY maybe? Did you WATCH the demo?

(I didn’t really say that.)

While I was trying to think of a nice way to reply, another potential customer, standing right there, says to the guy, “Why not try it out on a little project? Won’t cost you anything.”

A bit flips. The guy suddenly stops shaking his head and starts nodding it. “Yeah, that’s a good idea. I’ll do that,” he says, smiling. SOLD.

WTF just happened.

No matter how much I talk, I’m just one person. And no matter how much I try to sell people on FogBugz, it’s all coming from me, so that can only add up to a certain amount of credibility, and it just wasn’t passing the credibility threshold for Mr. Amnesia. It wouldn’t matter what I said. He was in “I object!” mode, groping around for some reason not to buy FogBugz, even if he couldn’t come up with anything rational.

The minute a second person—his doppelganger! Same height! Same grey hair! Dressed just like him!—said something, BLING! It was like triangulation. Oooooh! Now he’s seeing it from two different angles. It’s 3D. Must not be an optical illusion.

Social proof, Robert Cialdini calls it. That gave me an idea. I knew from the registration forms that in every city, about 30% of the attendees were already using FogBugz. I started asking a question at the beginning of the demo: “How many people here use FogBugz?” Hands go up. That’s nice. Everybody looks around. Wow, they think. People actually use this software. It’s not just some downloadable piece of shareware some guy wrote in his basement. I started getting comments like, “I didn’t realize so many people in Austin were already using FogBugz!”

The one thing you can say about the 26 public FogBugz demos that I just did is that the first one (Vancouver) was pretty weak, and the last one (Copenhagen) was much, much better, and it was pretty much continuous improvement along the way. If you ever have to do a public demo of your software, here are some of those things that I learned.

Biggest turnouts

FogBugz World Tour

  1. London
  2. Toronto
  3. Seattle
  4. Austin
  5. Boston
  6. Arlington, VA
  7. Amsterdam
  8. Vancouver
  9. Dublin
  10. Denver (Boulder)
  11. Cambridge, England
  12. San Francisco
  13. Mountain View, CA
  14. Dallas
  15. New York
  16. Atlanta
  17. Copenhagen
  18. San Diego
  19. Waterloo
  20. Emeryville, CA

Picking cities

It’s a good thing we did a survey to figure out where to go, because the number of attendees in each city was nothing like we expected. If you can only go to five cities, go to London, Toronto, Seattle, Austin, and Boston. Notice I didn’t say San Francisco or Silicon Valley. Those were 12 and 13 on our list, respectively. I have no explanation for this, other than that the huge tech community in the valley has so many damn opportunities to go to tech demos that they find them boring. Shown at right are the 20 biggest turnouts we got for the FogBugz demo.

Booking the room

If you have any control whatsoever over the place where the demo is going to take place, here are three things you absolutely have to do.

  1. Get the nicest venue in town. Big, shiny, sparkly, modern, glass and marble and wood everywhere. Your prospective customers start out with no visual image to associate with your company. The demo is the one image that’s going to stick in their head. It has to be nice. We weren’t as careful about this as we should have been, and booked a couple of frightful old relics before we realized what a bad impression we were making. Before you try hotels, look for libraries, museums, and universities: many of went into debt building beautiful, modern lecture halls and now they’re trying to rent them out to pay for all that nice blond wood paneling and the 265 built-in powered Bose speakers.
  2. Get a room that is exactly the right size. You’d much rather have a packed room with a people standing in the back and the hotel staff rushing to set up a few more rows of chairs. This is far better than a half-empty room where the audience feels like maybe this isn’t really the hottest tech event ever to hit Kitchener, Ontario. Most hotel rooms can be set up “theater style” (just rows of chairs) or “classroom style” (chairs and desks). They can fit in twice as many chairs theater style. That gives you plenty of flexibility after you book the room to change the layout so the room feels full.
  3. Get a room with very high ceilings. You’re going to be doing a demo on screen. Everyone has to be able to see it. Usually hotels have two kinds of rooms: smaller meeting rooms, with low ceilings, and ballrooms, with high ceilings. In the meeting rooms, it’s impossible to put the screen high enough for everyone to see it. Don’t trust the hotel on this. We were careful to ask every hotel if the screen was going to be visible throughout the room. They always told us it would. They were almost always lying. Just ask for the ceiling height of the room. They’re not smart enough to lie about that.

Setting the stage

Serve coffee. Coffee contains caffeine, which makes people cheerful. If you’re lucky, they’ll attribute their cheeriness to your software instead of the caffeine.

Play upbeat music while you’re waiting for everyone to arrive. The kind of popular, upbeat, Margaritaville music Americans love to listen to when they’re on vacations in warm places. Give people name tags so they introduce themselves to one another and socialize while they’re waiting. Crank up the music so they have to speak loudly. Loud music and loud conversation and a crowded room adds up to the sensation that this is the hot event.

Cover the place in professionally-produced, high-quality logo stuff. We had brochures, pens, pads, and big FogBugz banners. Wall-to-wall kiwis.

Dress exactly one level better than your audience. Too dressy, and you’ll look like you think you’re better than your customers. Not dressy enough, and the audience will get the feeling that you don’t really care.

With geeks, it’s probably enough to put on a nice Banana Republic black jacket over your polo shirt or turtleneck. Do NOT, for the LOVE OF ALL THAT IS GOOD, wear any clothing with writing on the outside. I know how much you love your JavaOne T-shirt, with the happy little waving tooth. Wear that to your wedding or something, not when you’re on stage. Lose the sneakers, too.

Set the screen to 800 x 600. Make everything as big as possible. If you’re demoing an application that needs more than a half million pixels, go back home and redesign the app.

Notice the lights shining on the screen? That’ll be a problem. Find the guy who can turn them off. Sometimes there’s no switch for those particular lights. Find the guy who will come with a ladder and unscrew them.

Lock the doors until the room is ready. Otherwise people will start wandering in an hour and a half before the demo is due to start watching you change out of your beloved t-shirt, running around taping cables down on the floor, and putting brochures on every chair. This makes you look like a gopher and removes some of the authority you’re going to need to convince people to buy your software.

Bring someone with you to take care of mechanical details: passing out nametags, setting up microphones. The more people you have with you, the more legit you’ll look.

Blow them away

A common, but boring, way to design a demo is to start by stating the problem, and then explaining how your magical software solves that problem. Another boring way to design a demo is with PowerPoint slides and lots of bullet points. An incredibly boring way to design a demo is to talk about your company and how many employees you have and how many millions of kroner of revenue you make every year. Nobody cares.

The only interesting way to design a demo is to make it a story. You have a protagonist, and the protagonist has a problem, and they use the software, and they… almost solve the problem, but not quite, and then everybody is in suspense, while you tell them some boring stuff that doesn’t fit anywhere else, but they’re still listening raptly because they’re waiting to hear the resolution to the suspenseful story, and then (ah!) you solve the protagonists last problem, and all is well. There is a reason people have been sitting around telling stories around campfires for the last million years or so: people like stories.

One of the stories from the FogBugz demo: Your boss asks you when you’re going to ship, and you look at the EBS report and discover that you only have a 6% chance of making it on time, so you suggest ditching low priority features, and that doesn’t go over very well, so you drill down to the individual developer’s schedules and… (pause for long lecture on EBS algorithm) …you realize that Milton needs some help making his estimates better, and Jane needs to give some of her work to Brandon, and then you can ship on time. Ta da!

As you go along, be sure to accidentally bump into all the nice little “fit and finish” features of your product. Oh look, that column is halfway off screen. No problem. I’ll just drag it over. (“Wha!” the audience gasps, “you dragged a column in HTML?”) Oh, look, this feature is supposed to be done by next Tuesday. I’ll type “next tuesday” in the due date box. (“OMG!” they squeal. You typed “next tuesday” and it was replaced with “11/20/2007”). Those nice little touches you put so much hard work into are not the meat of the demo, so don’t talk about them, just act nonchalant. What, doesn’t every web app let you resize and drag columns?

As you go through your speech, make sure you say all the important points two ways. People tend to daydream a bit. They may have missed your point the first time. They might not be native speakers—maybe one of the words or expressions that you used is not in their vocabulary. Don’t repeat the exact same sentence twice, which is annoying and pompous. Word it differently the second time.

If you’re not an experienced public speaker, watch a videotape of yourself. Have your colleagues give you brutal and honest feedback. You may be discover that you’re doing really annoying things while you speak: fidgeting with a pen, scratching your nose (on the outside!), whatever.

As you do demos, pay close attention to what works, and what doesn’t. Vary things a little bit every time… you might stumble on better ways of doing things. The first FogBugz demo in Vancouver started with two (lame) jokes. By the time I got to Copenhagen, I had stumbled on about ten jokes that made the whole audience laugh. I had better answers to questions. I even discovered better ways to do things in FogBugz. As time goes on, if you let the demo evolve, it’ll get better and better. You can practice in front of a mirror or your colleagues, and indeed, you should, but that only gets you so far… there’s nothing like a live audience to refine a demo. (By the way, that’s why you still find Jerry Seinfeld showing up unannounced at little hole-in-the-wall comedy clubs in New York. He’s testing material.)

Follow up

Ever wonder what the difference is between sales and marketing?

The official definition is that marketing creates demand, while sales fulfils demand.

Giving demos is marketing, not sales.

You need both the pull of marketing and the push of sales to actually sell products. It’s like trying to clean out the inside of an alligator with a rope: one guy has to pull on the rope from the back, the other guy has to feed the rope in the front. Following up means contacting people who came to the demo, finding out if they have questions, answering their objections, and doing a normal sales process. It doesn’t mean being pushy or slimy. It’s just recognizing that even the people who showed up and liked your product might go back to the office and have other things to work on, and weeks might pass and they might forget the warm fuzzy feeling they got from seeing your great thing, and they might never buy it unless you call them and ask for the sale.

I screwed up the sales part. I didn’t really plan in advance for the dramatic increase in customer interest in FogBugz 6.0 that the world tour drummed up, so right now there aren’t enough people at Fog Creek to follow up with every lead… we’re struggling to keep our heads above water just answering incoming questions, which have roughly tripled since 6.0 shipped. We’re getting thousands of people making FogBugz trials, so while I was in Malmö, Babak and Michael put $65,000 worth of new servers on my credit card to handle the demand. This is what I always told myself would be “a good problem to have,” but it’s a problem, nonetheless. As a bootstrapped company we didn’t really have the luxury of hiring in advance of anticipated demand, but now that the demand has materialized, we gotta hire some more great people, stat. If you’re smart and get things done, please apply for a job at Fog Creek.

Camels and Rubber Duckies

You’ve just released your latest photo-organizing software. Through some mechanism which will be left as an exercise to the reader, you’ve managed to actually let people know about it. Maybe you have a popular blog or something. Maybe Walt Mossberg wrote a rave review in the Wall Street Journal.

One of the biggest questions you’re going to be asking now is, “How much should I charge for my software?” When you ask the experts they don’t seem to know. Pricing is a deep, dark mystery, they tell you. The biggest mistake software companies make is charging too little, so they don’t get enough income, and they have to go out of business. An even bigger mistake, yes, even bigger than the biggest mistake, is charging too much, so they don’t get enough customers, and they have to go out of business. Going out of business is not good because everybody loses their job, and you have to go work at Wal*Mart as a greeter, earning minimum wage and being forced to wear a polyester uniform all day long.

So if you like cotton uniforms you better get this right.

The answer is really complicated. I’m going to start with a little economic theory, then I’m going to tear the theory to bits, and when I’m finished, you’ll know a lot more about pricing and you still won’t know how much to charge for your software, but that’s just the nature of pricing. If you can’t be bothered to read this, just charge $0.05 for your software, unless it does bug tracking, in which case charge $30,000,000 for it.

Now. Where was I.

Some Economic Theory

Imagine, for the moment, that your software costs $199. Why $199? Well, because I have to start somewhere. We’ll try other numbers real soon now. For now, imagine that you charge $199 and that gets you 250 customers.

Let me plot that:

This little chart I made means that if you charge $199, 250 people will buy your software. (As you see, economists are very odd people, and they like to put the quantity sold on the x-axis with the price on the y-axis. If 250 people bought your software, it must mean that you charged $199!)

What would happen if you raised the price to $249?

Some of the people who might have been willing to pay $199 are going to think $249 is too much, so they’ll drop out.

Obviously, people who wouldn’t even buy it for $199 are certainly not going to buy it at the higher price.

If 250 people bought at $199, we must assume that less than 250 people would buy it at $249. Let’s guess, oh, 200:

What if we charged less? Say, $149? Well, everyone who would buy it for $199 will certainly buy it for $149, and there will probably be even more people who think $149 is affordable, so let’s say we could sell 325 copies at $149:

And so on and so forth:

In fact rather than graphing a few discrete points here, let’s draw the complete curve that includes all these points, and while I’m at it I’ll fix the x-axis so it’s to scale:

Now you can tell me any price between $50 and $400 and I’ll tell you how many people will buy your software at that price. What we have here is a classic demand curve and the demand curve is always downward-sloping, because the more you charge, the fewer people will be willing to buy your software.

These numbers are not, of course, real. The only thing I’m asking you to believe, so far, is that the demand curve is downward sloping.

Augustin Cournot(If it’s still bothering you that I put the quantity on the x-axis and the price on the y-axis, when clearly the quantity is a function of the price, not the other way around, please take it up with Augustin Cournot. He probably has a blog by now.)

So how much should you charge?

“Uh, $50, because then I sell the most units!”

No no no. You’re not trying to maximize units, you’re trying to maximize profits.

Let’s calculate profits.

Assume each unit of software that you sell costs you an incremental $35.

Maybe it cost you $250,000 to develop the software in the first place, but that’s a sunk cost. We don’t care about that anymore, because the $250,000 is the same whether you sell 1000 units or 0. Sunk. Kiss it goodbye. Set any price you want, the $250,000 is gone and therefore not relevant any more.

At this point all we can worry about is the incremental cost of selling each additional unit. That might include shipping and handling, that might include tech support, bank service charges, CD duplication and shrinkwrapping, whatever; I’m going to be really hand-wavy here and use $35 as my incremental cost.

Now we can whip out our handy-dandy copy of Visicalc:


Here’s how to read that spreadsheet. Each row is a scenario. Row 3: If we were to charge $399, then we would sell 12 copies, making $364 profit per copy, for a total profit of $4368.


This is really cool. I think we’re on the verge of solving the problem of how much to charge for software! I’M SO EXCITED!

The reason I’m so excited is it looks like if you plot price against profit, you get a nice curve with a big hump in the middle! And we all know what humps mean! Humps mean local maxima! Or camels. But here they mean local maxima!

In this chart the actual data is shown as little blue diamonds, and I’ve asked Excel to draw a nice polynomial trendline on top. So now all I have to do is drop a line straight down from the peak of the hump to find out the price I should charge to make a maximal amount of profit:

“O frabjous day! Callooh! Callay!” I chortle. We have found the optimum price, $220, and that’s how much you should charge for your software. Thanks for your time.


Thank you for your time! Nothing more to see here! Move along now!

You’re not leaving.

I see.

Some of the more observant members of my audience have detected through careful analysis of the scrollbar position in their web browser that I might have something more to say other than “$220.”

Well, maybe. There’s just a tiny little loose end I left untied which I might as well tie up now if you’re all still up for it. Ok? OK!

You see, by setting the price at $220, we managed to sell, let’s say, 233 copies of the software, at a total profit of $43,105, which is all good and fine, but something is distracting me: all those people who were all ready to pay more, like those 12 fine souls who would have paid a full $399, and yet, we’re only charging them $220 just like everyone else!

The difference between $399 and $220, i.e., $179, is called consumer surplus. It’s the extra value that those rich consumers got from their purchase that they would have been perfectly happy to do without.

It’s sort of like if you were all set to buy that new merino wool sweater, and you thought it was going to cost $70, which is well worth it, and when you got to Banana Republic it was on sale for only $50! Now you have an extra $20 in found money that you would have been perfectly happy to give to the Banana Republicans!


That bothers good capitalists. Gosh darn it, if you’re willing to do without it, well, give it to me! I can put it to good use, buying a SUV or condo or Mooney or yacht one of those other things capitalists buy!

In economist jargon, capitalists want to capture the consumer surplus.

Let’s do this. Instead of charging $220, let’s ask each of our customers if they are rich or if they are poor. If they say they’re rich, we’ll charge them $349. If they say they’re poor, we’ll charge them $220.

Now how much do we make? Back to Excel:

Notice the quantities: we’re still selling the same 233 copies, but the richest 42 customers, who were all willing to spend $349 or more, are being asked to spend $349. And our profits just went up! from $43K to about $48K! NICE!

Capture me some more of that consumer surplus stuff!

But wait, that’s not all. After selling all these 233 copies, I felt kind of bad about the people who were only willing to spend $99. After all, if I could sell a few more copies to those guys at $99, I’d still be making some money, since my marginal cost is only $35.

What if we called up all the customers who said “no thanks” at $220, and offered them the software at $99?

At $99, we have 450 potential customers, but don’t forget that 233 of them already paid full price, leaving us with 217 extra customers who just wouldn’t go along with the program and pay the full price:

Babymosesinabasket, I think we just made $62K in profit! All in all, an extra twenty thousand buckeroos, cash spendable money, which goes a loooong way towards a down payment on that fishing boat you’ve had your eye on. All from the power of segmentation: separating your customers into different groups according to how much they are willing to pay, and extracting the maximal consumer surplus from each customer. Holy Segments, Batman, how much money could we make if we ask every customer to tell us their maximum willingness to pay and then charge them that?

Surreal! Almost $80K! That’s almost double the profits we made having just one price! Capturing the consumer surplus is clearly quite profitable. Even the 350 annoying people who only want to give me $49 each are making some contribution to the profits. All these customers are happy because we’re asking them to pay the amount they were willing to pay already, so it’s not like we’re ripping anyone off. Kind of.

Here are some examples of segmentation you’re probably familiar with:

  • Senior citizen discounts, since older people tend to be living on a “fixed income” and are willing to pay less than working-age adults
  • Cheap afternoon movie matinees (useful only to people without jobs)
  • Bizarre airfares, where everyone seems to be paying a different price. The secret about airfares is that people who are flying on business get their company to reimburse them, so they couldn’t care less how much the ticket costs, while leisure travellers are spending their own money and they won’t go if it costs too much.

Of course, the airlines can’t just ask you if you’re travelling on business, because pretty quickly everyone would catch on and lie to get the cheaper fares. But business travellers almost always travel on weekdays, and they hate spending a weekend away from home. So the airlines instituted policies that if you’re staying over a Saturday night, you’re probably not travelling on business, and they give you much cheaper fares if you stay over a Saturday night.

    There are more subtle ways to segment. You know those grocery coupons you see in the paper? The ones that get you 25 cents off a box of Tide detergent if you clip them out and remember to bring them to the store? Well, the trouble with grocery coupons is that there’s so much manual labour involved in clipping them, and sorting them out, and remembering which ones to use, and choosing brands based on which coupons you have, and so on, and the net effect is that if you clip coupons you’re probably working for about $7.00 an hour.

    Now, if you’re retired and living off of social security, $7 an hour sounds pretty good, so you do it, but if you’re a stock analyst at Merrill Lynch getting paid $12,000,000 a year to say nice things about piece-of-junk Internet companies, working for $7 an hour is a joke, and you’re not going to clip coupons. Heck, in one hour you could issue “buy” recommendations on ten piece-of-junk Internet companies! So coupons are a way for consumer products companies to charge two different prices and effectively segment their market into two. Mail-in rebates are pretty much the same as coupons, with some other twists like the fact that they reveal your address, so you can be direct marketed to in the future.

    There are other ways to segment. You can market your products under different brand names (Old Navy vs. The Gap vs. Banana Republic) and hope that the rich people conveniently remember to buy their clothes at the Banana while the po’ people go to Old Navy. In case there was any risk of people forgetting and going to the wrong store, the Banana Republic stores are conveniently situated in neighborhoods full of $2,000,000 condos while the Old Navy store is near the train station where you haul your poor tired ass back to New Jersey after a day of hard manual labor.

    In the world of software, you can just make a version of your product called “Professional” and another version called “Home” with some inconsequential differences, and hope that the corporate purchasers (again, the people who are not spending their own money) will be too embarassed at the thought of using “Windows XP Home Edition” at work and they’ll buy the Pro edition. Home Edition at work? Somehow that feels like coming to work in your pyjamas! Ick!

    Quick trick: if you’re going to try to pull the segmenting idea, you’re probably going to be better off offering a discount to certain users rather than trying to charge some users a premium. Nobody likes feeling ripped off: people would rather buy a $199 product for $99 than a $59 product for $79. Theoretically, people should be rational. $79 is less than $99. Realistically, they hate feeling like someone is ripping them off. They’d much rather feel like they’re getting a bargain than feel like they’re getting gouged.


    That was the easy part.

    The hard part is that everything I just told you is sort of wrong.

    Working my way backwards, this business about segmenting? It pisses the heck off of people. People want to feel they’re paying a fair price. They don’t want to think they’re paying extra just because they’re not clever enough to find the magic coupon code. The airline industry got really, really good at segmenting and ended up charging literally a different price to every single person on the plane. As a result most people felt they weren’t getting the best deal, and they didn’t like the airlines. When a new alternative arose in the form of low cost carriers (Southwest, jetBlue, etc.) customers had no loyalty whatsover to the legacy airlines that had been trying to pick their pockets for all those years.

    And God help you if an A-list blogger finds out that your premium printer is identical to the cheap printer, with the speed inhibitor turned off.

    So, while segmenting can be a useful tool to “capture consumer surplus,” it can have significant negative implications for the long term image of your product. Many a small software vendor has seen their revenues go up and the amount of customer bickering about price go way down when they eliminated coupons, discounts, deals, multiple versions and tiers. Somehow, it seems like customers would rather pay $100 when everyone else is paying $100 than pay $79 if they know there’s someone out there who got it for $78. Heck, GM made a whole car company, Saturn, based on the principle that the offered price is fair and you don’t have to bargain.

    Even assuming you’re willing to deal with a long-term erosion of customer goodwill caused by blatant price discrimination, segmentation is just not that easy to pull off. First of all, as soon as your customers find out you’re doing it, they’ll lie about who they are:

    • Frequent business travellers rearranged their tickets to include dual Saturday-night stays. For example a consultant living in Pittsburgh and working in Seattle Monday through Thursday would buy a two week trip from Pittsburgh to Seattle and then a weekend trip home in the middle. Both trips included Saturday night stays, it was the same flights they would have taken anyway, just much cheaper.
    • Got an academic discount? Everyone who is even vaguely related to someone vaguely associated with academia will start using it.
    • If your customers talk amongst themselves, they’re going to find out about the price you’re offering the other people, and you’ll find yourself forced to match the lowest prices for everyone. Especially the big corporate purchasers who theoretically should have the “maximum willingness to pay” since they represent rich customers. Corporations have full time purchasing departments staffed with people whose entire job is whittling down prices. These people go to conferences where they learn how to get the best price. They practice saying “no. cheaper.” all day long in front of mirrors. Your sales guy doesn’t stand a snowflake’s chance in hell.

    There are two forms of segmentation that slightly-too-clever software companies engage in that are not such great ideas:

    Bad Idea #1: Site Licenses.

    The opposite of segmentation, really. I have certain competitors that do this: they charge small customers per-user but then there’s a “unlimited” license at a fixed price. This is nutty, because you’re giving the biggest price break precisely to the largest customers, the ones who would be willing to pay you the most money. Do you really want IBM to buy your software for their 400,000 employees and pay you $2000? Hmm?

    As soon as you have an “unlimited” price, you are instantly giving a gigantic gift of consumer surplus to the least price-sensitive customers who should have been the cash cows of your business.

    Bad Idea #2: How Much Money Do You Have? Pricing.

    This is the kind used by software startups founded by ex-Oracle salesmen where the price isn’t on the website anywhere. No matter how much you search to find the price, all you get is a form to provide your name, address, phone number, and fax number, for some reason, not that they’re ever going to fax you anything.

    It’s pretty obvious here that the plan is to have a salesman call you up and figure out how much you’re worth, and then charge you that much. Perfect segmentation!

    This doesn’t work so good either. First of all, the low end buyers are just going to move on. They will assume that if the price isn’t listed, they can’t afford it. Second, the people who don’t like salesmen harassing them will just move on.

    Worse, as soon as you send a message that your price is negotiable, you’re going to end up reverse segmenting. Here’s why: the big companies you sell to, the ones who should be willing to give you the most money, are incredibly sophisticated about purchasing. They’ll notice that your sales guy or gal is working on commission, and they’ll know that he’s got quarterly quotas, and they’ll know that both the salesperson and the company are going to be incredibly desperate to make a sale at the end of the quarter (the salesperson to get his commission, and the company to avoid getting their knees shot off by their VCs or Wall Street). So the big customers will always wait until the last day in the quarter and end up getting a ridiculously good price which somehow involves weird accounting shenanigans so the company can book a lot of revenue that they’re never really going to get.

    So, don’t do site licenses, and don’t try to make up prices as you go along.


    Do you really want to maximize profits? I glossed over something. You don’t necessarily care about maximizing profits this month. You really care about maximizing all your profits, over time, in the future as well. Technically, you want to maximize the NPV of the stream of all future profits (without ever having your cash reserves dip below zero).

    Diversion: What’s an NPV?

    What’s worth more, $100 today or $100 in one year?

    Obviously $100 today, because you can invest it, say, in bonds, and at the end of the year you’ll have, like, $102.25.

    So when you’re comparing the value of $100 in one year to $100 today, you need to discount the $100 based on some interest rate. If the interest rate is 2.25%, for example, those $100 in the future should be discounted to $97.80, which is called the net present value (NPV) of $100 one year in the future.

    Go even further into the future, and you need to discount even more. $100 in five years, at today’s interest rates, is worth only $84 today. $84 is the net present value of $100 in five years.

    Which would you rather earn?

    $5000, $6000, $7000 over the next three years

    $4000, $6000, $10000 over the next three years

    Option two sounds like a better deal, even after discounting the future earnings. If you take the second option, it’s like investing $1000 in year one and getting $3000 back two years later, which is a very respectable investment!

    The reason I bring this up is because software is priced three ways: free, cheap, and dear.

    1. Free. Open source, etc. Not relevant to the current discussion. Nothing to see here. Move along.
    2. Cheap. $10 – $1000, sold to a very large number of people at a low price without a salesforce. Most shrinkwrapped consumer and small business software falls into this category.
    3. Dear. $75,000 – $1,000,000, sold to a handful of rich big companies using a team of slick salespeople that do six months of intense PowerPoint just to get one goddamn sale. The Oracle model.

    All three methods work fine.

    Notice the gap? There’s no software priced between $1000 and $75,000. I’ll tell you why. The minute you charge more than $1000 you need to get serious corporate signoffs. You need a line item in their budget. You need purchasing managers and CEO approval and competitive bids and paperwork. So you need to send a salesperson out to the customer to do PowerPoint, with his airfare, golf course memberships, and $19.95 porn movies at the Ritz Carlton. And with all this, the cost of making one successful sale is going to average about $50,000. If you’re sending salespeople out to customers and charging less than $75,000, you’re losing money.

    The joke of it is, big companies protect themselves so well against the risk of buying something expensive that they actually drive up the cost of the expensive stuff, from $1000 to $75000, which mostly goes towards the cost of jumping all the hurdles that they set up to insure that no purchase can possibly go wrong.

    Now, a quick glance around the Fog Creek website reveals that I’m firmly in camp #2. Why? Selling software at a low price means that I can get thousands of customers right away, some small, some large. And all those customers are going to be out there using my software and recommending it to their friends. When those customers grow, they’ll buy more licenses. When people working at those customers move to new companies, they’ll recommend my software to those new companies. Effectively I am willing to accept a lower price now in exchange for creating grassroots support. I see the low price of FogBugz as being an investment in advertising that I expect will pay off many times over in the long run. So far, it’s working very well: FogBugz sales have grown more than 100% for three years without marketing, solely based on word-of-mouth and existing customers buying additional licenses.

    By comparison, look at BEA. Big company. Big price tag. The price alone means almost nobody has experience with their product. Nobody comes out of college and starts a dotcom using BEA technology, because they couldn’t afford BEA technology in college. A lot of other good technologies have doomed themselves with high prices: Apple WebObjects was irrelevant as an application server because it started at $50,000. Who cared how good it was? Nobody ever used it! Anything made by Rational. The only way these products get into the hands of users is with an expensive full-frontal sales pitch. At these prices, the sales pitch is made to the executive, not the techie. The techies may well actively resist bad technology with good sales that the executives force down their throats. We have lots of FogBugz customers who have high-priced Remedy, Rational, or Mercury products sitting on the shelves after investments of well over $100,000, because that software isn’t good enough to actually use. Then they buy a couple of thousand dollars worth of FogBugz and that’s the product they really use. The Rational salesperson is laughing at me, because I have $2000 in the bank and he has $100,000. But I have far more customers than he does, and they’re all using my product, and evangelizing it, and spreading it, while Rational customers either (a) don’t use it or (b) use it and can’t stand it. But he’s still laughing at me from his 40 foot yacht while I play with rubber duckies in the bathtub. Like I said, all three methods work fine. But cheaper prices is like buying advertising and as such is an investment in the future.


    Where was I.

    Oh yeah, before I started frothing at the mouth, I was picking apart the logic of deriving a demand curve. When I walked you through that whole discussion of the demand curve, you were probably asking yourself, “How do I know how much people are willing to pay?”

    You’re right.

    That’s a problem.

    You can’t really find out what the demand curve is.

    You can have focus groups and ask people, but they’ll lie to you. Some people will lie to show off their generosity and wealth. “Heck, yeah, I’d buy a pair of $400 jeans in a New York Minute!” Other people will lie because they really want your thing and they think you’ll decide to charge less money if they tell you a low number. “Blogging software? Hmm. I’d pay, at most, 38 cents.”

    Then you ask another focus group the next day, and this time, the first man to speak has a crush on a pretty woman in the group, and he wants to impress her, so he starts talking about how much his car cost and everyone is thinking Big Numbers. And the day after that, you serve Starbucks during the break, and while you’re in the john everyone unbeknownst to you gets into a side conversation about paying $4 for a cup of coffee, and they’re in a real frugal mood when you ask them about their willingness to pay.

    Then you finally get the focus group to agree that your software is worth $25 a month, and then you ask them how much they would pay for a permanent license and the same people just won’t go a penny over $100. People seriously can’t count.

    Or you ask some aircraft designers how much they would pay and they sort of think $99 would be a maximum price, even though aircraft designers regularly use software that costs on the order of $3000 a month without being aware of it, because someone else does the purchasing.

    So from day to day you get radically, and I mean radically different answers when you ask people how much they’re willing to pay for something. The truth is, the only way to determine how much someone will pay for something is to put it up for sale, and see how many people actually buy it.

    Then you can try twiddling the prices to measure price sensitivity and try to derive the demand curve, but until you have something like 1,000,000 customers and you are absolutely sure that customer A will not find out you are offering a lower price to customer B, you will not get statistically meaningful responses.

    There’s a real strong tendency to assume that experiments done on large populations of people should work out just like experiments done with chemicals in a high school lab, but everyone that has ever tried to do experiments on people knows that you get wildly variable results that just aren’t repeatable and the only way you can be confident in your results is to carefully avoid ever doing the same experiment twice.

    And, in fact, you can’t even be sure that the demand curve is downward sloping.

    The only reason we assumed that the demand curve is downward sloping is that we assumed things like “if Freddy is willing to buy a pair of sneakers for $130, he is certainly willing to buy those same sneakers for $20.” Right? Ha! Not if Freddy is an American teenager! American teenagers would not be caught dead in $20 sneakers. It’s, like, um, the death penalty? if you are wearing sneakers? that only cost $20 a pair? in school?

    I’m not joking around here: prices send signals. Movies in my town cost, I think, $11. Criminy. There used to be a movie theatre that had movies for $3. Did anyone go there? I DON’T THINK SO. It’s obviously just a dumping ground for lousy movies. Somebody is now at the bottom of the East River with $20.00 cement sneakers because they dared to tell the consumer which movies the industry thought were lousy.

    You see, people tend to believe that you get what you pay for. The last time I needed a lot of hard drive space I invested in some nice cheap hard drives allegedly designed by Mr. Porsche himself that went for about $1 a gigabyte. Within six months all four had failed. Last week I replaced them with Seagate Cheetah SCSI hard drives that cost about $4 a gigabyte because I’ve been running those since I started Fog Creek four years ago without a glitch. Chalk it up to “you get what you pay for.”

    There are just too many examples where you actually do get what you pay for, and the uninformed consumer is generally going to infer that the more expensive product is better. Buying a coffee maker? Want a really good coffee maker? You have two choices. Find the right issue of Consumer Reports in the library, or go to Williams-Sonoma and get the most expensive coffee maker they have there.

    When you’re setting a price, you’re sending a signal. If your competitor’s software ranges in price from about $100 to about $500, and you decide, heck, my product is about in the middle of the road, so I’ll sell it for $300, well, what message do you think you’re sending to your customers? You’re telling them that you think your software is “eh.” I have a better idea: charge $1350. Now your customers will think, “oh, man, that stuff has to be the cat’s whiskers since they’re charging mad coin for it!”

    And then they won’t buy it because the limit on the corporate AMEX is $500.


    The more you learn about pricing, the less you seem to know.

    I’ve been nattering on about this topic for well over 5000 words and I don’t really feel like we’re getting anywhere, you and I.

    Some days it seems like it would be easier to be a taxi driver, with prices set by law. Or to be selling sugar. Plain ol’ sugar. Yep. That would be sweet.

    Take my advice, offered about 20 pages back: charge $0.05 for your software. Unless it does bug tracking, in which case the correct price is $30,000,000. Thank you for your time, and I apologize for leaving you even less able to price software than you were when you started reading this.

    Mouth Wide Shut

    When Apple releases a new product, they tend to surprise the heck out of people, even the devoted Applewatchers who have spent the last few months riffling through garbage dumpsters at One Infinite Loop.

    Microsoft, on the other hand, can’t stop talking about products that are mere glimmers in someone’s eye. Testers outside the company were using .NET for years before it finally shipped.

    So, which is right? Should you talk endlessly about your products under development, in hopes of building buzz, or should you hold off until you’ve got something ready to go?

    Fog Creek‘s default policy so far has been Absolute Radio Silence. At times, I’ve considered changing that policy. After all, why not open up our complete development process to the world, let everybody peek in the windows and see what’s going on? There’s nothing to hide!

    In my personal life, I have a policy lifted from Marlon Brando, playing a mob boss in The Freshman: “Every word I say, by definition, is a promise.” The best way to avoid breaking promises is not to make any, and that’s as good a reason as I need not to talk about future versions of our products. There are four other reasons for this in software development.

    Competition. I’m not overly paranoid about competition, but as soon as you have competition that’s paying attention to what you do, if you discuss features that haven’t shipped yet, you’re handing them an opportunity. If you keep your mouth shut until you ship, you will be guaranteed at least half a year without competition before everyone else matches that cool new feature.

    Underpromise and overdeliver. When you tell a customer or potential customer you’re going to add a feature, they will inevitably imagine that the feature will do all kinds of things that it may not actually do. When you tell someone about the upcoming clam steaming feature, no matter how careful you are to delimit what it actually does, they will inevitably spin elaborate fantasies about how it cures baldness and warts and has a telepathic user interface. When you finally deliver something, they are bound to be disappointed. This can only hurt.

    Flexibility. If you want to keep your promises, you can’t talk about upcoming features and release dates unless you’re willing to lock into them. This may eliminate flexibility that you need later when Murphy strikes. And if you don’t keep your promises, you’ve ruined something that’s very hard to get back: your reputation.

    Simplicity. If your policy is Radio Silence, every employee understands it and can follow it. If your policy is in any way complicated, nobody is sure what to do and things leak.

    Doesn’t advance buzz and publicity help? I don’t know. A little, but not as much as nonadvance publicity. I’m inclined to think that publicity that comes out when you can’t actually buy the product is 90% wasted. Remember that incredibly big burst of Segway publicity about a year ago? With Jeff Bezos and Steve Jobs talking about how “IT” was going to revolutionize the entire universe? Cities would be reconfigured. OK, so, we all talked about the Segway, but nobody could buy one, so it’s not clear that it was publicity well-spent. And it certainly seems like the same amount of publicity would have helped more if it appeared when every Walmart has Segways in stock.

    One purported advantage of talking about your products under development is to get early feedback. But honestly, you don’t need feedback from the entire world. Look at the poor Chandler guys; they started talking about their product before any design was done and immediately got buried under such a deluge of feedback just managing it all was impossible. Now everybody thinks Chandler is going to be All Things to Everybody. Quite a lot to live up to. I’ve found that you can get just as good feedback from a few hundred carefully selected customers. The other 800,000 people that send you suggestions might be sending good suggestions, but you already heard them, so they aren’t adding value. (By the way, Chandler did exactly the right thing, since they are an open source project. They don’t care if competitors use their ideas, and at this stage it’s worth sifting through everybody’s crazy feature requests if that’s the price of attracting more volunteers to write the code.)

    A lot of times customers and potential customers come to me and say, “FogBUGZ (or CityDesk) is almost perfect for my needs. But I need a salad spinner. When are you going to have a salad spinner? Will the next release have a salad spinner?” To these people I have to say, “I don’t know. We might, or we might not. If you really can’t live without a salad spinner, I’m afraid you’ll have to go somewhere else.” OK, maybe we lose a sale or two by refusing to indulge in the vaporware habit. I’m a patient man, and Fog Creek is profitable so I don’t need the cash. Next year we’ll have salad spinners, and I won’t lose the sale. It’s better than selling you something that doesn’t fit your needs and having you get pissed off at me, or getting a reputation as being unable to deliver.

    How Many Lies Can You Find In One Direct Mail Piece?

    George Meyer, one of the writers on the Simpsons, likes to collect examples of advertising in which “the word-to-falsehood ratio approaches one.” In an interview in the New Yorker, he complained about a magazine ad for a butter substitute called Country Crock. “It’s not from the country, there is no crock,” he told the interviewer. “Two words, two lies.”

    Recently I got this piece of junk mail from Earthlink (larger view)

    Just for my own personal amusement, I decided to try to count how many lies are on this particular fine specimen.

    1. The whole piece is attempting to disguise itself as an express mail letter. They are working on the assumption that ignorant recipients will confuse it with a Federal Express letter, or perhaps think that “Urgent Express” is a company that competes with FedEx. Uh huh. Ooooh! The marketing slimeballs at Earthlink must have drooled at the thought of old Marge in a nursing home, practically falling over with excitement that she got an urgent express letter, like those letters you get from fancy New York lawyers urging you to sue the nursing home.

    2. It says that it’s urgent, and it isn’t, it’s just a stupid CD trying to get you to sign up for Internet access.

    3. It says that it’s “express”, but it’s mailed using “Presorted Standard” rate, which isn’t express at all, in fact, it probably cost precisely $0.23 to mail (FedEx is $15.34).

    4. It has a tracking number, but it is using a class of mail service that is not tracked, and I’ll bet you anything that everybody gets the same tracking number. Sorry, folks, for $0.23 you don’t get tracking.

    5. It uses a fake handwriting font, intended to make you think that it is not junk mail but rather something that a person made for you.

    6. It says that it’s from Sky Dayton (founder of Earthlink) although it is actually from Earthlink’s direct marketing department. I can just see the thought going through the copy writer’s head. “People won’t open it unless it’s from someone they know, and everyone knows Sky Dayton!”

    7. It has a “sender’s account number” which is, of course, completely fake (Anybody care to try to use it to sign up for Earthlink?)

    8. It has a little “payment” section with a checkbox indicating that it should be billed to the sender, even though this has no meaning on standard mail.

    9. It has a “release signature” with a little annotation that this signature is “required,” when actually no “release signature” is required at all.

    10. It says “Time Sensitive Material Enclosed,” which is almost certainly untrue and meaningless anyway.

    11. On the back, it says “Weight Limit 8 Ounces” even though the actual weight limit for Presorted Standard is 16 Ounces.

    12. It actually has a piece of clear plastic glued on the front. The clear plastic serves no purpose whatsoever except to imitate FedEx envelopes which have the same plastic to hold the mailing manifest, much like those little butterflies which have fierce markings in attempt to convince butterfly-eaters that they themselves are fierce, even though they couldn’t be less fierce if they were dressed up like Julie Andrews in high heels singing “My Favorite Things.” In nature this is called Batesian mimicry.

    The biggest problem with direct mail (what we normal people call “Junk Mail”) is that 99% of it (literally) gets thrown away unopened, Batesian mimicry or not. To combat this, direct mailers will do anything to get you to open their junk, no matter how dishonest.

    When I went to Earthlink’s home page, it only took me a couple of clicks to find their Mission and Core Values and Beliefs. And what it says there is:

    We require complete honesty and integrity in everything we do.

    I didn’t even have the energy to open the damn thing and see how many lies were on the inside. Does this mailing strike you as “completely honest”? Or just “business as usual?” Am I too sensitive? Should I go back to complaining about complaining about Bloatware?

    [Followup: Earthlink is unrepentant.]