Operating model. Built to be bought.
01The thesis
A metal-only Cleveland roofer built as an in-home sales company: owned lead channels, a one-visit close, one product, one crew, and clean numbers a national roofing platform can read in a week.
02What a buyer pays for
Lead channels we own: instant-price site, storm response, landlord portfolios, neighbor cards
What it proves: Lead cost below paid-lead rates
Status: [BUILDING]
In-home sales system: scripted one-visit close, trained reps, ride-alongs, rehash of unsold quotes
What it proves: Close rate does not depend on the owner
Status: [BUILDING]
Install capacity: crew roster, squares per day, callback rate, rate cards in writing
What it proves: We can install what we sell
Status: [CONFIRM]
Ticket growth: add-on attach rate, financing share
What it proves: Average ticket rises year over year
Status: [BUILDING]
Clean books and data: QuickBooks file for this company only, every job in Housecall Pro, monthly close
What it proves: Diligence takes weeks, not months
Status: [SET UP]
Owned brand and assets: name, domain, phone number, reviews, Google Business Profile, customer list, all held by the company entity
What it proves: The business transfers whole, nothing sits in a personal name.
Status: [CONFIRM]
| Asset | What it proves | Status |
|---|---|---|
| Lead channels we own: instant-price site, storm response, landlord portfolios, neighbor cards | Lead cost below paid-lead rates | [BUILDING] |
| In-home sales system: scripted one-visit close, trained reps, ride-alongs, rehash of unsold quotes | Close rate does not depend on the owner | [BUILDING] |
| Install capacity: crew roster, squares per day, callback rate, rate cards in writing | We can install what we sell | [CONFIRM] |
| Ticket growth: add-on attach rate, financing share | Average ticket rises year over year | [BUILDING] |
| Clean books and data: QuickBooks file for this company only, every job in Housecall Pro, monthly close | Diligence takes weeks, not months | [SET UP] |
| Owned brand and assets: name, domain, phone number, reviews, Google Business Profile, customer list, all held by the company entity | The business transfers whole, nothing sits in a personal name. | [CONFIRM] |
03Who does what
Tyler
CEO. Brand, lead engine, pricing, systems, data. Never on a roof.
Darrel
Production. Crew relationship, schedule, job walks, quality sign-off. [CONFIRM ROLE]
Sales manager (first key hire)
Runs reps, script, ride-alongs, rehash. [HIRE]
In-home reps
One-visit close, paid on commission. [HIRE]
Install crew
Tear-off and install, paid per square. [CREW NAME]
Production coordinator
Material drops, photos, crew transport, homeowner walk at handoff. [HIRE WHEN VOLUME NEEDS IT]
Call center / appointment setter
Confirms every visit the day before. [HIRE OR OUTSOURCE]
Canvass team lead (phase 2)
[HIRE]
Office
Scheduling, day-before confirms, day-4 calls, permits. [HIRE OR OUTSOURCE]
| Who | Owns |
|---|---|
| Tyler | CEO. Brand, lead engine, pricing, systems, data. Never on a roof. |
| Darrel | Production. Crew relationship, schedule, job walks, quality sign-off. [CONFIRM ROLE] |
| Sales manager (first key hire) | Runs reps, script, ride-alongs, rehash. [HIRE] |
| In-home reps | One-visit close, paid on commission. [HIRE] |
| Install crew | Tear-off and install, paid per square. [CREW NAME] |
| Production coordinator | Material drops, photos, crew transport, homeowner walk at handoff. [HIRE WHEN VOLUME NEEDS IT] |
| Call center / appointment setter | Confirms every visit the day before. [HIRE OR OUTSOURCE] |
| Canvass team lead (phase 2) | [HIRE] |
| Office | Scheduling, day-before confirms, day-4 calls, permits. [HIRE OR OUTSOURCE] |
04One product
System
Standing seam metal, one system, [GAUGE] steel, [PAINT SYSTEM], [PANEL PROFILE]. [CONFIRM WITH SUPPLIER]
Colors
[N], curated. More colors do not raise close rate.
Add-ons at the visit
Gutters and guards, ridge vent, skylight reset, ice and water upgrade, soffit and fascia wrap.
Fallback, never advertised
If the home cannot carry metal or the buyer will not, the rep may offer architectural shingle from the private price book. Tracked separately. [DECIDE]
Warranty
[WARRANTY TERMS, TRANSFERABLE?]
Financing
[FINANCING PARTNER], target share of jobs [TARGET]
Payment terms
Deposit at signing to order materials, balance at completion. [CONFIRM DEPOSIT PERCENT]
Insurance jobs
Deductible plus first insurance check to start, depreciation check at completion.
| Layer | What |
|---|---|
| System | Standing seam metal, one system, [GAUGE] steel, [PAINT SYSTEM], [PANEL PROFILE]. [CONFIRM WITH SUPPLIER] |
| Colors | [N], curated. More colors do not raise close rate. |
| Add-ons at the visit | Gutters and guards, ridge vent, skylight reset, ice and water upgrade, soffit and fascia wrap. |
| Fallback, never advertised | If the home cannot carry metal or the buyer will not, the rep may offer architectural shingle from the private price book. Tracked separately. [DECIDE] |
| Warranty | [WARRANTY TERMS, TRANSFERABLE?] |
| Financing | [FINANCING PARTNER], target share of jobs [TARGET] |
| Payment terms | Deposit at signing to order materials, balance at completion. [CONFIRM DEPOSIT PERCENT] |
| Insurance jobs | Deductible plus first insurance check to start, depreciation check at completion. |
05Pricing, internal only
- Price book lives in Housecall Pro, by square, by pitch band, by story count, by tear-off layers. Never on the website.
- The rep quotes from the satellite measurement before the visit and confirms on site. [CONFIRM MEASUREMENT TOOL]
- One list price, one visit price. The visit price is good for [N] days. No discount ladder beyond that. [DECIDE]
- Financing is presented as a monthly number before the total. [FINANCING PARTNER]
- Target gross margin [TARGET]. Marketing budget [TARGET]% of revenue.
06The in-home visit
- 1Confirmed the day before by call and text; both decision makers present or we reschedule.
- 2Walk the outside with the homeowner, photos in CompanyCam.
- 3Show the roof on a photo of their house in [N] colors (visualizer). [TOOL]
- 4Explain the one system: panels, fasteners, underlayment, warranty. Samples in hand.
- 5Present the monthly payment, then the total, then the add-ons.
- 6Close on the first visit. If no, book the follow-up before leaving and log the objection.
- 7Signed contracts carry the Ohio 3-day cancel notice; the office calls at day 4 to confirm and schedule. [CONFIRM WITH COUNSEL]
Rehash: every unsold visit gets a call from the sales manager within 48 hours and again at 30 days.
07Lead channels
Booking site
How: Instant-address booking
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Neighbor cards
How: Cards and door hangers within 48 hours of every install
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Storm response
How: HailTrace alerts and polygons
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Landlord portfolios
How: Address list in, batch roof report out
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Home shows and retail events
How: [DECIDE]
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Canvassing crews
How: Phase 2
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Paid search and social
How: Geo-targeted to Cleveland. [DECIDE]
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Referral program
How: [DECIDE]
Who runs it: [OWNER]
Cost basis: [COST BASIS]
Rehash of old leads
How: Unsold and stale leads called again
Who runs it: [OWNER]
Cost basis: [COST BASIS]
| Channel | How | Who runs it | Cost basis |
|---|---|---|---|
| Booking site | Instant-address booking | [OWNER] | [COST BASIS] |
| Neighbor cards | Cards and door hangers within 48 hours of every install | [OWNER] | [COST BASIS] |
| Storm response | HailTrace alerts and polygons | [OWNER] | [COST BASIS] |
| Landlord portfolios | Address list in, batch roof report out | [OWNER] | [COST BASIS] |
| Home shows and retail events | [DECIDE] | [OWNER] | [COST BASIS] |
| Canvassing crews | Phase 2 | [OWNER] | [COST BASIS] |
| Paid search and social | Geo-targeted to Cleveland. [DECIDE] | [OWNER] | [COST BASIS] |
| Referral program | [DECIDE] | [OWNER] | [COST BASIS] |
| Rehash of old leads | Unsold and stale leads called again | [OWNER] | [COST BASIS] |
08Sales funnel
- 1Lead in
- 2Address captured, roof measured
- 3Appointment set
- 4Confirmed day before
- 5Visit held (demo)
- 6Sold on first visit
- 73-day cancel window passes
- 8Measurement report ordered
- 9Materials ordered
- 10Installed
- 11Paid
- 12Review
- 13Neighbor cards
Every in-home sale carries the Ohio 3-day right to cancel. Count a sale only after the window closes. [CONFIRM WITH COUNSEL]
09KPIs
Lead cost
Definition: Marketing spend / leads
Target: [TARGET]
Lead to appointment set
Definition: Appointments set / leads
Target: [TARGET]
Set to held (demo rate)
Definition: Visits held / appointments set
Target: [TARGET]
Demo to sit rate
Definition: Visits with both decision makers present / visits held
Target: [TARGET]
Close rate on held
Definition: Sales / visits held
Target: [TARGET]
Same-day close rate
Definition: Sales closed at the first visit / visits held
Target: [TARGET]
NSLI
Definition: Net sales per issued lead
Target: [TARGET]
Average ticket
Definition: Net sales / jobs sold
Target: [TARGET]
Add-on attach rate
Definition: Jobs with an add-on / jobs sold
Target: [TARGET]
Financing share
Definition: Financed jobs / jobs sold
Target: [TARGET]
Cancel rate inside 3 days
Definition: Cancels / sales
Target: [TARGET]
Backlog in weeks
Definition: Sold, not installed squares / squares installed per week
Target: [TARGET]
Squares installed per week
Definition: Squares completed in the week
Target: [TARGET]
Days from sold to installed
Definition: Install date minus sale date
Target: [TARGET]
Callback rate
Definition: Jobs with a callback / jobs installed
Target: [TARGET]
Gross margin
Definition: Gross profit / revenue
Target: [TARGET]
Marketing cost as % of revenue
Definition: Marketing spend / revenue
Target: [TARGET]
Reviews per job
Definition: New reviews / jobs installed
Target: [TARGET]
| Metric | Definition | Target |
|---|---|---|
| Lead cost | Marketing spend / leads | [TARGET] |
| Lead to appointment set | Appointments set / leads | [TARGET] |
| Set to held (demo rate) | Visits held / appointments set | [TARGET] |
| Demo to sit rate | Visits with both decision makers present / visits held | [TARGET] |
| Close rate on held | Sales / visits held | [TARGET] |
| Same-day close rate | Sales closed at the first visit / visits held | [TARGET] |
| NSLI | Net sales per issued lead | [TARGET] |
| Average ticket | Net sales / jobs sold | [TARGET] |
| Add-on attach rate | Jobs with an add-on / jobs sold | [TARGET] |
| Financing share | Financed jobs / jobs sold | [TARGET] |
| Cancel rate inside 3 days | Cancels / sales | [TARGET] |
| Backlog in weeks | Sold, not installed squares / squares installed per week | [TARGET] |
| Squares installed per week | Squares completed in the week | [TARGET] |
| Days from sold to installed | Install date minus sale date | [TARGET] |
| Callback rate | Jobs with a callback / jobs installed | [TARGET] |
| Gross margin | Gross profit / revenue | [TARGET] |
| Marketing cost as % of revenue | Marketing spend / revenue | [TARGET] |
| Reviews per job | New reviews / jobs installed | [TARGET] |
10Software stack
Run the business
Tool: Housecall Pro
Why: Already on MAX for Exodus. Price book per square, estimates, jobs, crew schedule, invoices, payments, financing, review requests.
Status: Owned
Phones and texts
Tool: Quo
Why: Connected to Housecall Pro.
Status: Owned
Call center and confirmations
Tool: Quo + Housecall Pro reminders
Status: Owned
Address capture, satellite roof measurement and rep quoting (internal)
Tool: Roofle RoofQuote PRO
Why: Satellite measurement, homeowner picks product and color, price in under a minute, rep quotes for door and phone, built-in financing. Owned by SalesRabbit since Jan 2026.
Status: To buy, get demo
Detailed measurement reports
Tool: EagleView or GAF QuickMeasure
Why: Ordered inside Roofle. Pay per report, only on signed or storm jobs.
Status: To buy per use
Storm tracking
Tool: HailTrace
Why: Meteorologist-verified hail and wind maps, storm alerts, address-level impact, history for slow months.
Status: To buy
Field photos
Tool: CompanyCam
Why: Every job, before, during and after. Feeds proof for insurance and marketing.
Status: To buy
Visualizer
Tool: [TOOL, EVALUATE]
Why: Show the metal roof on the homeowner's house.
Status: Evaluate
Canvassing app
Tool: SalesRabbit
Why: Phase 2 only, when we have reps.
Status: Later
Mass mail
Tool: Postcard vendor [VENDOR]
Why: Pulls from storm polygons.
Status: Later
Books
Tool: QuickBooks
Why: Its own file, never mixed with another company.
Status: Set up
| Job | Tool | Why | Status |
|---|---|---|---|
| Run the business | Housecall Pro | Already on MAX for Exodus. Price book per square, estimates, jobs, crew schedule, invoices, payments, financing, review requests. | Owned |
| Phones and texts | Quo | Connected to Housecall Pro. | Owned |
| Call center and confirmations | Quo + Housecall Pro reminders | Owned | |
| Address capture, satellite roof measurement and rep quoting (internal) | Roofle RoofQuote PRO | Satellite measurement, homeowner picks product and color, price in under a minute, rep quotes for door and phone, built-in financing. Owned by SalesRabbit since Jan 2026. | To buy, get demo |
| Detailed measurement reports | EagleView or GAF QuickMeasure | Ordered inside Roofle. Pay per report, only on signed or storm jobs. | To buy per use |
| Storm tracking | HailTrace | Meteorologist-verified hail and wind maps, storm alerts, address-level impact, history for slow months. | To buy |
| Field photos | CompanyCam | Every job, before, during and after. Feeds proof for insurance and marketing. | To buy |
| Visualizer | [TOOL, EVALUATE] | Show the metal roof on the homeowner's house. | Evaluate |
| Canvassing app | SalesRabbit | Phase 2 only, when we have reps. | Later |
| Mass mail | Postcard vendor [VENDOR] | Pulls from storm polygons. | Later |
| Books | QuickBooks | Its own file, never mixed with another company. | Set up |
Rule: Housecall Pro is the system of record. Every lead, quote and job ends up there. Other tools feed it.
11Mass measuring
Portfolio batch
Landlord sends an address list, run each address through satellite measurement, price from the internal price book, one batch proposal. Target: 50 roofs priced in one sitting. [CONFIRM ROOFLE BULK OR REP-QUOTE WORKFLOW]
Storm batch
Draw the hail polygon in HailTrace, export the addresses, measure every roof from satellite, mail a free roof check card and door hanger, canvass the streets with the most hits.
Street batch
Every install becomes 25 neighbor cards and door hangers within 48 hours of the crew leaving. The card says a neighbor just got a metal roof and offers the free roof check.
| Batch | How |
|---|---|
| Portfolio batch | Landlord sends an address list, run each address through satellite measurement, price from the internal price book, one batch proposal. Target: 50 roofs priced in one sitting. [CONFIRM ROOFLE BULK OR REP-QUOTE WORKFLOW] |
| Storm batch | Draw the hail polygon in HailTrace, export the addresses, measure every roof from satellite, mail a free roof check card and door hanger, canvass the streets with the most hits. |
| Street batch | Every install becomes 25 neighbor cards and door hangers within 48 hours of the crew leaving. The card says a neighbor just got a metal roof and offers the free roof check. |
12Storm playbook
Hour 0
HailTrace alert for 1 inch hail or 60 mph wind inside the service area.
Hour 0 to 24
Confirm the polygon, pull addresses, pre-measure roofs, set ad geo-target to the polygon.
Day 1 to 3
Mail drop, door hangers, canvass top streets, free roof checks booked.
Day 3 to 14
Inspections with CompanyCam photos, help homeowners file claims, meet adjusters.
| When | What |
|---|---|
| Hour 0 | HailTrace alert for 1 inch hail or 60 mph wind inside the service area. |
| Hour 0 to 24 | Confirm the polygon, pull addresses, pre-measure roofs, set ad geo-target to the polygon. |
| Day 1 to 3 | Mail drop, door hangers, canvass top streets, free roof checks booked. |
| Day 3 to 14 | Inspections with CompanyCam photos, help homeowners file claims, meet adjusters. |
Rules: we never waive or pay a deductible. Every insurance-contingent contract carries the Ohio required cancellation notice. We do not act as a public adjuster. [CONFIRM ALL WITH COUNSEL]
13Crew model
- Pay per square, by product, from a crew rate card [CREW RATES].
- Build crew transport into every job (driver and van), since the crew may not drive. [CONFIRM]
- Our coordinator handles photos and phone updates on site if the crew does not use phones. [CONFIRM]
- Require a certificate of insurance before the first job; confirm workers' comp status with Ohio BWC for each crew. [CONFIRM WITH AGENT]
- Schedule by street and by storm zone to cut drive time.
- Goal: one-day tear-off and install on standard homes. [CONFIRM CREW CAPACITY IN SQUARES PER DAY]
- Track callbacks per crew; a crew with repeat callbacks gets no new work until fixed.
14Unit economics
Internal. Homeowners never see a number before the visit.
Gross margin
Fill in your real costs
Target gross margin: [SET TARGET]
15Data room checklist
16Expansion
Phase 1
Market: Cleveland
Trigger: [N] installs per month at [TARGET] margin for 3 straight months
Phase 2
Market: Akron and Canton
Trigger: [TRIGGER]
Phase 3
Market: Columbus
Trigger: [TRIGGER]
Phase 4
Market: [MARKET]
Trigger: [TRIGGER]
| Phase | Market | Trigger |
|---|---|---|
| Phase 1 | Cleveland | [N] installs per month at [TARGET] margin for 3 straight months |
| Phase 2 | Akron and Canton | [TRIGGER] |
| Phase 3 | Columbus | [TRIGGER] |
| Phase 4 | [MARKET] | [TRIGGER] |
A new market opens only with a sales manager, one crew and the same KPI report from day one.
17Launch plan
First 30 days
Entity and insurance, Housecall Pro price book in squares, crew rate card signed, Roofle and HailTrace demos, site built, Google Business Profile.
Days 31 to 60
First 5 installs (friends, family, landlord network), CompanyCam photos, reviews, neighbor cards around every job.
Days 61 to 90
Hire the sales manager, first storm drill, first monthly KPI report in the format above.
| When | What |
|---|---|
| First 30 days | Entity and insurance, Housecall Pro price book in squares, crew rate card signed, Roofle and HailTrace demos, site built, Google Business Profile. |
| Days 31 to 60 | First 5 installs (friends, family, landlord network), CompanyCam photos, reviews, neighbor cards around every job. |
| Days 61 to 90 | Hire the sales manager, first storm drill, first monthly KPI report in the format above. |
Open decisions
- Brand name
- Entity and ownership split
- Crew rates
- Ohio and city contractor registration
- Insurance carrier
- Deposit percent
- Service radius
- Sales comp plan
- Warranty terms