If you have developers on your team, you might be tempted to solve your operational problems by building solutions in-house—anything from an internal dashboard to integrations between different systems. It seems like a logical choice at first (and it might be). But before you decide to go this route, make sure you consider the costs.
As the founder of an analytics automation platform, Probe, I've been speaking with many businesses that decided to build an in-house analytics stack. I'll use this as an example to illustrate the level of difficulty and approximate the costs.
Designing the solution
If you have a solution in mind, it's likely more complex than you're imagining—you'll very quickly have more questions than answers. Couple that with how bad we are at estimating time, and you end up having bitten off more than you can chew.
Here's the common path companies take when building analytics tools in-house.
Data collection. First, you need to collect information about your users, from their billing details to what they're doing on your platform.
Data storage. You either design it yourself or go with an existing solution on the market.
Data processing. You have to write code for every metric you want to measure.
Data visualization. You'll pick some visualization engine—something like Tableau or Power BI.
As you can see, this is not a small job. And on top of all of it, in every metric calculation, there's a surprising amount of detail, which makes it difficult to get right the first time around.
Here's an example. Imagine you want to calculate the amount of revenue you get from new business in a given month. You might think it's enough to take all the new customers you acquired in a given month and add up the values of their first payment. But what if some customers had two different payments in their first month? Should you sum them or take only the first one? What counts as new? And if you charge customers in different currencies, where do you get the exchange rates from? What date should the rate be taken from? Should the rate fluctuations be counted toward your upsell amount?
The pile of important details you have to deal with increases quickly. It requires iterations, time, and at the end of the day, a lot of money. And you can do this exercise with whatever type of solution you're looking to build: start listing out all the things you'll need to do, and you'll find it's a very involved process.
Scaling the solution and considering the stakeholders
New needs will be popping up, so there will always be a question of how you develop your stack to keep up with all the new requirements. Because your solution is in-house, the only way it can scale is by adding to the number of people who work on it.
Plus, building a solution in-house means there's only a small group of people who knows what's going on in this specific area. It makes it very difficult to democratize the knowledge across the organization.
A very simple example of this is calculating metrics in a spreadsheet. There's usually one person who puts the file together. From this point on, the only person who knows how to work with the file is the one who created it. Now imagine that it's not Excel but an advanced technological solution. That makes it very difficult to transfer this knowledge inside your organization.
What this means in the long run is that one small team will have to support your entire organization. We've seen that lead to massive bottlenecks, as the in-the-know group gets bombarded with requests from other parts of the organization. That means they'll never be leveraging the full potential of the solution because they'll be working reactively instead of having time to proactively add new features and gain new insights.
Again, to reduce this bottleneck, you'd have to add people to the team.
The cost of building in-house
We've spoken with several SaaS companies who decided to build an in-house analytics stack—and the last startup I was working at was one such company, so I've seen it firsthand as well. The costs add up.
A company of 70-100 people will have 3-4 full-time data analysts building and maintaining an in-house analytical stack and supporting the organization with their data requests. Think about how much it would cost to hire 3-4 data scientists. Depending on where you're located, you're probably looking at hundreds of thousands of dollars. And that doesn't include the cost of your data visualization or data storage tools.
Considering the fact that, in most cases, this is not the core of your business, it's a steep price to pay. Even if you're a small enterprise and plan to stay that way—meaning you may only need one person on the job—relative to your other costs, it's a lot. And I'm sure you can find other things you'd want to do with that money.
That's why it's important to consider how central this tool is to your business before deciding if an in-house team makes sense.
Other options—and how to make the decision
Very often what seems like an inexpensive side journey of designing a tool for your own needs ends up being a costly endeavor. This doesn't mean you should never do it. Sometimes it makes sense, depending on how core the tool is to your business and how much control you need over it. But there are a number of options you should consider first.
Here's how I would approach making this decision:
1. Decide if you even need a solution
Is the status quo something you can live with for the next few months? Or even a year? How much time is it taking to manually do whatever it is you're building a solution for—whether that's collecting and visualizing data, communicating with customers, or anything in between? Is there another tool that you already have that could do the job almost as well? How core is this to your business?
It's worth waiting a few more months and letting the decision sink in before investing what ends up being a massive cost.
2. Figure out the actual costs of building it
Think about the long-term costs of this project. How many people will need to work on it? How will it scale with your organization?
3. Talk to other people who've had the same problem
Speak to other businesses who've built in-house solutions and other businesses who've gone another route. They might have actionable suggestions for you, and at the very least, they'll be a great thought partner and get you to think about things you may not have thought of yourself.
4. Research existing solutions on the market
What other tools are available that might get the job done—or close to done? Would they be cheaper? For example, if you're working on integrations, you can use Zapier to connect different apps. If you're working on analytics, you can use Probe (which I founded) for organizing your company's data all in one place.
There are so many solutions out there, and it's important to do your research first. You might even consider outsourcing something that doesn't need a long-term solution.
5. Decide on must-haves vs. nice-to-haves
Before making a decision, answer two questions:
What is my ideal solution?
What compromises am I ready to make?
Be ready to settle for less than perfect if it costs significantly less than building it in-house. It may not be ideal, but if it's 100x cheaper, I'm sure you can survive with few shortcomings.
6. Talk to early-stage companies that are starting to solve your problem
In addition to established solutions, there are probably young startups working on solving the problem you're having. You'll get a lot of know-how by having conversations with these people.
You might even consider partnering with them and becoming an early customer. That would allow you to help guide their product development and get a lot of value for a relatively good price. More often than not, it's a win-win for both parties involved.
Make the decision
It's not necessarily the wrong choice to build things in-house. But doing so without full clarity of what it will take and what the alternatives are can distract you from focusing on what's really important: the core of your business.