How to Divide Territory When Opening a Second Roofing Branch
On this page
You signed a lease on a second shop forty minutes from your first one, you hired a branch manager who used to run a competitor's crew across town, and now you have to answer the question everyone is avoiding in the planning meeting: where does branch one stop and branch two start. Draw that line wrong and you get two outcomes that both cost real money. Either you carve out the new branch a region that looks big on a map but is half farmland and tear-off roofs nobody can sell, or you split a hot corridor down the middle and watch two of your own crews knock the same street, file leads under two source codes, and argue about who owned the homeowner first.
Most shops draw the line in about ten minutes. Somebody opens a map, finds a highway or a county line, and says "everything east of I-35 is the new branch." It feels decisive. It is also almost always wrong, because a highway is a geographic fact and your business is an economic one. The number of sellable roofs east of that highway has nothing to do with the highway. It has to do with how many homes are in the roof-replacement window, how recently storms have moved through, how dense the housing is, how far a crew has to drive, and how many competitors are already parked in the local roofing directories.
This is a long, specific walkthrough of how to divide a service area between two roofing branches so that each one has a fair, winnable book of business, your two managers stop fighting, and your lead attribution stays clean enough that you can actually tell which branch is performing. It covers the math, the data you need, the political traps, the lead-routing rules, and the way to redraw the line six months later without a civil war. It is written for the owner or regional manager who has to make the call and then defend it to two people who both think they got the worse half.
Why the line you draw is an economic decision, not a geographic one
A roofing territory is not acreage. It is a count of addressable roofs and the cost to reach them. Two regions of identical square mileage can differ by 5x in how much revenue a branch can pull out of them in a year. So before you draw anything, internalize the variables that actually move branch revenue, because every one of them should bend the line.
Roof inventory in the replacement window. A typical asphalt shingle roof gets replaced somewhere in a wide band of years depending on material, install quality, ventilation, and weather exposure. You cannot know any single roof's exact age from the street, and you should never pretend to. But across a few thousand homes you can estimate the share that are old enough to be in the replacement conversation. A subdivision built in a single wave twenty-some years ago is a different animal than a neighborhood that has been infilling one house at a time for forty years. The first one turns over in clusters; the second one trickles. A branch sitting on top of three big single-wave subdivisions that are all aging into the window at once has a fundamentally richer territory than one sitting on a patchwork of mixed-age streets with the same house count.
Storm exposure. Hail and high-wind events are the single biggest demand driver in most replacement markets, and they do not respect your territory line. A hailstorm that tracks northeast across a metro can dump on the northern third of branch one's area and the entire area of branch two and miss everything else. If your line ignores storm tracks, you will hand one branch a season of inbound demand and starve the other, and neither manager will understand why their numbers diverged.
Housing density and drive time. Revenue per crew-day is brutally sensitive to how far crews and canvassers drive between stops. A dense suburban grid where a canvasser can hit 80 doors in an afternoon is worth several times a rural strip where the same canvasser hits 25 and spends the rest of the day on county roads. Square miles lie. Doors per square mile and drive-time-from-shop tell the truth.
Competitive saturation. If a region already has nine established roofers showing up in the map pack and a dozen storm-chasers who blew in last spring, your cost to win a job there is higher than in an underserved pocket two towns over. Saturation should pull the line so that each branch gets a defensible mix, not so that one branch inherits the knife fight and the other gets open water.
Existing customer and job density. Wherever you have already done work, you have warranty obligations, referral pull, yard-sign density, and reputation. Splitting your existing installed base across two branches has service-logistics consequences. A roof you installed should be served by whichever branch can get a crew there fastest, and that branch should also harvest the neighbor referrals it generates.
The point of listing these is simple: a good territory split weighs all five, and the geographic boundary is just the output. You do not start with the line. You start with the data, and the line falls out of it.
Step 1: Define the total serviceable area before you split anything
Before you can divide, you have to bound. The first mistake shops make is splitting their current footprint in half. That is backwards. Opening a second branch is supposed to expand total coverage, not merely rearrange the homes you already reach. So define the combined two-branch serviceable area first, then split that.
Start from drive time, not distance. For most residential roofing operations, the practical service radius from a shop is roughly a 30 to 45 minute drive for crews and a similar window for sales and canvassing, beyond which your cost-to-serve climbs and your close rate drops because you cannot get to inspections fast or service callbacks quickly. Pull a drive-time isochrone around each shop, not a circle. A circle drawn in miles will include a region across a river with no bridge, or a mountain, or a stretch of toll road that doubles real travel time. A drive-time polygon respects roads.
Here is the bounding workflow:
- Drop a 35-minute drive-time polygon around branch one's shop and a 35-minute polygon around branch two's shop. Adjust the minutes to your local road network and crew tolerance; dense metros run tighter, spread-out markets run wider.
- Look at the overlap zone where the two polygons intersect. This is your contested middle, and it is the part you have to assign deliberately. We will come back to it.
- Look at the union, the total area covered by either polygon. That is your combined serviceable footprint. Everything outside it is not yours yet and should not be in either territory; assigning unreachable acreage to a branch just inflates a manager's apparent territory while producing zero revenue and a lot of resentment.
- Note the gaps inside the union that look reachable on the map but are actually cut off by a freeway with no nearby interchange, a large industrial or commercial zone with no roofs to sell, water, or a gated master-planned community you cannot canvass. Subtract those from your usable count. They look like territory and they are not.
The output of step one is a clean combined polygon with the dead zones removed and the overlap zone flagged. Now you are dividing something real.
Step 2: Get the per-home data that lets you count, not guess
You cannot divide a market fairly while looking at a road map, because a road map shows you streets, not roofs, and definitely not roof age or storm exposure. You need the territory described at the level of individual homes, then rolled up into small areas you can assign.
The data layer you want, per home or per small block, looks like this:
- Approximate roof-age band. Not an exact install date. A band. Recent, mid-life, due, overdue. You build this from the best signals you can get: parcel and assessor records, building permit history where it is public, the home's build year, and visual condition from aerial and street imagery. The honest framing matters here and it will matter again when we talk about how you present this to homeowners: roof age is a range, an estimate across many homes, not a certified fact about any one house.
- Storm exposure history. Has this location been under hail or damaging wind in recent seasons, and how severe. This comes from public storm reporting and hail-swath data layered onto the address.
- Housing density. Roofs per acre or per block, which drives canvassing and crew efficiency.
- An opportunity signal that combines them. A home that is in the overdue band and sat under a severe hail swath last spring is a different prospect than a five-year-old roof on a street the storms missed. You want a single roll-up score so you can compare apples to apples across the whole footprint.
You can assemble a rough version of this by hand with assessor data, NOAA storm event records, and a lot of spreadsheet work, and plenty of operators have. The reason to do it at all, by hand or with software, is that it converts "east of the highway feels bigger" into "east of the highway has 14,200 homes, of which an estimated 31 percent are in the due-or-overdue band, with 6,800 of them under last May's hail swath." That sentence is something you can split fairly. "Feels bigger" is not.
Roll homes up into assignable units
You do not draw territory lines house by house. You assign small geographic units and let the line follow them. The cleanest units, in rough order of preference:
- ZIP codes are convenient because everybody already uses them and your CRM, your mail vendor, and your reporting all key off them. They are also blunt and sometimes huge, so a single ZIP can be too big to be the unit of decision.
- Carrier routes or census block groups are finer and let you split a large ZIP without cutting it arbitrarily.
- Subdivision or neighborhood boundaries are the most operationally natural unit for canvassing and referrals, because a subdivision behaves as one social and architectural unit, but they do not tile neatly and are harder to report on.
A practical compromise that works for most two-branch splits: assign at the ZIP level by default, but allow yourself to split a small number of contested or oversized ZIPs along carrier-route or major-road lines where the data clearly warrants it. Keep the exceptions few and documented, because every split ZIP is a future attribution headache.
Step 3: Score each unit so the split balances revenue potential, not area
Now you build the table that does the actual work. List every assignable unit (ZIP or sub-unit) in the combined footprint as a row, and for each one capture the numbers that predict how much business a branch can pull out of it.
| Column | What it measures | Why it bends the line |
|---|---|---|
| Total homes | Count of single-family roofs you can sell | Raw size of the opportunity |
| % in due/overdue band | Share of roofs estimated old enough to replace | Converts homes into near-term prospects |
| Estimated due-roof count | Total homes x due/overdue share | The real "how many roofs can I sell soon" number |
| Recent storm exposure | Hail/wind severity in recent seasons | Pulls forward demand; balances seasonality between branches |
| Doors per square mile | Canvassing/crew efficiency | High density = more revenue per field hour |
| Drive time from each shop | Minutes from branch one and branch two | Decides which branch can serve it cheaply |
| Competitive saturation | Count of entrenched local competitors | Higher = harder, more expensive to win |
| Existing jobs/customers | Your installed base and warranty load | Service logistics + referral pull |
| Opportunity score | Roll-up of the above | The single number you balance across branches |
Now you have a quantitative basis for fairness. The goal of the split is not equal square miles and not even equal home counts. It is roughly balanced opportunity between the two branches, adjusted for the fact that a brand-new branch with an unproven manager and no local reputation usually needs a slightly easier book than the established branch for the first year. We will get to that handicap.
A worked example
Suppose your combined footprint has 18 ZIPs, 96,000 homes, and an estimated 27,000 roofs in the due-or-overdue band. A naive split puts nine ZIPs on each side along the highway, giving branch one 52,000 homes and branch two 44,000. Looks close enough. But when you score it:
- Branch one's nine ZIPs hold 19,500 due-or-overdue roofs (denser, older single-wave subdivisions, two of them under last spring's hail).
- Branch two's nine ZIPs hold 7,500 due-or-overdue roofs (newer construction, lower density, storms mostly missed it).
That is not a 52/44 split. On the metric that actually pays the bills, it is 72/28. Branch two's manager will miss quota through no fault of their own, conclude the whole expansion was a setup, and probably quit by month eight. The fix is to move one or two high-opportunity units from branch one to branch two even though it makes the map look lopsided, because the map is not what you are balancing. You are balancing winnable roofs. After moving two dense, aging ZIPs across the line, you might land at 60/40 on homes but 55/45 on due roofs, and 50/50 once you apply the new-branch handicap. Now the line is defensible to both managers because you can show them the table.
Step 4: Resolve the overlap zone with explicit rules, not goodwill
The contested middle, where both shops are within easy drive time, is where revenue gets destroyed if you leave it ambiguous. Two crews canvassing the same street is the single most visible way to look disorganized to homeowners and to burn your own margin. "They'll coordinate" is not a plan. You need rules.
Pick one primary model for the overlap and write it down:
Hard boundary (cleanest). Every unit in the overlap is assigned to exactly one branch, full stop. A road, a river, or a ZIP boundary becomes the wall. Simple to enforce, simple to report, and it kills double-knocking. The cost is that you may assign a home to the branch that is marginally farther away. For most operations the clarity is worth more than the few minutes of extra drive. Default to this unless you have a strong reason not to.
First-touch ownership. The branch that first generates a verifiable lead from a home owns that home and its referrals, regardless of the boundary. This rewards hustle but requires airtight source tracking and an immutable record of who touched the homeowner first, or it dissolves into "I had them first" arguments that you, the owner, end up refereeing every week. Only run this if your lead system can stamp first-touch source permanently and you trust it.
Channel split. One branch owns one demand channel in the overlap (say, the mail and microsite responders) and the other owns another (say, door-knock and inbound calls). Clever on paper, confusing in practice, and homeowners do not know or care which channel they came through. Generally avoid for a two-branch split; it creates more edge cases than it solves.
Whatever you choose, the overlap rule needs three written components: the assignment (who owns what), the exception path (what happens when a homeowner specifically requests the other branch, or when a crew is already on that street for a warranty call), and the penalty (what happens when a rep knocks outside their assignment). Without the penalty, the rule is a suggestion.
The referral and warranty carve-out
Two exceptions are worth hard-coding regardless of model, because they protect the customer experience:
- Warranty and service calls follow the original installing branch's record but are dispatched by drive time. If branch two has a crew three minutes from a branch-one warranty roof, branch two services it and the labor gets cross-credited. Do not make a homeowner wait two hours for the "right" branch when the other one is around the corner.
- Referrals follow the homeowner who gave them, not the map. If a branch-one customer refers their cousin who happens to live in branch two's territory, the originating rep gets referral credit even across the line, and the nearest branch does the work. Referrals are too valuable to punish over a boundary.
Step 5: Set up lead routing and source attribution before you turn it on
Here is where most two-branch expansions quietly fall apart, and it has nothing to do with the map. If you cannot reliably tell which branch a lead belongs to and which branch generated it, you cannot pay people correctly, you cannot measure either branch, and you cannot tell whether the split is working. The plumbing has to be right before day one.
The attribution problems that will bite you:
- A lead comes in through the central phone number or website and has to be routed to the correct branch by the home's address, automatically, every time. Manual routing means a dispatcher guessing, and guesses skew the numbers toward whoever the dispatcher likes.
- A lead gets reassigned (homeowner moved, address was wrong, it was in the overlap) and you lose the record of which branch originated it. Now both branches claim it.
- A homeowner contacts you twice, once per branch, and you create two lead records and two crews show up.
- Direct mail and door campaigns from each branch are not tagged by branch, so when leads come in you cannot tell which branch's marketing dollars produced them.
The rules that prevent this:
- Route by address, automatically. Every inbound lead is geocoded and assigned to a branch by the territory map, not by who answered the phone. This is the single most important piece of plumbing.
- Stamp an immutable first-touch source on every lead. The branch, campaign, and channel that first touched the homeowner is recorded permanently and cannot be silently overwritten when the lead is reassigned or worked by someone else. This is what makes first-touch overlap rules and referral credit actually enforceable instead of arguable.
- Dedupe on the homeowner, not the lead. If the same address comes in twice, the system flags it and shows both branches that there is a collision, before two crews roll.
- Tag every campaign by branch. Mail pieces, microsites, QR codes, and call-tracking numbers each carry the branch and campaign so that downstream you can compute cost-per-lead and cost-per-win per branch and per campaign.
- One pipeline, branch-filtered. Both branches' leads live in one system with a branch field, so you can look at each branch in isolation and at the combined business, and so a lead can move across the boundary without being recreated and losing its history.
If your current setup is a shared spreadsheet and a single phone line, fix that before you split the territory, not after. Reorganizing attribution while two branches are already live and already fighting over leads is miserable.
How RoofPredict draws and runs the line
Everything above is doable by hand, and operators have done it with assessor exports, NOAA storm logs, a mapping tool, and a heroic spreadsheet. The reason a platform helps is that the territory split is not a one-time map exercise; it is a living system that has to score homes, route leads, tag campaigns, and re-balance every quarter. That is what RoofPredict is built to run, so it is worth being specific about which capabilities map to which step above.
Scoring the whole footprint, house by house. RoofPredict scores every home in a service area by roof-age band (recent, mid-life, due, overdue), layers per-roof storm exposure on top, and rolls those into an opportunity score. That is exactly the per-home data layer from step two, except you are not hand-building it from three data sources. You get the ranked, house-by-house view of where the due and overdue roofs actually sit, with a "why this home" evidence chain behind each one, so when you roll units up into your scoring table the due-roof counts are real numbers, not eyeballed guesses. The honest limit, and it is the same one you should carry into every homeowner conversation: the scoring is roof-age plus storm-exposure heuristics, not a certified install date and not magic. Roof age is a range. A storm forecast is odds, not proof of damage.
Drawing the territory itself. You can import your address universe by CSV and draw territory with a hex-map tool, so the combined footprint from step one and the branch boundaries from step four become actual saved territories rather than lines on a paper map. Filter by storm-hit so that when you are balancing the two branches you can literally see which side of a proposed line caught the last hail swath, and move units across the boundary to balance opportunity instead of acreage.
Turning each branch's due-roof list into outreach. Once the line is drawn, each branch has a ranked list of due and overdue roofs in its own territory. RoofPredict turns that list into a tracked direct-mail campaign with personalized proofs (brand, copy, and address checks before anything prints), vendor release, and per-piece delivery tracking, and it generates a personalized microsite and report for each targeted home with per-home QR codes for the mail piece and the door. Because every campaign is tagged, branch one's mail and branch two's mail stay cleanly separated in the reporting, which is the campaign-tagging rule from step five made concrete. For the field side, you build door-knock routes inside each territory, assign canvassers, and run a mobile app for next-stop, outcome forms, and leave-behind QR, so the overlap rules you wrote actually get enforced in the route assignments rather than relying on reps to remember the boundary.
Keeping attribution clean across two branches. Leads land in one pipeline (new, contacting, appointment, inspected, won/lost) with an immutable first-touch source, which is the exact mechanism the overlap and referral rules in step four and five depend on. It syncs two-way with the CRM you already run, so if branch one is on JobNimbus and you are evaluating ServiceTitan or AccuLynx for the new branch, or you are standardizing both on HubSpot, the territory and source data move with the lead instead of being stranded. The result is that you can look at each branch in isolation and at the combined book without recreating records or losing history when a lead crosses the line.
The honest pitch is narrow on purpose: RoofPredict tells you which roofs likely qualify by age and storm exposure and runs the documentation, outreach, and attribution workflow around them. It does not promise that a flagged roof is damaged, and it does not replace the judgment you bring to where the line should go. It removes the part that is pure grunt work, the house-by-house counting and the per-branch tagging, so the judgment call is made on real numbers.
Step 6: Apply the new-branch handicap and ramp plan
A brand-new branch is not a peer of your established one on day one, and pretending otherwise sets up the new manager to fail. The established branch has reputation, yard signs, repeat customers, referral momentum, and a manager who knows the local quirks. The new branch has a lease and a phone. If you split opportunity exactly 50/50, the established branch will out-earn the new one for a year purely on inertia, and your new manager will read that as a bad territory.
Give the new branch a deliberate early advantage and taper it:
- Year one: Weight the new branch's territory slightly heavier on opportunity score, say 55/45 in its favor on due-roof count, to offset its lack of reputation and referral base. It needs the denser, more storm-active, more obviously due units while it builds local trust.
- Quarter-by-quarter check: Watch cost-per-lead and cost-per-win per branch. If the new branch's cost-per-win is converging toward the established branch's, the ramp is working and you can start tapering the handicap.
- Year two: Re-balance toward parity as the new branch develops its own referral and warranty base, which by then is generating organic demand the way branch one's does.
The handicap is not charity. It is recognition that referral and reputation density compound, and a new branch starts at zero on both. Hand it the easier-to-prove roofs early so it can build the very assets that make a territory self-sustaining.
Step 7: Stage the rollout so you are not betting the whole expansion on day one
Do not flip the entire new territory live at once. Stage it, so you can see whether the demand and the close rate are really there before you have a full crew and a full canvassing team sitting in a region that turns out to be thinner than the data suggested.
A sane staged rollout:
- Seed phase (weeks 1 to 4). Run the new branch in a small, high-opportunity core of its territory, the two or three densest due-roof units with recent storm exposure. Validate that the data was right, that leads convert, and that your routing and attribution plumbing actually works under real load. Fix the plumbing problems here, on a small scale, not across the whole region.
- Expansion phase (months 2 to 4). Widen out to the full assigned territory as the branch proves it can handle volume. Keep watching per-unit performance, because some units will outperform the score and some will disappoint, and you want to know which.
- Re-balance phase (month 5 to 6). Now you have real performance data per unit, not estimates. Compare actual leads and wins per unit against the opportunity score you assigned. Where reality diverges sharply from the model, the line probably needs to move.
Step 8: Re-draw the line on real numbers, without a civil war
The first territory split is a hypothesis. After six months you have evidence, and the evidence will tell you the line is wrong somewhere, because it always is. Re-drawing is normal and healthy. The trick is doing it without your two managers treating every boundary change as a hostile act.
What to look at when you re-balance:
| Signal | What it tells you | Likely move |
|---|---|---|
| One branch's cost-per-win is much lower | Its territory is richer than scored, or its team is stronger | Shift a unit or two to the other branch, or coach the weaker team before moving the line |
| Actual leads per unit far below the opportunity score | The roof-age or storm estimate was off for that unit | Re-score the unit; maybe reassign it |
| Persistent overlap collisions on a specific street | The boundary cuts through a natural neighborhood | Move the whole neighborhood to one branch |
| One branch maxed on capacity while the other has slack | Demand outran one branch's crews | Shift some units to the branch with capacity, or staff up |
| A new storm track changed exposure | Demand moved | Temporarily lend units toward the storm, with clear time limits |
The political rules that keep re-balancing from blowing up:
- Decide on data in the open. Show both managers the same table. A boundary change backed by a visible cost-per-win gap and a due-roof recount is a business decision. A boundary change announced by fiat is a betrayal. Same move, opposite reaction, entirely because of how it was justified.
- Protect work in progress. When a unit moves branches, in-flight leads and signed jobs stay with the original branch through completion. You move future demand, not the deal someone is about to close. Nothing poisons a re-balance faster than yanking a near-won job from the rep who worked it.
- Re-balance on a schedule, not on complaints. Set a quarterly territory review. If managers know the line gets revisited every quarter on the numbers, they stop lobbying you in the hallway every week, because they know there is a process and a date.
- Lend, do not give, for temporary surges. When a storm spikes demand in one branch's area and it cannot keep up, lend units to the other branch for a defined window with the boundary snapping back afterward. Permanent moves should be rare and evidence-driven; temporary surge-sharing should be routine and time-boxed.
The storm-season exception every two-branch operation has to plan for
In most replacement markets, a single severe hail or wind event can generate more demand in a week than months of normal canvassing. When that event lands disproportionately in one branch's territory, your carefully balanced split is temporarily meaningless, and if you do not have a plan, you will either leave money on the table (one branch can't keep up while the other sits idle) or descend into chaos (everyone swarms the storm and your attribution falls apart).
Plan the storm response in advance:
- Pre-agree the surge protocol. Before storm season, both managers sign off on how units get lent across the line when a storm overloads one branch. The protocol covers who decides (you or a regional manager, on a defined trigger like leads-per-day exceeding crew capacity), how labor gets cross-credited, and how long the lend lasts.
- Keep attribution intact during the surge. Even when branch two's crews are working in branch one's territory after a storm, the leads stay tagged to the territory and the originating campaign. Cross-credit the labor in your comp math; do not rewrite the source data. This is exactly why immutable first-touch source matters.
- Document storm exposure honestly in the field. This is the compliance line, and it is non-negotiable. Your reps and canvassers in a fresh storm zone document what they can see and prepare an accurate repair estimate. They do not promise the homeowner that insurance will approve, they do not promise a payout or a covered roof, they do not tell anyone the deductible will be waived or absorbed or that the roof is "free," and they do not interpret the homeowner's policy or coverage. Those moves cross into territory that is reserved for licensed adjusters and can get a contractor into serious regulatory trouble. The honest, legal frame is the same for both branches: inspect thoroughly, photograph and document the damage to the roof, write an accurate, Xactimate-aligned repair estimate for your own scope of work, and hand it to the homeowner. The homeowner files the claim and the insurer decides coverage. Your job, and the job of any tool you use, is to identify which roofs likely qualify by age and storm exposure and to document the scope thoroughly. It is never to handle, negotiate, or guarantee the claim.
Write this protocol once, get both managers to sign it before the season, and a storm becomes a coordinated revenue event instead of a turf war.
Common mistakes that wreck a two-branch split
After watching how these go wrong, the same handful of errors show up again and again. Each one is avoidable.
Splitting on a map line instead of a data line. Covered above, and it is the single most common mistake. A highway, river, or county line is convenient and frequently puts wildly unequal opportunity on each side. Always check the due-roof counts before you commit to a geographic boundary.
Balancing square miles or even total homes instead of sellable roofs. Two territories with identical home counts can have a 2x or 3x difference in roofs that are actually in the replacement window. Balance the metric that pays you.
Leaving the overlap ambiguous. "They'll work it out" guarantees double-knocking, duplicate leads, and weekly arguments you have to referee. Write explicit overlap rules with a penalty.
Turning it on before attribution works. If you cannot tell which branch owns and which branch generated each lead, you cannot pay or measure anyone. Fix routing, first-touch source, and campaign tagging before day one.
Treating the first line as permanent. The first split is a hypothesis. Refusing to re-balance because "we already decided" leaves a broken line in place for years. Schedule the quarterly review.
Giving the new branch a 50/50 territory from day one. It has no reputation or referral base. Without an early handicap it underperforms on inertia alone, and you lose the manager. Weight the new branch's early book and taper it.
Pulling near-won jobs when you re-balance. Move future demand, never the deal a rep is about to close. Protect work in progress or your managers will fight every boundary change forever.
Ignoring storm seasonality in the split. A line that looks balanced in calm months can swing 70/30 the week after a hailstorm tracks through one branch's area. Plan the surge protocol in advance.
Letting compliance slide in storm zones. Hungry new branches chasing fresh storm demand are exactly where reps start promising approvals and free roofs. Train both branches on the do-not-say list before the season, not after a complaint.
A condensed checklist you can run this week
If you are staring at a wall map right now, here is the order of operations distilled:
- Draw 35-minute drive-time polygons around both shops; take the union as your combined footprint and subtract dead zones (no-roof commercial, water, gated, uncanvassable). Flag the overlap.
- Get per-home data across the footprint: roof-age band, storm exposure, density, opportunity score. Roll homes up into ZIP-level (or finer) assignable units.
- Build the scoring table: total homes, due/overdue share, estimated due-roof count, storm exposure, density, drive time from each shop, saturation, existing jobs, opportunity score.
- Draw the line to balance opportunity score, not area or raw home count. Move high-value units across the boundary until the due-roof split is fair.
- Apply the new-branch handicap: weight the new branch ~55/45 on due roofs for year one, tapering toward parity in year two.
- Assign the overlap with a hard boundary by default; write the overlap rule, the exceptions (warranty by drive time, referrals follow the homeowner), and the penalty.
- Stand up lead plumbing before go-live: route by address automatically, stamp immutable first-touch source, dedupe on the homeowner, tag every campaign by branch, run one branch-filtered pipeline.
- Stage the rollout: seed in a small high-opportunity core, expand, then re-balance on real numbers at month five or six.
- Pre-agree the storm surge protocol and the compliance/do-not-say rules before storm season.
- Schedule a quarterly territory review; re-balance on visible data, protect work in progress, lend (don't give) for temporary surges.
Closing: draw the line on evidence, then run it like a system
The difference between a second branch that doubles your business and one that just splits your existing business in half is almost entirely in how you draw and run the territory line. Draw it on a highway because it is convenient, leave the overlap to goodwill, and turn it on before your attribution works, and you will spend the next year refereeing fights and wondering why the new branch can't hit quota. Draw it on a per-home count of due roofs and storm exposure, write explicit overlap and lead-routing rules, handicap the new branch for its first year, and re-balance quarterly on real numbers, and both branches grow into territories they can actually win.
RoofPredict exists to do the heavy part of that honestly: score every home by roof-age band and storm exposure into a ranked due-roof list, let you draw and balance two-branch territories on a hex map by real opportunity instead of acreage, turn each branch's list into tracked mail, microsites, QR, and field routes, and keep one branch-filtered pipeline with immutable first-touch source so your attribution survives the overlap and the storm surge. It tells you which roofs likely qualify and runs the workflow around them; it does not pretend to know a roof's exact age or guarantee a claim outcome, and neither should you. If you are about to draw a line between two branches, draw it on the count of winnable roofs, and give yourself the plumbing to redraw it when the evidence changes.
FAQ
Should I split my second roofing branch's territory along a highway or county line?
Only if the data happens to agree with it. A highway or county line is geographically convenient but economically arbitrary, because the number of sellable roofs on each side has nothing to do with the road. Before you commit to any geographic boundary, count the estimated due-and-overdue roofs and recent storm exposure on each side. If the highway puts 19,000 near-term roofs on one side and 7,000 on the other, it is the wrong line no matter how clean it looks on the map. Use the road only after confirming the opportunity is balanced.
What should I balance between the two branches if not square miles?
Balance estimated sellable roofs, meaning homes in the replacement window adjusted for storm exposure and density, rolled into an opportunity score. Square miles and even total home counts can differ 2x or 3x in how many roofs are actually old enough to replace soon. Two territories of equal acreage or equal house count can be radically unequal in revenue potential. The metric that pays you is the count of roofs in the due-or-overdue band that you can reach efficiently, so that is the number you split as evenly as the new-branch handicap allows.
How do I handle the overlap zone where both branches can reach the same homes?
Assign it explicitly; never leave it to goodwill. The cleanest default is a hard boundary where every contested unit belongs to exactly one branch along a road or ZIP line, which eliminates double-knocking and keeps reporting clean. Whichever model you choose, write down three things: the assignment (who owns what), the exceptions (warranty calls dispatched by drive time, referrals following the homeowner across the line), and the penalty for knocking outside your assignment. An overlap rule without a penalty is just a suggestion, and two crews on the same street makes you look disorganized to homeowners.
How big should each branch's service area be?
Bound it by drive time, not distance. For most residential roofing operations the practical radius is roughly a 30 to 45 minute drive from the shop, beyond which inspection speed, callback response, and close rates fall off and cost-to-serve climbs. Draw a drive-time polygon (an isochrone) around each shop rather than a circle in miles, because a circle ignores rivers, freeways without interchanges, and toll roads that double real travel time. Then subtract dead zones inside the polygon: water, large commercial areas with no roofs to sell, and uncanvassable gated communities.
Why does lead attribution matter so much when splitting territory?
Because without clean attribution you cannot pay people correctly or tell which branch is performing. You need leads routed to a branch automatically by the home's address, an immutable first-touch source stamped on every lead so reassignments and referrals do not erase who originated it, deduplication on the homeowner so the same address does not spawn two crews, and every campaign tagged by branch so you can compute cost-per-lead and cost-per-win per branch. Fix this plumbing before go-live; reorganizing attribution while two branches are live and already fighting over leads is far harder.
Should the new branch get an equal share of the territory?
No, give it a deliberate early advantage. The established branch has reputation, yard signs, repeat customers, and referral momentum; the new branch starts at zero on all of that. A true 50/50 opportunity split lets the established branch out-earn the new one for a year on inertia alone, and the new manager reads that as a bad territory and often leaves. Weight the new branch's book roughly 55/45 on due-roof count for year one, watch its cost-per-win converge toward the established branch's, then taper toward parity in year two as it builds its own referral and warranty base.
How often should I re-draw the territory line?
Treat the first split as a hypothesis and review it quarterly on real performance data. After about six months you have actual leads and wins per unit to compare against the opportunity scores you assigned, and the line is almost always wrong somewhere. A scheduled quarterly review keeps managers from lobbying you in the hallway every week, because they know there is a process and a date. When you do move a boundary, decide it in the open on a shared data table, protect any in-flight or signed jobs by leaving them with the original branch, and lend rather than permanently give units for temporary storm surges.
What happens to the territory split after a big hailstorm?
A severe hail or wind event can temporarily make your balanced split meaningless, because one branch's area can spike to more demand in a week than months of normal canvassing. Plan a surge protocol before storm season: agree on the trigger (such as leads-per-day exceeding crew capacity), who decides to lend units across the line, how labor gets cross-credited, and how long the lend lasts before the boundary snaps back. Keep leads tagged to their territory and originating campaign during the surge so attribution survives. Lend temporarily; do not redraw the permanent line for one storm.
Can my reps tell storm-zone homeowners their roof is covered or their deductible is waived?
No, and training both branches on this before storm season is essential. A roofing contractor may inspect, document damage, and prepare an accurate repair estimate for their own scope of work, and state facts about that scope. A contractor may not, for a fee, negotiate or handle the insurance claim, interpret the homeowner's policy or coverage, promise a specific approval or payout, promise the deductible is waived or absorbed, advertise a free roof, or represent the homeowner against the insurer, because that crosses into unlicensed public adjusting. The compliant frame: document thoroughly, write an accurate Xactimate-aligned estimate, hand it to the homeowner, and let the homeowner file while the insurer decides coverage.
Do I need software to divide territory, or can I do it by hand?
You can do it by hand with assessor and parcel data, public storm records, a mapping tool, and a careful spreadsheet, and many operators have. Software helps because the split is not a one-time map exercise; it is a living system that has to score homes by roof-age band and storm exposure, draw and re-balance two-branch territories, route leads by address, stamp immutable first-touch source, and tag every campaign by branch. A platform like RoofPredict removes the grunt work of house-by-house counting and per-branch tagging so the judgment call about where the line goes is made on real numbers rather than eyeballed guesses.
The Roofline by RoofPredict
Stay Ahead of Roofing Market Changes
Join The Roofline by RoofPredict for weekly roofing intelligence: material price signals, storm demand, insurance and regulatory updates, sales tactics, and local contractor opportunities.
Sources
- Asphalt Roofing: Estimating Service Life and Maintenance — nrca.net
- Hail Damage to Asphalt Shingles and Impact-Resistant Roofing Research — ibhs.org
- NOAA Storm Events Database — ncdc.noaa.gov
- NWS Storm Prediction Center Severe Weather Reports — spc.noaa.gov
- U.S. Census Bureau American Community Survey (Housing Characteristics) — census.gov
- Census Bureau Year Structure Built Data — census.gov
- International Residential Code (Roof Assemblies) — codes.iccsafe.org
- OSHA Fall Protection in Residential Construction — osha.gov
- Bureau of Labor Statistics: Roofers Occupational Outlook — bls.gov
- FTC Guides Concerning Use of Endorsements and Testimonials in Advertising — ftc.gov
- Texas Department of Insurance: Public Insurance Adjusters — tdi.texas.gov
- Texas Department of Insurance: Roof Damage and Storm Claims Guidance — tdi.texas.gov
- NWS Hail Climatology and Swath Mapping — weather.gov
- RoofPredict — roofpredict.com
Related Articles
How to Keep Human Approval on Everything Insurer-Facing in Your Roofing Business
Automation can draft, sort, and flag. It should never be the last signature on a document a carrier reads. Here is how to build a human-approval gate that holds up.
How to Measure Supplement Cycle Time on Roofing Jobs (and Cut It)
Cycle time is the single number that tells you whether your supplement and depreciation dollars are stuck in a drawer. Here is how to measure it, segment it, and shrink it without touching the carrier's job.
RoofSnap vs Roofr for Measurements and Proposals: A Contractor's Field Test
Both promise fast roof measurements and good-looking proposals. Here is how RoofSnap and Roofr actually behave on real jobs — accuracy, turnaround, pricing math, and the workflow gaps you only feel after 50 estimates.