System map · How the acquisition metrics fit together

The acquisition driver tree

Every acquisition number is made of the numbers beneath it. This tree shows the whole system on one page: what a client costs, split into an ads branch and a team branch, all the way down to the raw inputs. Read the operator on each line — the maths is exact.

The tree

One client's cost, taken apart

Start at the top: what it costs to win one new client. It splits into two cost streams that add — the ad money and the team's time. Each stream then divides down through the funnel's conversion rates until you reach the raw inputs.

Ads branch Team branch ÷ divide by a conversion rate + two costs add KPI one of the five headline numbers
Cost per new client · CAC
£86.86
(£10,879 ads + £7,536 team) ÷ 212 new clients
KPI · CAC
+
Ads branch · £51 / client
Ad cost per client
£65.14
per ad-attributed client (167)
÷ Conversion 66%
Cost per completed call — ads
£43.17
£10,879 ÷ 252 attributed calls
÷ Sch→Comp 40%
Cost per booking
£17.11
£10,879 ÷ 636 bookings
KPI · cost per booking
÷ booking rate 49%
Cost per form
£8.32
£10,879 ÷ 1,307 forms
÷ form rate 19%
Cost per click
£1.60
£10,879 ÷ 6,801 clicks
from
Raw input
Ad spend + clicks
Google Ads
Team branch · £36 / client
Team cost per sale
£36.58
£7,536 ÷ 206 sales
KPI · cost per sale
÷ Conversion 67.5%
Cost per completed call — team
£24.71
£7,536 ÷ 305 completed calls
KPI · cost per completed call
÷ Sch→Comp 42.2%
Shift cost per scheduled call
£10.44
£7,536 ÷ 722 scheduled calls
÷ calls per shift
Shift cost
£7,536
hours × hourly rate (rota)
from
Raw input
Rota hours + rates
LUFT team blocks
The shared levers

Two rates sit under both branches

This is the bit that was hard to see. Two call-funnel rates appear in both cost streams. Move either of them and both the ad cost and the team cost per sale move together. These are the exact columns from the LUFT Monthly report.

Sch→Comp — Scheduled → Completed shared lever

Of the calls that get booked, how many actually happen. Cancels and no-shows drag it down; chasing them back up is the single biggest per-host difference. In June the team ran 42.2% overall — but by host it spanned 32% to 53%. The hosts at the top follow up hardest on cancels and no-shows.

Mkaya53%
Rachel48%
Reanna45%
Muskaan35%
Patrycja32%

Conversion — Completed → new client shared lever · KPI

Of the calls that happen, how many buy. This is the LUFT team conversion67.5% in June, steady in a tight 64–67% band all year. It divides both branches too, so a point of Conversion is worth the same as a point of Sch→Comp.

Why it matters as a system: a pound saved on cost-per-click only helps the ads branch. A point added to Sch→Comp helps everything above it in both branches at once. The further down a shared node sits, the more numbers ride on it.
The journey underneath

The same thing, as a funnel

The tree is the cost view. This is the people view — the ad-attributed journey in June, the volumes the rates above are measured on.

6,801
Clicks
→ 19% →
1,307
Forms
→ 49% →
636
Bookings
→ 40% →
252
Completed
→ 66% →
167
Clients
The whole placement engine (not just ads) ran 722 scheduled → 305 completed → 206 sales in June — the team branch's numbers. Ads sourced most, but not all, of those calls.
How to read it

Three rules and you've got it

1. Follow the operators. Every line is a ÷ or a +. A node is exactly its children combined — nothing is hand-waved.

2. Down = more granular. The top is the headline cost; each step down breaks it into a smaller unit cost and the rate that connects them. The bottom row is raw inputs — spend, clicks, rota hours.

3. Shared nodes are the levers. A rate that appears in both branches (show, close) moves more of the system than one that appears in only one. That's where effort pays back most.

Populations, honestly: the ads branch is measured on ad-attributed clients; the team branch on the whole placement engine. They meet exactly at the top, where the blended CAC spreads both cost pots across all 212 new clients. Each branch's cascade is exact within its own population.