Blog

How we keep our numbers honest

Four rules that decide what a number is allowed to say — one source per figure, a blank where nothing was measured, a quiet week that cannot look like a broken sync, and recorded sources.

The most expensive thing an analytics tool can do to you is not be wrong. It is to be wrong quietly — to show a zero where it should have shown nothing, to average away the accounts it could not read, or to let the deck you sent a client disagree with the dashboard you read it off.

So here are the four rules that decide what a number in SupahPost is allowed to say. They are worth knowing whether or not you use it, because they are the four questions worth asking of any tool that reports your numbers back to you.

1. Every figure comes from one place

The dashboard, a report, the built-in assistant and any AI you connect all read through the same query layer. Not four code paths that ought to agree — one, with the other three asking it.

That sounds like an implementation detail and it is the difference between two experiences. The version where each surface computes its own totals is how you end up with a deck saying 1.2M and a chart saying 1.19M for the same week, and no way to find out which is right. Nothing here recalculates a rate on its way to a slide, so there is no second answer to find.

The question to ask any tool: if I export this month and open the dashboard beside it, does anything recompute? If the export path has its own arithmetic, the two will drift, and you will find out in front of a client.

2. Nothing measured is a blank, never a zero

A zero is a claim. It says we looked, and the answer was none. Where nothing was measured, we have not looked — the platform did not report it, the account is not in a programme that reports it, the day is outside the window we hold — and the honest output is an em-dash.

This has consequences we accept rather than work around:

  • An account with no earnings figure at all is named and left out of a rate, not averaged in as zero. A revenue-per-view number diluted by three accounts that never report revenue measures nothing at all, and it always looks like a decline.
  • A slide with one absent figure on it is left out of the deck with the reason recorded, rather than printed as a heading over a dash. A grid of figures keeps its dashes, because there the absence sits beside real numbers and is itself the information.
  • "How many posts did I publish" stays a real zero, because you publishing nothing is a finding. You earning nothing is not the same sentence.

The question to ask: does a blank look different from a nought on this screen? If everything missing renders as 0, you cannot tell an outage from a bad week.

3. A quiet week and a broken sync look different

These two are indistinguishable from the outside and they mean opposite things. One is your content. The other is a connection that stopped working days ago.

The rule underneath is boring and it is the whole thing: a failed fetch must never write a value. If we ask a platform for a number and the request fails, the previous value stays. Writing a zero after an error is how one bad afternoon becomes a permanent flat line in your history, and nothing about the chart afterwards tells you it happened.

So a failed read stays absent, an explanation of a drop asks whether the data is even complete before it explains what the data says, and where a window is partial, that is what you are told — not a smaller number.

The question to ask: when the connection to my account expired, what did the chart do? If it kept drawing, it was drawing something that never happened.

4. Where the material came from is recorded, and so is where it was not

For anything the tools here build, you can ask where the photographs and the source material came from, and whether the post that went out said so.

The part that matters is the second list. Anything with no source recorded is listed separately and described exactly that way: nothing was stored about where it came from. That is not the same statement as "this is your own work", and a tool that quietly folds the unknowns into the known ones has turned an open question into a false answer.

The same shape shows up all over: a comparison with too few posts behind it is dropped and named, not reported thin. A pattern with a handful of posts in it is not a weak pattern — it is not a pattern, and it says so. "Nothing stood out" is a real answer and a common one.

Why this is a public post

Because these four rules cost something, and it is easier to defend them in the open than in a support thread.

Rule 2 means you will sometimes look at a dash and wish it were a number. Rule 4 means you will sometimes ask why a thing you were sure about is not being claimed, and the answer will be that three posts are not enough to claim it. A tool that filled those in would feel better on the day and would be worth less the moment anything depended on it.

If a number here ever tells you something it cannot support, that is a defect and I want to know about it: support@supahpost.com, and a person reads it.

All product behaviour described here was checked 2026-09-09.

SupahPost

Make the content. Fill the calendar. Know what worked.

SupahPost is a content studio, scheduler, and analytics workspace for people who run social accounts at volume. Publishing is Facebook, Instagram, TikTok, YouTube and X.

Start free

7-day free trial · $0 due today · cancel anytime

All posts · RSS