Monday, February 23, 2015

Your Technology Usually Doesn't Matter

In my opinion, web technology has become so advanced that the technology for the most part should not matter as much. Unless you are doing something on the scale of Facebook or Google, your technology usually does not matter. Just choose the stack that you are most productive with. And some are more productive than others.

When choosing a technology stack I look to Southwest Airlines for inspiration. I might sound strange but more people should embrace the Southwest model. As an airline, they only have 1 type of plane and tries to keep things as simple as possible. So instead of building some of your products in Ruby, other parts in Python, and another part in Erlang; it is better to just stick with one or two core technology. The benefits of using esoteric technologies is quickly diminished by the level of complexity that you create yourself. The rationale behind this is to reduce context switching, reduce errors and bugs that occurs at the crack of technology systems, make it easy to train and onboard other people to your project, and make it easier for yourself to maintain it over the long run.

My rule of thumb is that software is maintained and read more often than it is written so now I tend to take much longer to write software because I have to think about how people would read it. For every 2 days of coding, I spend about 1 day of refractoring and I do this religiously to keep the technical debt low.

Tuesday, February 10, 2015

Selling Enterprise Software Part II: Setting Your Price as A Percentage of the Value Delivered

There is no hard rule for charging the percentage of the software base on the value delivered to the client. The short answer is I usually charge between 5% to 20% (read further more the long answer). You want your client to feel like they are getting a good deal after all. At this percentage of the value delivered it is almost a no brainer for them to keep on renewing year after year. Remember that when you sell a SAAS product you want your Life Time Value of the customer to be as high as possible and your cost of acquisition and service to be as low as possible. One way to do this is to help the client understand your value so that they can easy make the decision every year. 

The exact way to price software is a bit more complicated than what I described in the earlier post so I am going to explain in greater detail. You always want to start by evaluating the value added of your product because this creates and anchoring effect to that number, raises their willingness to buy (After all everyone wants a great deal), and creates a sense of urgency (now that they know how much they can save, they want to do it right away). The higher the value added number the better the anchoring effect. By starting the anchor at a high number, the client might will still be happy to pay for the percentage of value that you demand even if it might seem absurdly high from a different perspective. Remember that selling is highly based on psychology and unlike physics, psychology is not path independent. The way that you frame the conversation and the path that you take can make a big difference. Keep in mind that this only works if both you and the client agree on the methodology and the result of assess value. For best results, you want to have the client do some of the work on assessing the value that way they are "part" of the process. I generally just ask some questions to the client and subtly guide them through this process. 

In terms of what you can charge for the software, you have to also consider the organizational dynamics and their current expectations. For example, if the software can save a company $100 million per year and is rather simple it may be difficult for the purchasing agent to part with $10 million per year even though that is legitimately only a portion of the value delivered. In this situation, the upper bound is based on how much the organization can stomach. So in this case, I might be able to get away with $1 million per year (just a hypothetical example) after showing them that this is only 1% of the total value that they are getting. Another thing to consider about software these days is the cost that the company might incur by building their own custom solution. I usually raise this up if the bill for the software is around $100k to $500k. My talking point here is that since it would cost them ~$200K per developer and they would need to full-time Project manager and a part-time designer, it would be cheaper to have us build the product and service them. Another benefit for the company is that since we are focused on this product, we can innovate faster and gather ideas from other customers -- some of which may be their competitors. Overall they would get a better quality product and for much cheaper than building it in-house. Usually for SAAS solutions the client already knows that they do not want to build it themselves and probably have some horror stories to tell. 

In terms of competitors, I generally do not focus that much on the competition. The way I see business is that I build a product that delivers a certain value to my client and I sell it for a portion of that value. As long as I stick to this plan, the existence of competitors in the space is not really a big deal. One of the worst product strategy that you can do is to copy a competitor's features verbatim. By doing so you are essentially playing catch-up and creating a me too product instead of creating unique value with your product. If you look closely a software products for the enterprise, due to the specific needs of a company or an industry the "competitors" are actually quite different from each other. Some of the offering solve one or two pain points out of five and the client might have to mix and match 2 or 3 different solutions to solve their problem. To avoid direct competition and driving down prices, you want listen closely to the customer and build the product that solves all 5 of their pain points. If you can hit the sweet spot and create a holistic solution to one their software needs then there is not really a competitor. It is just the client and you and all that there is left to do is negotiate a price. 

