Use Case

Business KPIs at a glance

Daily signups, churn, funnel steps, and the numbers your Monday meeting actually runs on. Tracked from code, readable by everyone.

The problem

The KPI spreadsheet is always one week stale.

Signups, activations, churned accounts, funnel conversion. Every team tracks them, and in most companies they live in a spreadsheet that someone updates by hand from console queries. The numbers are stale by Monday and disputed by Tuesday.

These are counters with timestamps. Your app can keep them itself, in real time, with one definition everyone shares.

What you track

One call per business event, at the moment it happens.

Each KPI is a track call at the place where the event actually happens: the signup controller, the cancellation service, the activation callback. Nest the breakdowns you'll want later, like plan or source.

Because buckets roll up hourly, daily, weekly, and monthly at write time, "this month vs last month" needs no batch job. The monthly bucket already exists.

app/services/register_user.rb
Trifle::Stats.track(
  key: 'kpi::signups',
  at: Time.zone.now,
  values: {
    count: 1,
    plan: { user.plan => 1 },
    source: { user.signup_source => 1 }
  }
)

What you get back

The Monday numbers, from the console or the dashboard.

Placeholder. This section will show the retrieval side: weekly signup trends, plan mix as a category breakdown, and churn rate derived with a transponder expression over two tracked counters.

The dashboard the whole company reads

KPI numbers, trend charts, and a Monday digest to the leadership channel.

Placeholder. This section will walk through the KPI dashboard layout: KPI number widgets for the headline metrics, trend lines for signups and churn, category splits by plan and source, and a scheduled weekly digest.

Trifle App dashboard with KPI widgets and trend charts

Retire the KPI spreadsheet

Track the events once, argue about the numbers never.