# RevenueTracker

> Revenue by stream, with mix, growth and concentration.

Source: https://lopifi.com/components/revenue-tracker
Part of: Lopifi — US GAAP books on autopilot, reviewed by a CPA (https://lopifi.com)

---

- **Family:** Metrics & analysis — ---
- **Status:** Implemented
- **Spec:** https://lopifi.com/docs/catalog/13-metrics-and-analysis

## Install

```bash
npx shadcn@latest add @lopifi/theme
npx shadcn@latest add @lopifi/revenue-tracker
```

## Specification

Revenue by stream, period by period, with the four questions an operator actually asks: how much
this period, versus what, from where, and how concentrated.

The summary tiles are computed from the same array the grid cells are drawn from — there is no
second data path, because a header KPI that disagrees with the table beneath it is the fastest
way to lose a reader. Total revenue is summed here rather than accepted as a prop for the same
reason.

Month-on-month **and** year-on-year, together: a month-on-month read of a seasonal business is
noise, and a year-on-year read of a fast-growing one is stale.

The run-rate tile is labelled a projection from one period. Multiplying a month by twelve is not
ARR — it takes no view of churn, seasonality or contract length — and the tile says so rather
than letting the figure travel into a deck as though it did.

One stream over a third of revenue is flagged in words. Concentration is a fact about the risk in
the business, not about the month.

## Rules this component obeys

Money is minor units, never floats. `null` is not `0` and neither is redacted. Negatives render in accounting parentheses with the parenthesis column reserved on both sides. Debit and credit are two columns. Per-currency decimal places. Polarity is explicit — up is not always good. Every figure states its period, entity, currency, basis and as-of.