There is a lot more say about pricing and I think that this is one of those areas where start-ups and even large companies can leave a lot of money on the table. One analogy that I like to think about is when you dine at a 5 star restaurant you are not only there for the food. You are there for the whole experience. Likewise the enterprise sales process needs to encompass the full experience from first contact through the follow-up service. Most companies forget this and think that a better product just like better food is all that is required for them to win the contract. I like to think your revenues are a function of your product and your sales strategy. A simplified equation might look like: 

Revenue = Sales_Strategy X Product 

A great product with a poor sales strategy leads to very low revenues. Likewise a good sales strategy and a bad product is a poor combination. The key takeaway is that your company's revenue depends as much on your product as how you sell it. 

If you are interested in learning more about pricing, you should read into practice called "Target Costing". It was developed by the Japanese in the 1980s to ensure profitability in new product development. Dan Ariely has some good books on anchoring and framing for price setting.

Selling Enterprise Software Part I: How to Set Your Price

I have been selling enterprise software for the construction industry (a niche product) for about a year. In my situation the sales process is fairly simple once you have the right product (e.g., product market fit). Although this example is about the construction industry, some of the ideas may apply to other industries as well.

I start by attending industry trade shows and other industry specific events (i.e., conferences). Typically the upper management of the construction companies (VPs and Project Executives) attend these events since some of the events are in the day time and regular people have to work at that time. These events are great for networking and gathering new clients because the people who you meet are either the decision-maker or they can quickly introduce you to the decision-maker in their organization. One thing that I learned from selling to companies is that you should start as high up the organization as possible. A new employee or some in middle management is much less likely to pass your message along to their boss. The quicker you can get to the decision-maker, the less expensive your sales process. If you think that each person you pitch has an 80% of purchasing your product if they are the decision-maker and if they are not the decision-maker then they have an 80% of passing you to their boss. By talking to the upper management your probability of success might be (.8*.8 = .64) assuming it takes two pitches for a purchase. If you go through the lower or middle management your probability of success is significantly less (.8*.8 *.8*.8*.8 = .32). You also have to keep in mind that each passes between individuals can take 2-5 days. In the first case, you might be able to complete the sale 1-3 weeks. In the second case, it might take 3-8 weeks for the same process (these numbers are hypothetical and the real numbers will depend on your product and industry but the point is easy to prove).
The most difficult part of enterprise sales is setting the right price. Typically enterprise software does one of two things. It either (1) increases revenue or (2) decreases cost. For both situation you need to quantify the client's current process - what they are doing now without your software. I typically measure labor hour saving per year per employee or new revenue generating potential per year. Then I calculate the new condition if the client were to use my software. The difference between the current condition and the new condition is the amount of value that the software creates for the client. And finally, the price that I charge them should be a percentage of the new value that has been created. The price also needs to be high enough to cover all the cost (sales, development, marketing, and operations) and profit(20% to 60%). It has to be within their budget and less than the cost of them developing it in-house.
Basically: 
If (Price < Value_Created && Price > Cost + Required_Profit && Price <= Clients_Budget && Price< Cost_of_In_House_Development){ Deal } else { No Deal }

By following the above formula you can ensure that:
(1) You do not take on any deal that is not profitable
(2) The client understands the value of your product (this makes renewals very easy)
(3) You don't waste time on clients without the right budget (sometimes you both see value but if they cannot pay for it, it is not going to work out)
(4) You software is more efficient than an in-house solution (this also helps with renewals later on). 

What I have found is that most software engineers under price their products. An engineer might think along the following lines: "It costs me about $1000 to host my servers on AWS per year. If I charge $5000 then I would be highly profitable." The problem with this way of thinking is that the person does not consider the value that they are adding to the client. The client doesn't really care about how much it cost you to build your product. They only care about the value that you can add them. In a later post, I will talk further by how to set the price based on the value delivered.

Stay tuned.

The Paradox of Choice: How to Use Psychology to Develop Your Tier Pricing for SAAS Products

