Asana's shocking pricing practices, and how you can get away with it too
Posted ten years ago
If one apple costs $1, how much would five apples cost? How about 500?
In everyday life, when you buy more of something, you get more bananas for your buck. The fixed costs decrease. If you sell a lot of apples to one person, you don't have to wrap each one, you don't have to pay fixed transaction fees on each sale, and you don't have to worry about finding someone to buy the other 499 apples. The savings are passed on to the consumer. Often, software is priced this way too.
That's why I love Asana's pricing page. It breaks the rules.
Asana prices their product based on its value. It lets teams coordinate about projects and tasks they are working on.
Asana is very clear about the value they give. In fact, the pricing page tells you that the only difference between the paid and free versions is that "premium plans allow you to coordinate with more team members, as well as the features listed in the table above. All other user features are exactly the same."
It's a mathematical law that as the number of people in a team grows, the number of communication paths grows quadratically. A company with 100 people using it is therefore getting much more value out of it than a company of 15 people, so they pay higher per-seat costs.
Homework
What is the one thing that gives your software value? Are you directly charging for that thing, or something else? How can you take advantage of team effects to provide more value when more people use it?
Get tips on improving your software business, right in your inbox
Enter your email and I will send you tips on selling software right in your inbox. I have been selling software since 1998, and whether it's consulting products, adsense, or software as a service, I have done it all, and I want to tell you what I wish I knew when I started.
They put you in a room, give you a problem, and stare at you while you fumble around with markers on a whiteboard for 45 minutes. With a little preparation, you'll look like a pro.
In a job interview, I once asked a very experienced embedded software developer to write a program that reverses a string and prints it on the screen. He struggled with this basic task. This man was awesome. Give him a bucket of spare parts, and he could build a robot and program it to navigate around the room. He had worked on satellites that are now in actual orbit. He could have coded circles around me. But the one thing that he had never, ever needed to do was: display something on the screen.
You learn a lot of things on the job as a programmer. Years ago, at my first coop position, I was a little confused when my boss went to Visual C++, and tried to open the .EXE file as a project. What a dolt! I thought. That's not going to work.
After many months, your software sale is complete! You've got a purchase order, sent the invoice, delivered the software. You're already handling some support issues from users at BigCorp. Then BANG! Martha from Procurement emails back, as a favour, just to let you know that BigCorp has not received your W8 form with a valid tax id, and therefore will be withholding 30% of the purchase price of your multi-thousand dollar product for taxes.
The challenge: Install Linux on a really old laptop. The catch: It has only 32 MB of RAM, no network ports, no CD-ROM, and the floppy drive makes creaking noises. Is it possible? Yes. Is it easy? No. Is is useful? Maybe...
I have never been a gamer. The most I've played was Super Mario Bros (the original). I then took a break for a decade or two and spent a few weeks with Simcity 4. All that changed when I got Google Cardboard.
At some point in your programming career you may have to go through a graph of items and process them all exactly once. If you keep following neighbours, the path might loop back on itself, so you need to keep track of which ones have been processed already.