SatoriRev
Pre-launch · October 2026

The organising principle

No screen shows a number that cannot be derived, on screen, from a stated definition and a stated as-of time.

SatoriRev is subscription analytics for revenue and customer-retention teams. It tracks revenue and product usage down to the individual product, rolls those up through two levels of hierarchy, and explains what moved rather than only reporting a total. A definition is data, not documentation: one stored row per metric, one implementation behind it, and a figure that will open onto the arithmetic that produced it.

How a figure answers for itself Illustration · sample figures

New business · August 2026

+$62,400

true as of the close of the month named · definition movement.new v1

Show the derivation

Stated definition — movement.new v1 Who is counted — customers with revenue this month and none last month.
True as of — the close of the month named.
Which promise — billed: invoiced or charged, money that has been asked for.
Computed assum(movement_entry.new)

ProductQtyMRRSource
Platform — Core18+34,100observed
Platform — Analytics11+16,800observed
Services — Onboarding6+8,300asserted
Services — Support plan4+3,200observed
Listed above39+62,400

Every dollar of this figure is listed — $62,400 in the movement, $62,400 across the customers behind it. Where the parts do not account for the whole, the screen says how much is unaccounted for and stops calling itself evidence for the rest, rather than quietly showing a shorter list. Source says whether we observed the fact or were told it; the two are never collapsed. And where the trail ends, the screen names where it ended.

Nothing here is restated on the screen. The definition, its wording and its version are read from the same stored row the API returns, so a definition changed in one place changes everywhere it is shown — and a second implementation of the same metric fails the build.


What it does

  1. 01

    Revenue and usage, per product

    Both are tracked at the level of the individual product a customer pays for and uses — not at the level of the account — and rolled up through two levels of hierarchy above it.

  2. 02

    One number, whatever the screen

    A named quantity has one stored definition and exactly one implementation behind it — a second one fails the build, and a headline figure computed without a definition fails it too. A number does not change because you arrived at it from a different screen.

  3. 03

    Movement, explained

    What changed, by how much, and why — new, expansion, contraction and churn, each traceable to the accounts and products underneath it. A total that cannot be taken apart is not an answer.

  4. 04

    Churn risk as a work queue

    Risk signals become items with an owner and a state, not a feed to be scrolled. The question a retention team has is who is doing what about which account — so that is what the product answers.

  5. 05

    Answerable to people and to software

    Numbers are reachable through the interface or the API, from the same stored definition. Neither surface is a re-implementation of the other, so the two cannot drift apart. The machine-readable surface is read-only by design — nothing reachable that way changes anything.

  6. 06

    A total that shrinks says why

    Where someone is restricted to part of the catalog, the screens that can filter honestly say on their face that a scope is active and what it excludes. The screens that cannot filter honestly refuse, or withhold the figure and give the reason, rather than serving a smaller number under a whole-company label. A figure that quietly shrank is the most expensive thing analytics can do to you.


Where this stands

Stage
Pre-launch. In active build. No customers yet, and nothing on this page is a customer's result.
Launch
October 2026.
Pricing
Not published at this stage. Settled, and discussed in conversation.
Security
Built so that each tenant's data is reachable only within that tenant, checked route by route before release. There is no third-party audit, certification or penetration test, and none is claimed.

The figures in the panel above are an illustration of the pattern, not a measurement of anything. They are labelled that way for the same reason the product states its definitions: a number without its provenance is decoration.

And the pattern is not yet on every screen. Every headline figure in the system is required to resolve to a stored definition — that part is enforced, and a figure computed without one stops the build. Putting the disclosure beside each figure is being done screen by screen, starting with revenue and churn, and it is not finished.


If this is the analytics you have been asking your current tool for, say so before October.

Early conversations shape what ships. Write to Chris Frary, who is building it.

chris.frary@satorirev.com