If you look at every single SAAS, enterprise, and consumer facing company's website; you will notice that they all have a set of prices and features. This idea is not new and has been a ubiquitous practice. What is often not discussed is why these practices exist from a scientific perspective and how effectively develop the tier pricing model. Most companies either look around the web and copy more established players or develop their own tier offering with much less thought that they should.
Since we know that the price your product is as important as your product itself, being conscious about this practice can significantly improve your revenues.
The first thing to note is that people like choices. I am going to repeat this again: PEOPLE LIKE CHOICES. So given this statement, the worst thing that a company can do is not to give the customer a choice. If the customer does not see a choice in your offering, they will subconsciously create a choice in their head. In this case they will decide between pay for your product or not. If on the other hand, you have a nice set of offerings, the customer's attention will be focus on choosing between which of the offerings that best suits their needs. As you can see here, including choices in your offering changes the type of decision that the customer is thinking about. In the first case, they are focusing on the choice of whether to buy or not. In the later case, they are focusing on which offering to buy. This makes a big difference on your revenue and so you always want the customer in the second state of mind.
When creating a tier pricing model, you can also run into the problem of giving too much choices. Typically beyond 5 alternatives, clients have a difficult time of assessing which one is the best for them. This may lead to frustration and given the difficulty of making this decision, the client might not choose any of the alternatives. This is a classical case of paralysis by analysis. When making a decision, people want to be assured that they are making the right decision. If your pricing strategy can give a sense of assurance, your conversion rate will also be higher. Likewise people also want to walk away from the process feeling happy about their choice. Remember that whenever we make a purchase, we want to feel good about it afterwards. Bonus points if you make them feel so good that they will tell their friends about you.
So in order to create a fine balance between too few options and too many options, the good rule of thumb is to create between 3 to 4 choices for the customers with different features and price points. The exact method for how to create this price discrimination and feature discrimination will be discussed in greater detail in a later post. I will cover some basics here.
Within each of these tiers, the feature set needs to suit a particular customer demographic. For example, offering 1 is best for the small business owner. Offering 2 is best for a medium enterprise with 100 to 500 employees, etc. By deliberately alining the offering with a particular customer, you can more likely induce the affect of having a customer know that the choice that they pick is the right one for them.
There is also a number of tricks that you can use to enhance your pricing strategy. One of the most predominate trick is creating the "dummy or decoy" offering. The "dummy or decoy" offering is an offering that you know very few people would go for but the existence of the offering creates an anchoring effect to the other alternatives and frames the decision in a positive way. For example, expensive restaurants always list a few very expensive dishes and wine knowing that few people would purchase them. These alternatives create a psychological frame so that clients would feel happy when they order a slightly less expensive dish because they get to think that they are getting a great value. The "dummy or decoy" alternative is quite interesting because you often create this alternative to generate a comparison between our product and a more expensive competitor. You know that most people will not choose it but its existence can help the client's internal team justify your solution over the competitors. The reason that this trick works so well is that in decision-making, people generally think in terms of relative differences rather than absolute differences.
Another trick that you can play around with is the psychological perception of different numbers. For example the difference between $69, $70, and $74.99 are quite different even though they are not that far apart numerically. In this is an area where the best way to test is through experimentation but as with the other tricks this can make a big difference in the conversion rate.
A third trick that you can use is called anchoring. I learned this from a street performer in Europe. Whenever he performed, instead of asking people for a specific amount of money, he would say: "If you enjoyed the performance please support us with a small donation. I think that our performance is worth the sam price as 1 or 2 cups of coffee". In this situation, he anchors his services to a price of a cup of coffee which is familiar to the audience. In doing so he is able to get a reasonably good amount of money from everyone. You can apply the same trick to enterprise software as well for certain pricing situations.
So overall this post talks about the paradox of choice and how to use it for creating a tier offering for SAAS products. Every organization, every software, and every industry is unique and these are just some guidelines. One thing to take away from this post is that pricing strategies are a lot more complex than what most people think. Within this complexity is opportunity to fine tune your offering to increase revenues.
If you have any further questions about this post please email at: doanh [at] paramountdecisions [dot] com.