XPRNS · business loops
What actually comes back
A business emails the export its own system already produces. These 7 sheets are what comes back — every one generated by running the engine over a sample export, not written by hand. Open any of them and the command that produced it is printed at the top.
End of day — a salon
Replaces: the nightly writeup somebody stays late for
Whether the day was actually normal, who was new, and who has quietly stopped coming — the three things the takings total cannot tell you.
End of day — a cafe
Replaces: the same writeup, in a different trade
The same loop on a café's checks. Every noun changed — guests, menu items, service — and not one line of the engine did.
Pre-shift brief
Replaces: the huddle done from memory and a glance at the book
Who to greet by name, whose birthday it nearly is, and who is a few points from a reward they do not know they have earned.
Gaps to fill
Replaces: scrolling the customer list for names that feel about due
The only loop that makes money rather than saving time. Ranked by each person's own rhythm, not by who is most memorable.
All locations
Replaces: opening every site's report and hunting for what looks off
Silence by default: four sites in, two named. Each judged against its own Tuesdays, never against the chain average.
The month, against the plan
Replaces: month-end totals, comparisons, and where the goals stand
Totals, last month, year to date, and what shifted underneath a flat total. Goals come from a file the owner writes — the one number this tool will not invent.
What leads to what
Replaces: nothing — no incumbent offers this at all
Relates non-numeric facts to outcomes: which first service, and which staff member, actually predicts a second visit. Every rate is tested against the house average, with the margin widened for the number of groups examined — so most months it says very little, on purpose.
Read this part first
Every sheet carries a block called Not in this export. That is the product, more than any single number is: a section the file could not support is named and refused rather than reported as a confident zero. Projections carry their basis, their sample size and their confidence, or they decline to appear.
- Sample data throughout — synthetic exports, so no real customer is named here.
- No integrations, ever. The engine reads a delimited file; it never calls an API.
- Zero dependencies. Standard library only, which is why there is nothing to break.