Data & Analytics

Embedded Analytics: Putting Dashboards Inside Your Product

Updated July 21, 2016By the CalliArc team

Key takeaway

Embedding a BI tool is faster to launch and harder to make feel native; building charts on your own API gives full control and costs more. Either way, the engineering risk is the same: isolating each tenant's data absolutely, and keeping queries fast as the largest customer's data grows.

Customers increasingly expect to see their own data analysed inside the products they use, rather than exporting it. Delivering that well is a genuine differentiator — and it's a data engineering project more than a charting one.

Embed or build?

  • Embedding a BI product gives you a full analysis experience quickly, including filters, drill-down, and often customer-authored reports. The trade-offs are licence cost, limited styling, and an experience that rarely feels like part of your product.
  • Building on your own API and a charting library gives complete control of design and interaction, and costs considerably more engineering — every filter and export is yours to write.
  • A common middle path: build the handful of dashboards most customers need, and offer raw export or an API for the minority who want their own analysis.

Isolation is non-negotiable

  • Every query must be scoped to the tenant from the authenticated session, enforced centrally — never by a parameter the client supplies.
  • If you embed a third-party tool, use its signed embedding with row-level security, and test the boundary deliberately.
  • Write automated tests that attempt cross-tenant access for every dashboard.
  • Be careful with aggregates and benchmarks: "compare with similar companies" can leak information about a small peer group.

Performance decides whether it gets used

  • Don't run analytical queries against your transactional database at peak. Use a replica or a separate analytical store.
  • Pre-aggregate the common rollups rather than scanning raw events per page load.
  • Bound every query by date range and enforce a maximum; an unbounded "all time" query from your largest customer will find your limits for you.
  • Cache per tenant with a visible freshness indicator, and be explicit that data is as of a point in time.

What customers actually value

Usually fewer things than product teams assume: their own key numbers against last period, the ability to filter to a segment they care about, an export to a spreadsheet, and a scheduled email report. Interactive exploration is requested often and used rarely. Start with the report a customer currently builds by hand from your exports — that one is guaranteed to be worth something.

Share LinkedIn X

Ready to build it right?

Get a transparent, milestone-based estimate for your project in a free consultation.

Book a free strategy call