HeadHoncho

What the business made, not what it did

Statistics is the job profit dashboard: six figures over a range you choose, seven charts under them, and one rule running through all of it — a zero is a claim, so it is never printed as a placeholder.

Every figure here is an aggregate computed when you ask for it, over the same rows Finance and Jobs read. There is no separate statistics store, which is why this panel and Finance cannot report different money for the same dates.

The figures

The job profit dashboard opens on a row of figures for the range you chose. Each one is owned by a single definition used everywhere it appears, rather than restated here.

FigureWhat it counts
Total jobsJobs created in the range
RevenueWhat clients paid, gross
Gross profitRevenue less all parts, whoever paid for them
Net profitGross profit less the cuts and rates that pay for labour
Company expensesExpenses and payable ledger rows, counted once — reimbursements excluded, because the expense was already recognised
Closing averageClosed divided by closed plus canceled. Open jobs are in neither term
Average ticketThe mean price of jobs closed in the range
Why gross and net are both printed

Net profit alone reads as the whole margin, and it leaves the base that every subcontractor cut is a percentage of off the panel entirely. Both rungs are shown so the arithmetic between them is visible: a cut is subtracted once and only once — the expense total already contains it, because labour exists nowhere else.

Statistics as a job profit dashboard: total jobs, revenue, gross and net profit, then the same split per company.
The figures at the top answer the range you picked. The table below answers it per company.

Two windows, on purpose

A job and a dollar disagree about what “in this range” means, so the panel uses two axes and says so on screen rather than leaving you to guess which one is in force:

One axis for both would either drop a payment collected after its job's range, or drop every job that has not been paid yet. Neither is a smaller error than saying which axis you used.

The charts

Under the figures sit the charts: where the jobs came from, the closing rate and the average ticket per worker, jobs by area, cancellations per worker, where the money went, and what is owed. Three properties are built into the marks rather than left to whoever placed them:

The balances card carries two stamps a balance always needs: it is as of today rather than for the range, and it is workspace-wide, because settlements and salaries do not belong to a single company and cannot honestly be narrowed to one.

Per worker, not per share

A job with a lead and a helper counts once for each of them. The per-worker charts therefore do not add up to the total, and the panel says so on screen: how does this person do is a different question from what share of the month was theirs. Splitting the credit would make a two-person job worth half a close each — a claim about performance that nobody actually made.

Two consequences follow:

Five categories, then Other

No chart names more than five categories. The rest fold into one Other row that carries the rows it stands for and opens onto them when you press its name tag.

What Other does with the numbers depends on what they are: a count or an amount sums into its bar, while a rate or an average counts instead — “2 more techs” — because the average of a set of closing rates is not a closing rate. The panel's search reaches the rows behind Other, and the CSV export prints the Other row and then every member it stands for, marked as such, so a spreadsheet cannot imply a completeness the screen never claimed.

Several clients at once

With more than one company in scope the figures are the sum over them — and directly under the tiles sits a By company table, one row per client, each figure re-derived for that client rather than apportioned from the roll-up. A sum with no parts is a number nobody can check.

Two rules that table keeps:

A row is a door: pressing it narrows the whole app to that client. See managing multiple companies.

What a zero is never allowed to mean

A figure with nothing behind it is not printed as 0. A closing rate over no decided jobs, a chart with no rows, a rate with no denominator — each says what is missing instead. A zero is a claim about the world, and a claim nobody measured is the fastest way for a dashboard to stop being believed.

The Report action exports the range as a CSV that carries the same numbers the charts drew, one section per chart. On several clients, the by-company split is the file's first section — a roll-up handed to a client with no per-client split is the one export an agency cannot use.