Datasheet · Shift planner

How to read the Shift planner

Type a month of shifts for each host and the screen projects what that month produces — booked calls, new customers, wage and ad cost — and what those customers go on to be worth. This page shows where every number comes from.

The one idea

One month in, six months of value out

Everything in the Monthly plan table is one month: the shifts you type, the calls they produce, the customers won, the wage and ad money spent. Only the last three columns look further out — they say what that month's new customers are worth over their first six months as customers.

18Shifts

You type this

One number per host: how many shifts they'll work in the month you're planning. Everything else recalculates as you type.

31Customers

The month's output

Booked calls, customers, wage, ads, total cost — all for that one month of shifts.

£3,9646M net revenue

The six-month value

What those customers bring us over their first six months. The "6M" columns are the only ones that look past the month.

One row, start to finish

The journey of Mkaya's row

Type 18 shifts for Mkaya and the screen walks this chain — every step uses a measured rate, not a guess:

1 · Shifts
18 × 4h = 72h
Shifts are 4-hour blocks on the rota
2 · Wage
72h × £14 = £1,008
Her actual hourly rate, from the rota system
3 · Customers
£1,008 ÷ £32.30 = 31
History says £32.30 of her wage wins one customer
4 · Calls
31 ÷ 44% = 70
She converts 44% of booked calls, so 31 customers takes ~70 calls
5 · Ads
31 × £34.80 = £1,086
Her customers historically cost £34.80 each in ad money

Add the two costs — £1,008 wage + £1,086 ads = £2,094 total, £67 per customer. Then the six-month columns: 31 customers × £127 = £3,964 net revenue, minus the £2,094 = £1,870 gross profit.

This is James's spreadsheet model, unchanged. Feed it his numbers and it reproduces his sheet row for row — automated tests pin that. What's different is where the rates come from: measured from the records, not typed from memory.
The inputs

Where the rates come from

The Inputs table under the plan holds five rates per host. They're measured from the same booking, rota and advertising records as the Host analysis report, over the window of complete months you pick with the pills (last 1, 3, 6 or 12).

£32.30Wage / customer

Wage per customer

What the host was paid in the window, divided by the customers they won. Mkaya: £4,200 ÷ 130 customers, April–June.

£34.80Ads / customer

Ads per customer

The host's share of the Google Ads bill, divided by their customers. The all-calls / ad-traced toggle works exactly as it does on Host analysis.

44%Sched → customer

Scheduled → customer

The share of the host's booked calls that became paying customers. 130 of Mkaya's 293.

£14Hourly rate

Hourly rate & hours per shift

Straight from the rota system — the rate on the host's card today, and 4-hour shift blocks.

Hover any figure and it shows its working — the division and the months behind it. Type over any figure to override it: the cell turns amber, the projection runs on your number, and the ↺ puts the measured value back. A brand-new host with no history yet (no complete month worked) starts with blank cells for you to fill in.

The £127

What a customer is worth: measured, and it's our cut

The "6M net revenue / customer" figure is measured from real customers: everyone who became a LUFT customer in the last six finished cohorts, matched to what they actually spent in their first six months.

£187,651
spent by 369 new customers in their first six months
×
25%
our share of what a client pays — the rest is the therapist's
÷
369
customers
=
£127
net revenue per customer, six months

Two things to know about that number. It's our money only — the 25% platform share, never the therapist's 75%. And it agrees with the LTV reports: the Cohort payback machinery computes the same six-month figure its own way (by first order, all channels) and lands on £127 for the same months. One customer, one value, everywhere on the hub.

The figure is editable like everything else. James's sheet used £100 — a sensible round number about 20% under the measured value.
Profit & return

The last two columns

Both compare the six-month value against the one month of cost that bought it.

6M gross profit = net revenue minus the month's total cost. Mkaya: £3,964 − £2,094 = £1,870. Red means the customers won't cover what they cost.

Return on total cost = net revenue ÷ total cost. Mkaya: £3,964 ÷ £2,094 = 1.89 — every £1 spent on her shifts and ads comes back as £1.89 within six months. Note it divides by all cost, wage included, not just ad spend.

The Total line pools: it adds every host's £ and customers first, then divides once — it is not an average of the rows above it.

Simple model

The grid at the bottom

The same question with the per-host detail stripped away: if we land N customers in a month, what's the six-month profit at different all-in costs per customer?

190
customers (follows your plan until you type a number)
×
£127 − £85
value per customer minus cost per customer
=
£7,980
six-month gross profit

Each row is one cost level. The break-even row is where cost equals value — profit £0. The ≈ your plan marker sits on the row closest to what your current plan actually pays per customer, so you can see at a glance how much headroom the plan has.

Why trust it

How we know the numbers are right

It reproduces James's sheet exactly

Given his inputs, the model prints his rows to the pound — Mkaya's 72h, £1,008, 59 calls, 26 customers, £2,585, 1.35. Automated tests run that comparison on every change to the code.

The rates match Host analysis

The planner reads the same records with the same rules — same wage ladder, same ad split, same conversion counts. Check any host's months on Host analysis and the pooled figure here agrees.

The £127 matches the LTV reports

Two independent routes — LUFT customers by first call, and the payback report's cohorts by first order — land on the same six-month value per customer.

Reality agrees with the projection

June really delivered 205 customers from 722 booked calls. Set the planner to June's actual staffing and it projects in line with what the month actually produced.

Limits

Four things to hold while planning

Rates come from finished months only

The current month never feeds the rates — its wage bill and customers are both still arriving. A host who started mid-month shows blank rates until their first complete month is in.

Wages are rota-owed money until invoices arrive

Same as Host analysis: until a host's invoice is agreed, their wage is what the rota says they're owed. Figures switch to real invoices automatically as they're checked off.

It projects the average, not the promise

The rates are the host's recent average. A month with different call mix, holidays or a new campaign will land off the projection — treat the numbers as the centre of the range, not a guarantee.

An override is your number, not the warehouse's

Amber cells mean someone typed over the measured rate. The plan is only as honest as its amber cells — hover one to see what the measured value was.