You’re laying in bed. It’s 2 am, and you get that spark. “OMG, I could totally fix that!” Maybe you grab your phone and register a couple of domain names. I don’t speak from experience on this at all. 😏 When the dust settles, the glow dissipates, and you’re back to rational thinking again, one of the questions that might occur to you is…what is the cost of building a SaaS product?
Unfortunately, there is no simple answer to this. A very focused, niche idea targets a specific market and does one task very well. As a result, it’s generally going to have a lower cost than the “I want to build a Facebook clone but for xxx” idea.
Disclaimer: There are plenty of special cases and considerations. The features and services presented represent the most common use cases based on my experience.
Let’s clarify and define some terms
Speaking of costs, I’m using a relative economic value and not strictly cash outlay. When you get right down to it, your mileage varies. Your labor costs are going to be higher or lower. You might have more time than money and be able to do some things yourself.
Furthermore, I am speaking very specifically to the technical costs of building a SaaS product. The full cost of bringing a SaaS product to market is quite a bit more extensive. Validation, marketing and support just to name a few.
I’ll approach this from a few aspects
Proof-of-Concept and Prototype
In the early days of product design you’re just trying to determine if you have a market and if your idea is feasible. A proof-of-concept (POC) demonstrates your product idea but may not represent the final product you’re building. It may or may not include the prototype.
A proof-of-concept can be achieved by stringing together current tools or building it with a visual builder. Some examples are listed below.
- A combination of tools (Zapier, TypeForm, MailChimp, etc) can produce a powerful POC. The three referenced tools all have a free tier.
- I’ve seen a POC built in Excel.
- WordPress is a very flexible tool. With plugins and taxonomies, even a non-technical person could put together a very SaaS-like product. The only cost here is hosting the WordPress site. I’ve even seen MVPs developed with WordPress.
A prototype is the interactive representation of your product. In this stage, the builder explores how the concept works. The prototype focuses more on user experience and design. Here again, with InVision, a favorite prototyping tool, one can get started for free.
With a focused product and some hustle, you could emerge with a proof-of-concept and prototype with no cash outlay. If you add $100/mo or less in cash and some time, you can start to build some compelling models.
Minimum Viable Product
A minimum viable product (MVP) is defined as the smallest thing you can build that brings value to your customers. You can read more about it as part of the build-measure-learn principle of the Lean Startup. At this stage, you’re likely going to engage technical help.
The focus of an MVP is to produce a deliverable product with the least effort. As a result, this can translate to lower cost. Note that I’m primarily referring here to your very first MVP. The concept of MVP can apply throughout your product lifecycle.
When you’re thinking about the cost of developing an MVP, you should generally be thinking in the $10,000s. For more complex systems, in the $100,000s.
Building Your Product
When you’re ready to build your product you will be looking for programming talent. You can hire a couple of developers on Upwork, give them marching orders, and feel pretty productive. It might work out fine, and you might get substantial amounts of code for the billed hours. However, you need to have a pretty good level of technical competency to manage the situation. Here are just a couple of the problems you need to address:
- Assess and hire a quality candidate
- Give them good direction
- Judge the quality of the outcome
You can offset this by finding a technical co-founder or by hiring someone who will partner with you. A technical partner can manage the technical aspects of the project on your behalf.
Alternatively, you can hire an agency and pay a higher price and probably a fixed bid. The determinant is which party is assuming the risk. A good team has the skills to address the issues previously mentioned. Delivery dates can be challenging. In this scenario, you’re more likely to get a delivered product at the price you expected.
You’re going to make mistakes, backtrack, and/or waste money. It’s going to happen. Mitigate the risk with an excellent proof-of-concept and prototype. Additionally, keep your deliverable tightly defined.
Let’s say you want to build a SaaS that sends appointment reminders and confirmations for a particular type of business. You may be thinking, “I just need a developer to build an app that will send a message to an email address several hours before a specified time.” That may work for your proof-of-concept. However, there are several relevant features which can outweigh the effort you put into the core feature.
If you have a login screen in your application, you need several user management features.
- A signup feature for a user to create an account.
- If a user forgets their password, they need the ability to request a reset and change it.
- A user needs to log in and log out.
- They need to change their email address, name, and other settings.
Many code frameworks have a good user management foundation built into them. There are third-party services, like Auth0, which provide identity and access management solutions that you can integrate. Auth0 provides a free tier to get started. In this situation, discuss the tradeoffs of using a third-party provider with a technical advisor. Vendor lock-in, migrations, and single point of failure are considerations here. But they are beyond the scope of this article.
If you’re charging for your product, then you’ll need a way to collect payment information and execute charges. A user needs a way to enter payment information as well as change that information. They want to be notified of charges, successful and failed and see their billing history.
Except in extraordinary circumstances, do not handle payment information within your application. Use a provider like Stripe, Paypal, or Braintree. These providers store the payment information for you. They then give you a token which you can then use to request a charge. It’s pretty standard for these providers to charge 2.9% of the transaction as a fee.
The concept of accounts are typically included as well. An account can contain multiple users and contain the subscription and billing information. Users need to be able to create them, typically at signup, upgrade or downgrade their subscriptions, and cancel their accounts.
There are billing services which provide services related to subscription management, recurring billing, and other aspects of account management. Chargify, Chargebee, or Stripe‘s new billing product are great ways to get started.
These services will send notifications back to your system when significant events happen like failed charges, upgrades, and downgrades. The app needs to know how to handle these events and make the appropriate changes.
If your accounts can have multiple users associated with them, then you’ll have to build in that functionality. A user needs to be able to invite users to and remove them from the account. Which leads us to…
If you have multiple users in an account then possibly you don’t want them all to have the same abilities. Some users should have the ability to add and remove other users. Other users should have the ability to change the billing information. Perhaps you want even more fine-grained controls around other features in your application. At a minimum, you’ll need to be able to associate users with the proper set of permissions. Additionally, other parts of the application need to know how to act differently based on the access level of the current user.
You’ll want to be able to send your users messages related to actions occurring within the system. A few of these might include verifications, password resets, invitations, and billing related emails.
You’ll likely want to integrate with an email service provider (ESP) that handles the low-level details of sending email messages. An ESP is a service like SendGrid, Mailgun, or Postmark. All these services have a free tier to get started with.
Support and Administration
Almost every SaaS I’ve encountered has a dashboard which surfaces metrics relevant to their particular product. Referring back to our example SaaS business, you might like to see which accounts are sending the most reminders and what the confirmation rate is. Many of the third-party providers offer dashboard metrics for their service. You may wish to use these in calculations of your own.
Your support staff benefits from an administration interface which allows them to see the accounts and users across the system. They will likely need to make changes in response to support requests they receive.
That covers some of the more “standard” SaaS features. You’ll want to consider these as you’re thinking about the cost of building a SaaS product. Along with many of these features, I also presented relevant third-party service providers. These companies can help you move faster and save development time in each of these categories. However, even if you take full advantage of them, there is still a fair amount of work to be done to integrate your app with these providers.
Ongoing Product Development
The discussion about the technical costs of SaaS often focuses on developers. Typically founders are thinking about it from the standpoint of hiring developers. There are quite a few other “hidden” costs associated with the technical operations of a SaaS. Let’s talk about Total Cost of Ownership (TCO). The total cost of ownership is the cost to acquire or build your product plus the cost of ongoing operation and maintenance.
As you make your first MVP available to users and continue to scale your business, here are a couple of costs you may not have considered.
As soon as you are ready to make your product publicly available, you will start to incur infrastructure costs. Infrastructure is the servers, databases and other underlying technology which powers your application. Examples of these providers would be Infrastructure-as-a-Service (IaaS) providers like Amazon Web Services or Microsoft Azure. More rarely, it would be the cost of purchasing and housing a server in a local data center. The category could also include Platform-as-a-Service (PaaS) providers like Heroku and WP Engine. These services provide a layer of abstraction and management tools on top of infrastructure for a specific technology platform.
You might hear discussion of words like performance and scalability. These terms often relate directly to infrastructure. The nuances of performance and scalability are beyond the scope of this article. However, dealing with performance issues involves buying more significant, more capable pieces of infrastructure. Scalability issues are resolved by buying more discreet pieces of infrastructure.
Do you handle personally identifiable information (PII) in the healthcare industry? Do you deal directly with payment information? You may be subject to regulations like HIPAA and PCI.
The cost of these could range anywhere from a self-audit to a costly independent audit. The latter could mean the implementation of reporting capabilities. That means building or buying a tool to fulfill those requirements.
From the earliest days of your application, you want to make sure you’re source code, data, and work product is being backed up. Initially, the cost associated with this is pretty low. Most providers offer small backups for little to nothing. The primary aspect here is the human element and just making sure they complete the process. Furthermore, the loss of mission-critical data is often far more costly to the business than the ongoing process. It can even be catastrophic to the business.
Another aspect of this topic closely related to scalability, is failover or redundancy. As your business grows, the tolerance for the application being unavailable grows smaller. You want to ensure you can withstand various problems caused by severe weather, earthquakes, and other natural disasters. You achieve fault tolerance by having infrastructure located in multiple geographic locations. That equipment can be activated manually or automatically to keep the application available to users. The cost of this capability scales directly with the sophistication employed. A smaller solution which accepts some tradeoffs may cost in the $100s. A more sophisticated solution may cost in the $10,000s or $100,000s.
Here are some of the smaller but quite vital infrastructure-related costs.
You’ll have to pay a fee to register the domain name you choose. The price can start at couple of dollars. However, it may range to a couple of thousand dollars for some of the newer, unique domain extensions (TLDs). A .auto domain goes for $2,499.99 on Hover. 😂
Don’t forget to make sure it auto-renews! The renewal price is often the same or slightly discounted than the initial price.
You know that lock or the ‘https’ in the address bar? That indicates an encrypted transfer of your content between you and the user. That happens with the use of an SSL certificate. A typical price on an SSL certificate is about $200 per year. Although, new technology and changing providers in this space have started to reduce these costs. Many providers offer free certificates. I expect the cost to be eliminated across the board with time.
Source Code Repositories
When you hire developers to write code, they’ll need a place to store it and collaborate. A source control acts as the hub of code production and collaboration. Services like Github and Gitlab provide this functionality. They both include a free tier to get started..
In the beginning, simple monitoring can proactively alert you if your website goes offline. Some providers like Amazon Web Services include basic functionality for free if your application runs on their platform. A more advanced monitoring service like Pingdom starts at $11/mo.
We talked about the early days of your project. During this time, you can do validation and prototyping of your idea quite cost effectively.
However, as your business grows costs can escalate quickly. I presented the tradeoffs of various technical costs. This will give you a foundation to think through these and make the best decision for your business.
Now go make something!