Money tree.
Money tree. (source: Tanya Hart on Flickr)

Imagine, if you will, that you’re a product manager recently tasked with adding some whiz-bang visual analytics to your software, web site, or mobile app. Your first instinct may be to build your own solution as part of your existing product. However, you have to ask yourself if you have the team resources to accomplish the chore, or if you would rather have your team work to keep your core product fast and functional.

Luckily, there is another option, one that leverages embedded analytics. With that in mind, let’s take a deeper dive into the world of embedded analytics and determine why you might choose it, who is doing it, and how to evaluate available off-the-shelf solutions.

The rise of the data-driven organization

Organizations are clamoring to unlock the value inside the massive volumes of data they are collecting. Data-driven employees make more informed decisions that help companies beat the competition. Employees need applications that help them make sense of all the data available for decision-making. Then they need to explore and analyze the data so they can make the best decisions.

The hunger for data and analytics is changing the expectations that workers have for software. Business users expect customizable dashboards and reports as part of every application they use. More importantly, they expect to be able to quickly and easily explore and interact with data sets. Combine that with the growing complexity, size, and variation in data sets, and software developers are facing increasingly demanding challenges in helping their users and customers gain the insights they need.

Modern data platforms

We live in a time where the speed and availability of multitudes of data is unprecedented. Every data set can be tapped, combined with others, and analyzed to yield business insights. The challenge of quickly providing powerful insight is compounded by the rapidly developing modern data stores that have been built to handle the dramatic increase in volume, velocity and variety of data -- billions of rows, fast streaming data, and often unstructured textual and document data. There are NoSQL databases like Cassandra, HBase, and MongoDB; data processing frameworks like Hadoop and Spark; query engines like Impala and Hive; stream processing tools like Storm and Kafka; and text indexing frameworks like ElasticSearch and Solr. Cloud providers have entered the fray with scalable and inexpensive datastores such as Amazon’s Redshift, Google’s BigQuery and Spanner, and Microsoft’s HDInsight.

As you can see, building your own visual analytics within your product could quickly strain architectural and developer resources, and their knowledge. You may end up in the not-so-rare scenario where you’re trying to hit a moving target as business users discover new data sources and want them included in their analyses. You may also find your homegrown or legacy analytics solution is locking you into using traditional data stores that don’t meet today’s requirements. Building analytics from scratch might be doable, but how can you budget and plan when requirements are constantly evolving?

Enter embedded analytics

Embedded analytics is the use of reporting and analytic capabilities (including visualizations) from packaged software running within business applications. The technology opens a rich world of data analysis, visualizations, and business intelligence to developers and their users. The goal is to provide a complete analytics experience from inside an application’s workflow. This puts much needed insights at the user’s fingertips instead of requiring that user to switch to a standalone analytics tool.

There are many ways to embed analytics, depending on your requirements (see Figure 1), but the goal is always the same: to help business users explore data efficiently and make the best data-driven decisions for their organizations. Looking at Figure 1, the continuum of embedded analytics options runs from white-label solutions that are quick and easy to integrate up to extended custom developed solutions. Choosing the best method to embed analytics depends on the experience you’re trying to create and the amount of time and resources you have at your disposal.

White-label rebranding options are very low-effort and very quick time-to-market solutions that run as a separate app, so they don’t provide a seamless user experience. Lightweight integrated options are low-effort and quick time-to-market, while providing a seamless user experience because they are integrated into apps with an iFrame (although some product managers will object to using iFrames for technical reasons). Deeply embedded analytics provide API/SDK-level integration that requires a higher effort and longer time-to-market ,while providing a completely seamless user experience. And finally, the extended option provides custom visualizations and data source integrations for your applications.

Categories of embedded contextual analytics
Figure 1. Categories of embedded contextual analytics. Source: Zoomdata, used with permission.

Evaluating embedded options

There are more than a few options when it comes to embedding analytics in your application. The most common solutions are those from Jaspersoft, Logi Analytics, Pentaho, and Zoomdata. You’ll want to evaluate them in comparison to each other in order to make the best decision. In the recently released O’Reilly publication Delivering Embedded Analytics in Modern Applications, the authors include a handy chart that can be used to evaluate modern analytics tools.

Criterion

1

2

3

4

5

6

Easy to white label?

 

 

 

 

 

 

Designed for embedding?

 

 

 

 

 

 

Fast time to value?

 

 

 

 

 

 

Flexible deployment options (cloud, on-premise, hybrid)?

 

 

 

 

 

 

Connects to wide set of modern data sources?

 

 

 

 

 

 

Extensible—add custom data sources?

 

 

 

 

 

 

Extensible—add custom visualization types?

 

 

 

 

 

 

Speed-of-thought performance?

 

 

 

 

 

 

Support for streaming data?

 

 

 

 

 

 

Support for blending of data from multiple sources without data movement/ETL?

 

 

 

 

 

 

Requirements for embedded analytics solutions

Done right, embedded analytics will become part of your product and help build your competitive advantage. Your embedded analytics solutions should integrate into your product cycle; be low cost and commercially flexible (in terms of royalties and licensing) so it can provide good ROI; and connect quickly, easily, and in an architecturally sound and extensible way to a variety of modern data sources.

Most importantly, an embedded analytics solution should provide a great user experience. Performance, particularly during interactive data exploration, must be quick or you’ll quash the business analyst’s creativity while he or she sits and waits for charts to be refreshed. Performance can be particularly demanding when combining and analyzing large volumes of data from multiple sources. And remember, when you embed analytics into your application, users and customers see it all as the face of your application, so you need to make sure whatever you embed has a modern look and feel with a well-designed interface and informative visualizations.

This post is a collaboration between O'Reilly and Zoomdata. See our statement of editorial independence.

Article image: Money tree. (source: Tanya Hart on Flickr).