Being a product owner is a little like being a parachute packer… Nobody pats you on the back and congratulates you for each successfully completed task. People only seem notice when you get it wrong—and then, they really notice.
One of the first tasks faced by product owners building a data product (analytical functionality embedded in a core product) is to decide: should we buy it or build it?
This first step is essential: if you get it correct, you’ll be start off on the right path for product success. If you get it wrong…. Well, it’s a little like forgetting to rig all of those pesky risers on the parachute. It ends badly.
What We Mean By Buying or Building
Before we get into your analytics options, let’s define some terms. What does it mean to buy analytics? What does it mean to build them? We throw these terms around too lightly at times and they’re often not very well-defined. Let’s change that by explaining how to interpret each of your options.
When we say “building analytics” what we usually mean is that we either will be (a) using one of the numerous analytics “development suites” or (b) writing analytics code from scratch to embed analytics within the core product.
Sometimes it’s like building a house with Lego—assembling a customized analytical application from small blocks of pre-existing code, sometimes it’s more like building a house from pieces of wood and brick, carefully planning each element. If you get the sense that it’s a lot of work, you’re right.
Building analytics isn't for the faint of heart, but if you’re up to the task this approach can yield a highly customized result tailored specifically to your users.
When we talk about “buying analytics”, we usually don’t mean buying an off-the-shelf, shrink-wrapped piece of software and implementing it as is. No, it’s more involved than that.
Buying analytics is the term used to describe purchasing an analytical platform upon which you can customize your data product to meet the needs of your users.
Back to the house analogy, buying analytics is a bit like choosing a house from the builder’s catalog of plans and customizing—you can get the details you want without worrying about minutia of pulling all the right permits and complying with local building codes. It’s more convenient at the expense of losing some customization capabilities.
Buying analytics can cover a wide range of scenarios. Some analytics vendors offer platforms that are nearly plug-and-play and require very little implementation time. Others require extensive setup and customization in order to deliver a fully capable product to your customer.
Pros and Cons of Buying and Building
You've probably read the articles proclaiming that analytics are becoming increasingly important and that adding analytics into your product can attract and engage customers. If analytics are becoming an increasingly key element of successful products, why would you ever buy something that’s pre-built? Aren't you making it easier for your competitors to copy your hard work? Why not build your own unique, customized analytics for your users? It's sounds like an easy choice.
The decision isn’t as easy as you might think. Both options—buy or building—have their benefits and drawbacks. Here are a few items to consider while making your choice.
The Pros of Building Your Own Analytics
- Completely customizable
When you build your own analytics you aren’t limited to a particular vendor’s vision of the analytics world. You’re free to build what you want, how you want it. The freedom to pick and choose capabilities from all of the various analytic functionality and concepts on the market can allow you to tailor your product to deliver exactly what you need.
- It’s yours and yours alone
Building your own analytics allows you to create something unique in the world—a product that your competition may have difficulty mimicking. They might be able to copy your user interface but the business logic you develop will present a tougher challenge. And, they’ll need to follow the same learning curve you did in order to create a comparable offering. Building your own analytics can be a great way to capture and maintain (for a time) a competitive advantage.
- You know best
Let’s face it—no one knows your product, your customers, and your data like you.* Building your own data product capabilities can be a great way to take advantage of your engineers who already understand your unique capabilities and needs and to bypass the need to learn a new analytics platform. And, when you need to make changes, you’ll be able to do so without incurring professional service or consulting fees that might be required for a purchased solution. Building your own analytics can also cut down on the need to educate a vendor's services team on your business model and how you measure performance.
Well, it’s pretty obvious—you’d be a fool to do anything other than build your own analytics, right? Slowdown there, cowpoke… It’s not so simple. Building your own analytics can have a fair share of drawbacks:
Drawbacks of Building Your Own Analytics
- Resource drain: Do you have the time for all this entails?
You might have considered building your own analytics because you’ve already got a team of great engineers available but… do you? Do these engineers know how to design and develop analytics? Do they know about all of the intricacies of storing, configuring, aggregating, and displaying data as well as the people who do this every day? If if they do know these things, do they have the time to build—and maintain in perpetuity—your analytical capabilities?
Product leaders tend to forget than analytics aren’t a “fire and forget” set of capabilities. Great data products require constant improvement and maintenance to keep pace with the competition. Teams that build their own analytical applications may find that keeping the focus on the constant progression forward is a huge drain on development resources. These teams can find themselves spending far more time on analytics development than they initially estimated.
- Opportunity cost: What else could you be doing with your resources?
The other day I learned that I needed new brakes on my car. So, as one does, I went and designed a new braking system from scratch. This amazing, all-new multi-caliper hydraulic braking system uses carbon-fiber monofilament brake lines for optimal performance. I’ll install it once I’m done casting the titanium in a few months… Perhaps not. Re-designing a completely new solution to a well-solved problem would be insane, wouldn't it?
And yet, that’s what many analytic product teams choose to do. They spend their time re-inventing analytical filtering, drill-down technology, aggregation, target-setting, and a hundred other functions that are now considered commodities in a data product.
Many parts of the data product that are “must-haves” for an analytics user are solved problems and they don’t need you to spend time re-engineering the solutions, especially since such efforts take time away from what your team should be doing—creating differentiated analytical functionality.
By building your own analytics, you can incur an heavy cost associated with building commoditized functionality at the expense of components that could set your product apart from the competition. For many, the opportunity cost of building analytics is simply too high.
- Time to market: How long will you be on the sidelines?
Building analytics doesn’t happen overnight. It can take an extensive amount of work, as I learned after nine long months on a "build it" project. You’ll need to plan for development of the entire analytical stack, from data intake to transformations to the user interface. The time you spend building functionality that may already be available in “buy it” analytical platforms is time that you won’t be on the market acquiring new customers.
- The management ecosystem: Essential and non-trivial to build
Have you thought about how you will on-board new users? Manage user security so only authorized users see sensitive data? Upload data from ancillary sources as needed? Customize dashboards and reports as required by buyers? Handle updates, prototyping, rollouts, and rollbacks? Well, analytics vendors have.
They’ve put in the time to consider the entire customer lifecycle ecosystem and built (in most cases) the tools to make operating your data product easy. If you build your own analytics, you’ll need to re-create this ecosystem of management tools or allocate the resources that will be required to manually perform tasks that should be automated. Having lived through the manual management of a "home built" analytical application, I can tell you that the resources required are significant.
Wow. Building your own analytics sounds horrendous. Clearly buying analytics is the way to go, right? Well, it depends. Buying analytics has it’s own set of pros and cons.
The Pros of Buying a Platform
Benefit from the focused effort of a vendor
When you purchase an analytics platform, you get the benefit of an application designed by a team that lives and breathes analytics. They’ve heard—and hopefully addressed—all of the issues that it might take you months or years to stumble across. It's much nicer to be able to rely on a vendor that's "been there, done that" than to have to investigate and solve critical issues on your own while under time pressure from irate users.
When you buy your analytics platform, you aren’t just buying the technology, but all of the thought, effort, and experience that went into building the platform. This is even more critical for embedded analytics. Here you get not just the benefit of the analytics technology development, but also the go-to-market and product lifecycle management that the vendor has to offer.**
- Complete functionality set from day one
When I built my first data product, we wrote tomes of user stories, estimated the time required, and assigned our best engineers to the project. And six months later, I had a dashboard with two charts of raw data, no averages, and no ability to drill down. In the world of data products we have a term for this kind of situation: “really, really bad.”
Although we planned and staffed according to what we thought was appropriate for the project, we simply couldn’t get to a “minimum viable product” in a reasonable time frame. We ended up scrapping much of our in-house work and buying a solution.
The feature set offered by even the most basic "buy it" analytic platform was so far beyond what we could build ourselves, we couldn’t imagine ever getting there. To make matters worse, users today have a level of expectation that you must meet. Things such as filters, drill down, comparisons, customization, alerting, etc. are table stakes—you can’t compete very well without them.
When you buy an analytics platform, you benefit from the fact that a vendor MUST offer a full feature in order to compete in the marketplace. Vendors with insufficient functionality don’t last long and those left standing will likely have a far more robust feature set than you can build yourself in a reasonable amount of time. You get the full feature set from day one.
- Security without the headaches
You know what isn’t fun? Accidently exposing user data to the world because you forgot to patch a teeny tiny little flaw in your security model. Security isn’t a place to learn on the job and it’s even more risky with analytics.
With data products, you may be performing benchmarking functionality (comparing one user to another) or showing sensitive trends concerning the health of a customer’s business. The amount and criticality of the data you risk exposing with an analytical application is frequently greater than what you find with a workflow system.
Analytics platform vendors understand this and have taken precautions. From physical security to back-ups to data partitioning and user permissioning—they’ve taken the steps to avoid business-ending consequences. Piggybacking on the security considerations offered by analytics vendors is a major mark in the “pro” column for buying your analytics.***
As you might have guessed, there are a few reasons why you might decide buying analytics isn’t for you. Here are some items to consider:
The Drawbacks of Buying a Platform
- Initial cost: Yep, it can be expensive
There’s no denying it—buying an analytics platform is almost always more expensive than using some open source analytics development suite and building it yourself.
Of course, you need to calculate in the time and training required to build yourself and also the ongoing resource needs. You have to determine the resource cost of solving the problems that pop-up and the cost of the consultants that can still be necessary when building yourself.
But still, buying is often more expensive when you factor in the multiyear cost of the platform, the per user costs, the services, and the support. But don’t fall for the trap of simply comparing your vendor’s year one fees to that of a build-your-own option.
Calculate the full cost including time to market, security considerations, achieving parity with the competition, etc. and make a decision based on the entire cost picture. (Also—negotiate like crazy. Most analytic vendors have a pricing floor that is nowhere close to the starting offer price.)
- Reliance on the vendor roadmap: You're tying your futures together
When you purchase a platform from an analytics vendor, you get the benefit of their assessment of where the analytics market is headed. This “horizon scanning” can be a huge benefit—as they add features, they get added to your product, often at little or no extra cost.
But… What if the vision the vendor has for the future isn’t exactly where you’d like to go? What if they look out five years and proclaim “Flash-based pie charts are where we’re headed”? Assuming you disagree (and for the love of all that is sacred in this world, you should disagree), you’ve got a decision to make: do you follow the course set by the analytics vendor or do you change platforms? Luckily, this doesn’t happen often but it is a consideration.
When you buy an analytics platform you aren’t just buying the current feature set—you’re also buying that vendor's vision of the future. Changing analytics platforms after your product is already on the market can be a daunting and expensive task, so be sure that where you want to be and where your vendor is headed are synchronized.
There isn't a single right answer for the question "should I buy or build analytics for my data product." It's more complicated than a one-size-fits-all answer can accommodate. If you've got the right resources, the resource availability, and the time, building analytics might be the answer. If you want to take advantage of the all the features, security, ecosystem tooling, and forward thinking provide by analytics vendors—buying might be a good choice for your needs.
The trick is to make the right choice for your situation. Understand your goals and constraints, review the pros and cons of the two options, and make your choice. Just remember, this early decision is one that you'll likely have to live with for years to come.
* Unless you’ve failed to properly secure your product, customers, and data. In which case, it’s possible that lots of people know this stuff better than you. Be safe out there.
** This entire previous paragraph is considered null and void if you (a) purchase a brand new, untested analytics platform or if the vendor has no expertise/experience with embedded analytics.
*** This applies mostly to cloud analytics vendors.