There has been numerous articles, blogs, whitepapers which highlights the difficulties and challenges involved in building highly Scalable, Profitable and Sustainable SaaS Applications especially Multi-Tenant based solutions. These articles points out very few real challenges which are so obvious and common across any kind of SaaS Applications. The degrees of complexity in building “Pure” Multi-Tenant SaaS application will vary from one domain to another for Example: Building a SaaS Application targeted to HealthCare industry is completely different from SaaS based education or collaboration platform.
Now let’s look at the 16 Ingredients of a Successful SaaS Company,
1. Customer Acquisition
Whether you are building a next salesforce or a simple application “Customers” are the one who are going to help you win your breads. So the important point is the SaaS offering must provide easy self-serviceable model where customers come on-board themselves like 1-2-3 steps. There is a self-assumption between ISVs as some products can never be automated or built as configurable. There may be one or two such complex products where it requires some level manual intervention to on-board a new customers, but 90% of the application can be automated to remove the hindrance of manual participation.
Please email me if you believe your current application can never be made self-serviceable.
Freemium is one of the captivating strategies to make customers to try your solution first hand before they make a purchase decision. It has now become a standard for all SaaS application irrespective of the domain or segment they target. Many SaaS products provide 10/15/30 day’s free trial by default but now there are SaaS Products who provide a free subscription for life long without any charge (very limited or entire functionality) with an assumption of they can convert these customers showing the high value of other plans in their product.
It’s extremely important to know where our customers are heading to. Researchers from SaaS University (http://www.softletter.com) reports only about 25% of Trials Customers are getting converted to real paid customers on an average. There is no optimal conversion rate; ideally every provider wants to convert 100% trial Customers to Paying Customer. If this is not the case, go back to your analytics and see where the problem lies. Analytics play a vital role in understanding the Customer behaviour, Usage pattern, which feature excites the users most etc.
It’s the Heart of the SaaS Applications because Customers will look at your Offerings and Feature sets and then next immediate step is how you offer them and how have you classified and how much it will cost. Lot of research and homework required to properly classify the features and components into appropriate packages. The best way is to look at your competitors and see how they are offering and are they dividing the packages with appropriate features. Below are some of the best practises to consider when we create Subscription Packages
- Make sure Minimum Base Value proposition of your product is given in all the Packages
- Determine the frequency of Usage among all the Features and identify which feature should go where
- Make sure the Entry level Price is reasonable for your targeted Customers
- Explore if Freemium model is the best for your product
Whatever may be the secondary motto behind running a SaaS Business, but the primary reason is “Monetization”. So Recurring Billing is one of the major area where you should focus at. Recurring billing comprises of lot other sub component such as
- A.Pricing Plans
- B.Usage based/Flat Pricing
- C.Pre-Paid & Post Paid
- D.Support for multiple Currencies
Like we mentioned each customer is unique, their size of their pocket is also different and if you want to cater all size of companies from Startup , SMP and Enterprises, you application must of dynamic pricing that could different pockets. In general, you have to identify an attractive pricing for the value that you provide, but for customers who negotiate, who doesn’t fit the regular pricing you should also offer a way to accommodate such customer as well.
But end of the day, it’s your call to accommodate or not to accommodate such customers!
B.Usage Based/Flat Pricing
These 2 are the widely accepted pricing model of the SaaS breed applications. As an application provider decide which will suit better for you. If your strategy is to bill based on usage, then you must employ metering engine to audit the usage by Customer/User.
C.Pre-Paid & Post Paid
Identify when you want to charge the Customer, i.e. Do you want to charge the Customer on the first date of the billing cycle (Pre-Paid) or do you want to charge by the end of the month (Post-paid). Carefully analyse the market and your competitors and look at how and when they charge the customer, on the whole Post-Paid model is a widely accepted and most used model in the SaaS world, but if you have a compelling, niche offering and no competitors in the market and if you believe the is more volatility from the customer, you can choose to go with Pre-Paid.
D.Support for multiple Currencies
SaaS Applications are built for global customers hence supporting multiple currencies and language is a mandatory feature that will enable you to attract global customers.
Although SaaS Taxing is a difficult and dynamic in nature you have to deal with it, but on top of when you deal with global Customers it brings in lot more complexity and awareness to all the taxing.
Security is the most debated topic when it comes to building, embracing and adopting Multi-Tenant SaaS Applications. Yes, because the fact remains that all the customers are going to use the same application hosted away from the client secured firewall and customer might not know where the data resides etc. Security must be taken very carefully within the application at all the layers of the application including but not only limited to WEB/Business Logic/Data Access etc.
Application must form a strong boundary against each Customer License, Feature Access, and Confidential data.
Below are the brief listing of the top 10 security issues (by OWASP) that your SaaS offering should address:
- SQL, operating system or LDAP injection
- Insecure authentication and session management
- Cross-site scripting because of lack of data validation
- Insecure exposure to references like files and directories
- Incorrectly configured (from a security perspective) databases, middleware and operating systems
- Exposing sensitive data like user IDs, passwords and personal identification information
- Checking for access inside the business logic on the server side
- Cross-site request forgery
- Using components with known vulnerabilities
- Invalidated redirects and forwards
7.Designing ideal DB Isolation
There are different data isolation model discussed in the context of multi-tenant SaaS Applications, but there is “No Rule of Thumb” for choosing an ideal Isolation model for your SaaS Application in specific, because each of the isolation models listed above has its own Pros & Cons.
One model could work better for one domain/business may not work effectively for other business, however choosing an ideal data isolation which works better is the challenging task itself.
8.Customizability & Configurability
Each customer, the business they do, the problem they solve, the domain they breathe are completely unique and hence their need is entirely different from others. Don’t ever think of building a monolithic stack or a black box that can only work in a definite model.
Give the buckle and straps of the belt to the customer and let them customize and configure the application for the way that works better for their organization and the culture.
Some of the basic customization a SaaS application must have is
- Look & Feel customization
- Language Preference
- Support for Custom Fields
- Allowing user to change the business policies
- Email Templates
- Workflow Customization
- Billing Related Customization
- Master Data Manipulation
One of the major hurdles for SaaS is the Security of Data in the Cloud; the second biggest concern for SaaS adopters is its integratibility. Enterprises & SMBs are already using bunch of Cloud based and on premise applications for lot of years, so the basic expectation from the new SaaS Applications they would like to acquire is to seamlessly integrate with the rest of the applications. Hence, it’s recommended for building SaaS Application that communicates to other external applications irrespective of the location.
SaaS is a low margin and high volume business game; unless you make your application self service- able and manageable you may end up spending a lot in servicing your customer needs. Always think about building features & capabilities that will be very user friendly and self-service-able with less or no support from the Product development and support team. The more self-service-able your application is, lesser the cost you spend on service, lesser customer churn, and happier customer.
Self Service has become one of the important non-functional aspect of all customer facing applications, hence do not abandon.
11.Performance, Scalability & Availability
These 3 keywords must be the Mantras of any Web based Application and especially for Muti-Tenant SaaS Applications. Always build products for these NFRs in mind to get more customers and sustainable growth and reduce the churn.
Just imagine that you have 100 Customers and the application has gone down for about 2 hours due to some software/hardware failure, or in a sunny day some 50 Customer on-boarded and started using the product heavily, because of this the performance of the product gone down for the rest of all the customers. In either of these cases, it depends upon how the application is built, deployed and served as well as how scalable and available the product is.
12.Maintenance & Operations
Maintenance & Operations are the 2 eyes of your product, because SaaS applications are developed, deployed, maintained, serviced by SaaS providers. Hence it is ridiculously important to make sure maintenance and operations are so easy and effective.
Some of the best practises followed by SaaS providers are
- Keep Customers informed about planned maintenance activities
- Make sure the maintenance activities are done on off hours so that customer do not get effected
- Have redundant servers in other availability zones, so that when you do an maintenance activity at one
- Learn from outages and make sure it’s not repeated in future
13.Choosing the perfect Cloud
Where should I host my SaaS Application?
This is one of the most asked questions by every SaaS ISVs. Choosing a right Cloud Provider is a major challenging task for the SaaS providers and the success of the providers is also dependant on the cloud they choose. Because the various parameters that will help you to evaluate clouds will affect the pricing and offering of your solution. Whatever may be your cloud choice, just make sure it adheres to these Rules of Perfect Cloud
- Financial Stability
- Easy Manageability
- Customer Support
This notification system must be entirely dynamic and flexible in nature. Some of the important aspects to Notification systems are
- Provide WYSIWYG editor for the tenants to author the content by themselves
- Support for Multi-language
- Support for modifying Notification Dispatch details such as SMTP, PORT No, from & to address etc.
Because some SaaS consumers might want to send emails from their own Mail server instead of the SaaS Providers own mail Servers, also if the SaaS Provider limit the no. of emails sent from their own mail server, customer can hook their own and send unlimited emails from the system
- Support for Place Holders in the email content to inject dynamic content that comes from the Data store.
15. Dynamic Workflow
Every business process happens within an application has a flow for guaranteed, but this
flow can never be hardcoded in a SaaS Application because the more you hard code any logic in your application, the more complexity it becomes as well as the application has the danger of become like a huge black box. It’s a general practise to make any process configurable/customizable and extendible, so that your customers can customize the process flows as per their organizational needs.
For a SaaS based CRM application, Workflow automation lets them streamline the sales, marketing, and support processes. Write their own rules. Simplify their sales follow-ups based on your unique business needs.
16. Business / Customer Analytics
Generally SaaS Analytics is a huge topic by itself. Analytics is extremely important but not just limited to Customer Analytics but it is important to capture for all the Non Functional components of the SaaS solution. To stick with the topic, let’s try to understand the Customer Analytics in detail.
As a SaaS product Owner, are you not interested to understand,
- How many trial customers are actively evaluating your product?
- How are your paid customers using your solution?
- How to identify the potential customer from the huge list of trial customers
Customer Analytics empowers SaaS owners recognize this information well ahead and take informed decisions and actions.
Hope you keep these pointers in mind, the next time you build/migrate your next Multi- Tenant SaaS Application. But if you don’t have enough time to concentrate on all these aspects, please look at Techcello, a Multi-Tenant SaaS Life Cycle Management Solution, built for Scalability, Flexibility, Customizability, Configurability and ISVs in mind.
Please feel free to contact me [Ilyas.firstname.lastname@example.org] to contradict any of the pointers mentioned here.