"I can't see the numbers."
The bank says one thing, the CRM another, the spreadsheet a third, and the accountant's version arrives weeks after it mattered. So the real position lives in your head, roughly. I run my own businesses on the fix for this. Here it is, honest bit first.
Most problem pages on this site have something you can open right now. This one doesn't, and I'm not going to pretend otherwise. The systems below are internal. They run on my machines, against my own bank feeds, my own customers, my own costs. If I built you the same thing it would run on your machines, and there'd be nothing for me to link to there either.
What I can show you is screenshots from the real systems, the method, and a public ledger where every number on this site carries its source and its date. Go and check the ledger →
What it's costing you
What I normally see is decisions waiting on the month-end pack, and by the time the pack lands the moment to act has gone. A failed payment sits quiet until renewal. And Sunday night goes on stitching exports into one spreadsheet that's stale by Tuesday.
What I run on my own numbers
Every number behind one front door
21 dashboards sit behind a single page, grouped by category, each one showing how fresh its data source is. So I never wonder whether a number is stale. The screen says. Finance, operations, content, one place. In your business the same screen answers "how's the business doing", with the alerts so you can stop checking.
The morning message that says it's all still running
Every morning a watchdog sends 24 status lines, one per system, and anything that broke overnight sits at the top in red. Feeds die quietly, and a dashboard fed by a dead feed just shows you yesterday. The screenshot below caught a real failure.
One P&L view across every entity
15,441 bank transactions categorised across 4 legal entities in one profit-and-loss view, with 127 recurring costs tracked, so a price rise or a zombie subscription shows up. Categorisation runs on a local model. Bank data never leaves the machine.
Churn flagged against each customer's own normal
In a client's business, the system watches each customer's activity against that customer's own rolling median. A sustained drop of per-dog raises a flag while there's still time to pick up the phone. The median is per customer because a regular who's quietly fading barely moves a fleet average, and by the time the average moves it's usually late.
The watching, handed to a system
A system of mine, now retired, checked 138 competitors every day and messaged me when something moved. Anything you "should check regularly but don't", competitors, prices, listings, reviews, can work the same way: a system watches it and tells you when it's worth a look.
What I'd tell you not to build
A BI platform, first. The dashboard is the last step and the cheapest one. The real work is underneath: deciding which source wins when they disagree, fixing the joins, and catching feeds when they die. Buy the dashboard first and you get the same disagreeing sources on one screen, faster. And sometimes one message every morning with the number that matters is enough. That costs a lot less, and I'll say so.
First piece is fixed price, typically £750 to £1,500. Then we extend or stop. How pricing works →