SDI Lab / BI cockpit Demo on a made-up Swiss insurance-lead business, data as of 28.10.2026 18:00. Names, brokers and numbers are invented.

Revenue (Finance)

CHF 45'195

▼ −8% vs August (CHF 48'895) · by invoice date

Trend * October 2026 so far: the data runs to 28.10.2026 18:00, so it is not a full month.

As a table
ProductRevenueRows
Basic health (KVG)CHF 23'055Rows →
LifeCHF 9'770Rows →
Supplementary (VVG)CHF 9'540Rows →
CarCHF 2'830Rows →
How it's calculated

The amount billed to brokers in CHF, counted on the invoice day. Owner: Finance.

Definition in metrics/leads.yml

name: revenue_finance
label: Revenue
noun: invoiced leads
description: The amount billed to brokers in CHF, counted on the invoice day.
measure: revenue_chf
time_basis: invoiced_at
owner: finance
certified: true

The number

select coalesce(sum(invoice_amount_chf), 0) as value
from leads
where invoiced_at >= timestamp '2026-09-01 00:00:00' at time zone 'Europe/Zurich'
  and invoiced_at < timestamp '2026-10-01 00:00:00' at time zone 'Europe/Zurich'

The trend

select to_char(invoiced_at at time zone 'Europe/Zurich', 'YYYY-MM') as period,
       coalesce(sum(invoice_amount_chf), 0) as value
from leads
where invoiced_at >= timestamp '2026-04-01 00:00:00' at time zone 'Europe/Zurich'
  and invoiced_at < timestamp '2026-11-01 00:00:00' at time zone 'Europe/Zurich'
group by 1
order by 1

The breakdown by product

select product as label,
       coalesce(sum(invoice_amount_chf), 0) as value
from leads
where invoiced_at >= timestamp '2026-09-01 00:00:00' at time zone 'Europe/Zurich'
  and invoiced_at < timestamp '2026-10-01 00:00:00' at time zone 'Europe/Zurich'
group by 1
order by 2 desc, 1
limit 50

The app runs these queries with parameters; here the values are written in, so they can be read or pasted into psql.