Numbers Pack
These sheets show you what a booked job costs by source and by branch, and what a new branch should do in its first year.
BOOKED
Cost per booked job, by source
Cost per lead tells you what a form fill cost. Cost per booked job tells you what a job on your schedule cost, and booked jobs are what pay your crew. Your cheapest lead source can turn out to be your most expensive one once you count the jobs it books.
The tracking sheet
Put one row per source per month. Columns A to H, starting in row 2.
| Month | Source | Ad spend | Leads | Booked jobs | Cost per lead | Cost per booked job | Booked rate |
|---|---|---|---|---|---|---|---|
| [Month] | Google search ads | $ | =IFERROR(C2/D2,"") | =IFERROR(C2/E2,"") | =IFERROR(E2/D2,"") | ||
| [Month] | Google Local Services Ads | $ | =IFERROR(C3/D3,"") | =IFERROR(C3/E3,"") | =IFERROR(E3/D3,"") | ||
| [Month] | Meta (Facebook and Instagram) | $ | =IFERROR(C4/D4,"") | =IFERROR(C4/E4,"") | =IFERROR(E4/D4,"") | ||
| [Month] | Paid lead sites | $ | =IFERROR(C5/D5,"") | =IFERROR(C5/E5,"") | =IFERROR(E5/D5,"") | ||
| [Month] | Referrals and repeat customers | $ | =IFERROR(C6/D6,"") | =IFERROR(C6/E6,"") | =IFERROR(E6/D6,"") | ||
| [Month] | All sources | =SUM(C2:C6) | =SUM(D2:D6) | =SUM(E2:E6) | =IFERROR(C7/D7,"") | =IFERROR(C7/E7,"") | =IFERROR(E7/D7,"") |
- Ad spend: what the platform billed you that month. For referrals, use what you paid out in referral rewards, or 0.
- Leads: calls, web forms, texts and Facebook messages from that source.
- Booked jobs: leads that turned into a job or an in-person estimate with a date on your calendar.
- Cost per lead: spend divided by leads.
- Cost per booked job: spend divided by booked jobs. Sort by this column.
- Booked rate: booked jobs divided by leads. Format it as a percent.
How to run it
- Write your definition of a booked job at the top of the sheet, and use the same one all year.
- Record the source on each lead when it comes in. Ask the caller and use a separate tracking number per source.
- At month end, pull spend from each platform and count booked jobs by source.
- Sort by cost per booked job and move money toward the lowest one the same week.
- Watch sources with only a few booked jobs for another month before you cut them, since one job can swing the number a lot.
SCORECARD
The five-number scorecard
Your accountant reports on last year, which is too late for this month's payroll. If you look at ad spend next to booked jobs once a month, a bad week can turn into a bad month before you see it. So fill in this scorecard each Friday, with ad spend and booked jobs on the same line.
The five numbers and their owners
Give each number one owner by name. Write the target next to it so "off" means something.
| # | Number | How to count it | Owner | Target |
|---|---|---|---|---|
| 1 | Leads, by branch | Calls, web forms, texts and Facebook messages that week | [Name], whoever runs your ads | [ ] |
| 2 | Booked jobs, by branch | Jobs and in-person estimates put on the calendar that week | [Name], office or CSR lead | [ ] |
| 3 | Cost per booked job, by branch | Branch ad spend divided by branch booked jobs | [Name], whoever runs your ads | [ ] |
| 4 | Close rate on estimates | Estimates sold divided by estimates given | [Name], sales lead | [ ] |
| 5 | Cash in the bank | Balance on Friday morning | [Name], owner or bookkeeper | [ ] |
The Friday line
| Week ending (Fri) | Branch | Ad spend | Leads | Booked jobs | Cost per booked job | Estimates given | Estimates sold | Close rate | Cash in the bank |
|---|---|---|---|---|---|---|---|---|---|
| [Date] | [Branch 1] | $ | =ad spend / booked jobs | =sold / given | |||||
| [Date] | [Branch 2] | $ | =ad spend / booked jobs | =sold / given | |||||
| [Date] | Company total | $ | =ad spend / booked jobs | =sold / given | $ |
The Wednesday-fix rule
- Fill in the line on Friday.
- Mark any number that missed its target.
- Tell that number's owner on Monday. They bring you a fix by Wednesday.
- Leave the other four alone that week. With one change at a time, you can see what it did.
- After 13 Fridays you have a full quarter of lines to read side by side.
BRANCH
Branch launch checklist, budget setup and projection worksheet
You want to know by week three what a booked job costs at a new branch. Set these up before it takes its first call.
Branch launch checklist
- Its own Google Business Profile, verified before the first call. Google allows one per location when each has its own service area and staff. The branch needs a real location your team staffs during its stated hours, since virtual offices don't qualify.
- Its own local phone number. Google asks for a number that reaches that location and is under your direct control.
- The same business name as your other locations. Google requires one name across locations in a country, with no keywords added.
- Its own service areas. Up to 20, set by city or postal code, within about two hours' drive. If customers don't come to the branch address, remove the address from the profile.
- Ownership stays with your company. Add your agency as a manager.
- Its own line in your reporting. Leads, booked jobs, ad spend and cost per booked job for this branch alone.
Budget setup
One fence company we work with gives its new branches their own ad budget and accounts. A new market starts cold, and lumping it into the main branch hides how it's doing.
- Give the branch its own budget line.
- Open its ad accounts under your company's own logins and business portfolio. On Meta, an ad account created inside an agency's business portfolio can't be transferred.
- Track its booked jobs separately from day one.
Twelve-month projection worksheet
Line up each branch's first twelve months by month since opening, with the calendar month beside them so the slow months show.
| Month since open | Calendar month | Branch 1 booked jobs | Branch 1 revenue | Branch 2 booked jobs | Branch 2 revenue | New branch plan: booked jobs | New branch plan: revenue | New branch ad budget |
|---|---|---|---|---|---|---|---|---|
| 1 | $ | $ | $ | $ | ||||
| 2 | $ | $ | $ | $ | ||||
| 3 | $ | $ | $ | $ | ||||
| 4 | $ | $ | $ | $ | ||||
| 5 | $ | $ | $ | $ | ||||
| 6 | $ | $ | $ | $ | ||||
| 7 | $ | $ | $ | $ | ||||
| 8 | $ | $ | $ | $ | ||||
| 9 | $ | $ | $ | $ | ||||
| 10 | $ | $ | $ | $ | ||||
| 11 | $ | $ | $ | $ | ||||
| 12 | $ | $ | $ | $ |
Paste the filled table into Claude with this prompt, then hand the result to the new manager as his plan.
I'm opening a new branch of my [trade] company in [market], starting in [month, year]. Below are the first twelve months of booked jobs and revenue for each of my existing branches, lined up by month since opening, with the calendar month next to each. [paste table] Build a twelve-month projection for the new branch in a table, with booked jobs and revenue for each month. Use the ramp you see in my branches, and adjust for the calendar months the new branch opens into. Our slow months are [months]. Show a low case and a high case next to the middle one. List each assumption in plain words. Write it so I can hand it to the branch manager as his plan for the year.