Insights — your platform health, in plain language

Per-tenant dashboards, scheduled executive reports, anomaly alerts, and AI-generated narratives — built directly on the event stream your platform already publishes. No analyst required.

SaaS-aware analytics, not yet another BI tool

You shouldn't need a data analyst to know if your business is healthy.

Insights is the eighth CleverInit module and the platform's first analytics surface. Install it on your tenant and you get curated dashboards (MRR, ARR, churn, DSO, payment success, customer health, module adoption) — populated from the same *V1 integration events every other module already publishes. No webhooks to wire. No ETL to maintain. No Looker subscription.

What makes it different: it is not a general-purpose BI tool. Looker, Tableau, PowerBI, and Metabase are built for analysts. They connect to anything, model anything, and require setup work no SME operator wants to do. Insights ships an opinionated metric library aligned to the SaaS commerce stack CleverInit already provides — the buyer reads it, understands it, and acts on it without learning the schema.

  • Built-in dashboards light up automatically as you install commerce modules (subscriptions, invoicing, payments, customers, chat)
  • Pre-aggregated rollups answer every widget in under 100 ms — no live aggregation on the read path
  • Multi-currency MRR with per-renewal currency stored on the event; conversion happens at the display step
  • When ai-copilot is installed, the Executive Overview header becomes an AI-generated paragraph in the user's locale
The wow moment

A tenant CEO opens Monday morning's executive dashboard. The page header reads, in plain Dutch: 'Your MRR grew 8% this week, driven by 12 new Pro subscriptions. Two enterprise customers delayed payment by 6+ days. Anna at Acme hasn't logged in for 21 days — at-risk.' Below, six widgets render in under half a second — MRR by plan, payment success rate, top customers by revenue, churn cohorts. No analyst built this. No ETL was scheduled. The events were already there; Insights just turned them into a page.

Who actually reads this

Four operators stop guessing.

Insights pays off for anyone who needs to know what the business is doing without writing a query — not just analysts. These are the personas that adopt it on day one.

CFO and finance leads

MRR, ARR, gross and net churn, DSO, payment success rate, revenue by plan, multi-currency conversion — all updated as events arrive, all auditable, all exportable.

Operations leads

Anomaly alerts, daily ops digests, OTP delivery success, notification delivery rates — surfaced proactively so you know before a customer calls support.

Tenant CEOs and founders

A weekly executive summary as a plain-language paragraph, generated by AI Copilot in your locale, shipped to your inbox Monday morning. No login required to know the headline.

Host operators

A cross-tenant dashboard tier showing platform MRR, top-installed modules, tenant retention. Gated behind a dedicated permission, with anonymization on by default.

Ingestion → rollups → dashboards

How the event stream becomes a page

Five stages, all already running on infrastructure your platform owns. No new database. No new worker cluster. No new vendor.

01

Subscribe to the outbox

A MassTransit consumer in the insights module subscribes to a curated catalogue of *V1 events from the host and every installed sibling. The catalogue is in code, not config — drift caught at build time.

02

Normalize through typed mappers

Each *V1 event is translated into one or more MetricEvent rows by a typed IMetricMapper<TEvent>. Mappers are pure, sync, unit-tested in isolation — the only place a domain event becomes an analytics fact.

03

Persist append-only, per-tenant

MetricEvent rows land in the tenant's own database, in an append-only fact table keyed by source-event hash for idempotency. Re-delivery is a no-op. Tenants never share storage.

04

Roll up on a schedule

Hourly / daily / weekly / monthly buckets pre-aggregate the raw events. Rollups are immutable and replayable — a schema change recomputes history without consuming the outbox again.

05

Render in under 100 ms

Dashboards read pre-aggregated rollups, never raw events. A widget asking for 'MRR by plan over the last 12 months' answers from a single rollup query — no live aggregation, no surprises.

This is not yet another BI tool. Looker, Tableau, and Metabase are general-purpose — they connect to anything and require an analyst to model. Insights is opinionated to CleverInit's vocabulary: it knows what MRR is, what DSO is, what payment success rate is, because those concepts live in the modules that publish the events. The operator reads the page; they don't model it.
Built-in dashboards

Six dashboards. Day one. No setup.

Each dashboard lights up the moment its source modules are installed. No template to clone, no widget to configure — install the module and the page populates.

EXECUTIVE

Executive Overview

# MRR €184K (+8% w/w) · Net Churn 2.1% · ARR €2.2M

The Monday-morning page. MRR, ARR, net churn, gross revenue. When ai-copilot is installed, the headline becomes a paragraph in the tenant's locale.

REVENUE

Revenue

# Invoices issued 1240 · Paid 1187 · DSO 14d · Credit notes 12

Invoices issued, paid, overdue. DSO (days sales outstanding). Revenue by period and plan. Credit notes. The financial-controller dashboard.

CUSTOMERS

Customer Health

# New 64 · Archived 8 · Top 10 customers = 58% of MRR

New customers, archived customers, lifetime value distribution, top customers by revenue. Drill into the source customer record with one click.

FUNNEL

Subscription Funnel

# Trial → Active 71% · Active → Past-due 3.4% · Past-due → Cancelled 18%

Trial → active → past-due → suspended → cancelled. Conversion at each stage, cohorted by signup month. The product-management dashboard.

MODULES

Module Adoption

# ai-copilot 84% · payments 92% · workflow-automation 41%

Tenant: which modules are used, how often. Host: which modules drive renewal, which are abandoned. Data-driven module product-management.

ENGAGEMENT

Engagement

# DAU 1284 · Conversations 412/day · Copilot sessions 96

Active users (DAU / WAU / MAU), conversation volume, copilot usage when installed. The customer-success dashboard.

The metric catalogue

Curated metrics. Every installed module makes the library richer.

Six categories ship at v1. Each lights up only when its source module is installed — no broken widgets, no empty charts. Every installed module also registers any additional metric definitions it wants surfaced.

Subscription / Revenue

Lights up with subscription-manager
  • MRR, ARR, ARPU per plan and per currency
  • Gross and net churn rate, expansion / contraction MRR
  • Trial conversion rate by signup cohort
  • Plan mix and tier transition matrix

Invoicing

Lights up with invoicing
  • Invoices issued, paid, overdue per period
  • DSO (days sales outstanding) and aging buckets
  • Revenue by period, by plan, by customer cohort
  • Credit notes issued and revenue-recognition deltas

Payments

Lights up with payment-gateways
  • Payment success rate per gateway and per region
  • Failure-reason mix (declined, expired, soft-fail, hard-fail)
  • Refund rate and time-to-refund
  • Mandate activation count and revocation reasons

Customers

Lights up with customers
  • New customers and archived customers per period
  • Customer lifetime value distribution and top customers
  • Account age and last-active-at distribution
  • Merge / restore activity for audit trail

Chat / Copilot

Lights up with chat and ai-copilot
  • Messages per day, active conversation count
  • Bot interaction count and handover-to-human rate
  • Copilot sessions, tokens consumed, cost incurred
  • Tool-invocation success rate and user satisfaction

Identity / Platform

Always — the host emits these
  • DAU / WAU / MAU and login frequency
  • Lockout rate and OTP delivery success
  • Notifications sent and per-channel delivery rate
  • Module install / uninstall events (host scope)
EXTEND

Every module makes the catalogue richer

Any module that wants its own metrics on the page registers them through IMetricCatalogProvider. Custom tenant events route through IInsightsEmitter — declared once with a JSON schema, emitted as needed, queryable through IMetricQuery within a minute.

Beyond static dashboards

Proactive surface: alerts, reports, narratives, drill-down.

Dashboards are passive — they wait for you to look at them. Insights also reaches out: detecting anomalies, delivering scheduled reports, generating AI narratives, and letting you click any widget through to the source record.

Anomaly detection

Threshold, percent-change, and rate-of-change rules at v1; seasonal-baseline and change-point at v1.x. Detection runs every 5 minutes per tenant. Breaches publish AnomalyDetectedV1 — turned into an in-app alert and an optional email by the host's notification pipeline.

Scheduled reports

Weekly executive summary, monthly investor snapshot, daily operations digest — any saved dashboard with a cadence and recipient list. Rendered as PDF through the host's existing renderer, delivered through the host's existing email and in-app channels.

AI-generated narratives

When ai-copilot is installed, the Weekly Executive Summary job translates the dashboard snapshot into a plain-language paragraph in the user's locale. When it isn't, the same surface degrades to a structured stats block — no errors, no broken widgets.

Multi-currency MRR

Each renewal event carries its own currency. Conversion is deferred to the read path — the widget setting picks booking-date FX or report-date FX. Stale rates never get locked into history, and the display currency stays per-dashboard.

Drill-down to source

Click the MRR widget's '12 new subscriptions' link and navigate straight into subscription-manager's list, pre-filtered to the right cohort. Back-navigation returns to the same dashboard scroll position. No data duplication, no detail pages reinvented here.

Custom events through IInsightsEmitter

Your modules (or your tenant code) declare a custom event vocabulary with a JSON schema, then emit through IInsightsEmitter. The event routes through the bus so other modules can subscribe too. Queryable through IMetricQuery within a minute.

Trust by design

Guardrails an enterprise tenant can defend on a compliance call.

Per-tenant DB isolation, no raw SQL access, declared dimensions only, per-metric retention, anonymization on the host cross-tenant view, and a full export audit — every guardrail is on by default and surfaces in the audit log.

Per-tenant database isolation

Every MetricEvent, MetricRollup, Dashboard, and CustomEvent lives inside the tenant's own SQL Server database. No shared time-series store, no row-level-security retrofit, no accidental cross-tenant joins. Aligned with CleverInit's DB-per-tenant model.

No SQL editor exposed

Tenants never get a SQL prompt or raw-event API. Only IMetricQuery (typed, paginated, permission-checked) and audited CSV / PDF exports leave the boundary. The 'general-purpose BI tool' attack surface simply isn't there.

Declared dimensions only

Every metric declares an allow-list of dimensions. Events with unknown dimensions go to a dead-letter table for investigation — never silently absorbed. Cardinality explosions and inconsistent labels can't corrupt the rollup.

Per-metric retention policy

Raw events 90 days by default, hot rollups 13 months, cold rollups 5 years — each tenant-overridable per metric. The retention pruner runs daily, deletes raw events past the cap, and keeps the corresponding rollups intact.

Anonymization mode (host cross-tenant)

The host operator's cross-tenant dashboard tier strips tenant-identifying labels by default. Toggling anonymization off is logged as an audit entry. Aggregated metrics by tenant size or plan tier stay available; named-tenant views require explicit unmasking.

Export audit

Every CSV / PDF export is recorded with who, what, when, and the file reference. The export request lives in the host's file storage with a presigned URL and an expiry. Insights.Audit gates the visibility of the export log itself.

Install Insights. Cancel your BI subscription.

Install from your marketplace and your Executive Overview, Revenue, Customer Health, Subscription Funnel, Module Adoption, and Engagement dashboards populate from the events your platform already publishes — before lunch, in your locale, with no analyst in the loop.

Install InsightsTalk to engineering

Build smarter. Launch faster. Scale effortlessly.

Tell us where you want to take your business. We'll show you the fastest path to get there — whether you want a fully managed platform, a custom module built exclusively for your tenant, or a fully branded product to sell to your own clients.