Skip to main content

The Roofing Canvassing Route Planner Playbook

Michael Torres, Storm Damage Specialist··33 min readRoofing Sales & Growth
On this page

A canvassing day has a fixed number of productive hours in it, and most roofing teams quietly throw a third of them away in the truck. A rep clocks in at nine, drives twenty-five minutes to a street somebody picked off a map, knocks a while, drives across town because the next "good" address is over there, knocks a little more, breaks for lunch, and never gets back into rhythm. The doors weren't the problem. The plan that connected them was. Nobody had sequenced the day so the rep walked instead of drove, and walking is where the money is.

A route planner fixes the connective tissue. It is the layer that sits between your target list and your reps' boots, and its only job is to convert a pile of ranked addresses into an ordered, walkable, drivable sequence that wastes as little time as possible between knocks. A target list tells you which doors are worth knocking. A route planner decides the order you knock them in and the path you take to get there. Get the list right and the routing wrong, and you still bleed hours. Get both right and a two-person team that used to knock fifty doors a day knocks ninety, on better streets, with the truck barely moving.

What follows is the routing workflow I'd hand a sales manager who already has a list and is tired of watching reps burn daylight in traffic. It covers how to think about routing as an optimization problem, how to carve daily zones, how to sequence the order of streets, how to handle callbacks and not-homes, how storm response breaks every normal routing rule, and where per-roof data changes which addresses even belong on the route. There are tables, worked examples with real numbers, and the mistakes that quietly wreck otherwise good plans.

What a route planner actually does

Strip away the software marketing and a canvassing route planner does three things. It groups nearby high-priority addresses into a chunk a person can finish in a shift. It orders the streets and doors inside that chunk so the path doubles back as little as possible. And it assigns that chunk to a specific rep for a specific window so you can measure what happened. That's the whole function. Everything else, the maps and the colors and the live tracking, is in service of those three jobs.

It helps to name the difference between the two halves of canvassing efficiency, because people conflate them and then can't tell which one is broken.

  • Targeting efficiency is whether the doors are worth knocking at all. It's a list-quality question: roof age, storm exposure, owner-occupancy. A perfectly routed day on dead doors still books nothing.
  • Routing efficiency is whether you spent your hours knocking instead of driving. It's a path question: drive time, walk time, doubling back, dead miles between clusters. A perfectly targeted list worked in a chaotic path still wastes a third of the day.

A route planner owns the second one. It assumes the targeting is already done, or done well enough, and it squeezes the wasted motion out of the day. The two interact, which is why later sections cover how data changes the route, but keep the distinction clean in your head: routing is about motion, not merit.

The number that should run your routing

There is one metric that decides whether a routing change is good or bad, and most teams never track it: doors knocked per productive rep-hour. Not doors per day, which hides whether the rep was driving or walking. Not contacts, which mixes in timing and pitch. Just how many doors a rep physically gets to in an hour of being on-shift.

A rep on foot in a dense subdivision can knock a remarkable number of doors an hour because the houses are forty feet apart and there's no driving. The same rep cherry-picking scattered addresses across three neighborhoods might manage a quarter of that, because most of the hour is spent in the truck. The entire point of route planning is to push that number up by replacing drive time with walk time. If a routing decision raises doors-per-hour, it's good. If it lowers it, it's bad, no matter how clever it looked on the map.

Step 1: Understand the geometry you're fighting

Before you plan a single route, understand why routing is hard, because the difficulty shapes every decision after it.

Canvassing routing is a version of an old, genuinely hard math problem: given a set of points you have to visit, find the shortest path that hits them all. For a handful of doors you can eyeball the best order. For a few hundred scattered across a city, the number of possible orderings explodes far beyond what anyone can solve by hand, which is why routing software exists and why even good software approximates rather than perfects. You are never going to find the theoretically optimal path. You're trying to find a good enough path fast, and to avoid the obviously bad ones.

The good news for roofing specifically: your points aren't randomly scattered. Houses come in dense clusters called subdivisions, with streets that connect in predictable grids and loops. That structure is a gift. It means the right unit of routing isn't the individual door, it's the street and the cluster. You don't solve a traveling-salesman problem across two hundred doors; you knock every door on a street as one walked unit, then move to the adjacent street. The geometry does most of the optimization for you if you respect it.

The three time costs you're balancing

Every canvassing route trades off three kinds of time, and a good plan minimizes the expensive ones:

Time cost What it is Roughly costs Routing goal
Walk time Moving foot-to-foot between adjacent doors Seconds to a minute This is the productive state; maximize it
Drive time Moving the truck between clusters 5-30 minutes a hop The expensive enemy; minimize hops
Dead time Re-parking, doubling back, getting lost, deciding where to go next Adds up invisibly Eliminate with a pre-set sequence

Drive time is the obvious villain, and it is the biggest one. But dead time is the sneaky killer, because it doesn't feel like waste in the moment. A rep standing on a corner deciding which way to go, walking back to a door they skipped, re-parking the truck because they didn't think about where to leave it, those minutes don't register as lost the way a long drive does, and they add up to a brutal total over a day. A route plan's job is to make every one of those micro-decisions in advance so the rep never stops to think about where to go next. They just work the next door on the sheet.

Step 2: Carve the territory into daily zones

The first real planning move is to chop your scored, mappable address universe into zones, where one zone is roughly one rep's productive day. This is the single highest-leverage routing decision, because the zone boundaries determine how much driving is even possible. If a zone is tight and contiguous, the rep physically cannot waste much time driving. If a zone is a sprawling mess of scattered high-score doors, no clever sequencing inside it will save the day.

Start from the principle that a zone is a container for a day's worth of contiguous doors, packed with priority but bounded by geography. You're balancing two things in tension: you want the highest-priority doors, and you want them close together. When those conflict, geography usually wins for the body of the day, because density is what protects your doors-per-hour.

How many doors belong in a zone

Size the zone to a realistic day. The honest numbers depend on density, contact rate, and how long conversations run, but useful planning anchors:

Setting Doors a solo rep can work in a day Why
Dense grid subdivision 80-120 Houses close, easy walking, minimal driving
Standard suburban tract 60-90 Bigger lots, some driving between streets
Rural or large-lot 25-45 Long driveways, big gaps, lots of driving
Active storm corridor Varies, often higher Motivated homeowners answer faster, conversations shorter at first contact

Build the zone to roughly that count. A zone too small and the rep finishes early and has to drive to a new area, which reintroduces the drive time you were trying to kill. A zone too big and it doesn't get finished, which fragments your tracking and leaves high-priority doors unworked. Aim to size zones so a rep finishes the planned doors near the end of the legal knocking window with a little slack for callbacks.

Drawing zone boundaries that respect the map

Good zone boundaries follow natural barriers, not arbitrary lines. Use major roads, rivers, highways, rail lines, and large non-residential blocks as edges. The reason is practical: a rep should never have to cross a six-lane arterial mid-zone, because crossing it is a drive, and a drive inside a zone is exactly the dead motion you're eliminating. Let the hard-to-cross features be the walls of the zone.

Work through zone creation like this:

  1. Plot every scored address on a map, colored by priority tier. You're looking for where the high-tier doors cluster. They usually light up along a storm corridor or inside an aging subdivision cohort.
  2. Find the dense high-priority clusters. These are your zone seeds. A cluster of A and B doors tight enough to walk is the heart of a good zone.
  3. Grow each zone outward to a day's worth of doors, absorbing the priority doors first and filling in with the lower-tier doors that happen to sit between them. Stop when you hit a natural barrier or the door count.
  4. Make the zone contiguous. No islands. If a few high-score doors sit a mile away from the cluster, they don't belong in this zone; they belong in whichever zone is built around their neighborhood, or in a callback pass. A non-contiguous zone is a guarantee of drive time.
  5. Leave the truck somewhere central. Note a parking anchor near the middle of the zone so the rep can stage from one spot and walk outward, rather than moving the truck street by street.

The finished product is a polygon on a map containing a walkable day of mostly high-priority doors, bounded by features that keep the rep from wandering. Hand a rep that, not a spreadsheet.

The fill-in principle that reps resist

Here's a routing rule that feels wrong to reps and is right anyway: knock the lower-tier doors that sit between your high-tier doors. A rep walking a street with three A-tier houses and two C-tier houses between them should knock all five, not skip the C-tier ones. The instinct is to save effort for the good doors. The math says otherwise. The C-tier house is already there, forty feet away, with no driving and barely any walking to reach it. The marginal cost of knocking it is fifteen seconds. The cost of skipping it is breaking the rep's rhythm and, often, the cost of coming back later for a door you walked right past. You'll never route a special trip for that C-tier door, so the only time it's nearly free to knock is right now. Knock it.

This is why density beats marginal score inside a zone. Once a rep is walking a street, every door on that street is cheap. The expensive thing was getting to the street. Don't waste the expensive part by knocking only half the cheap part.

Step 3: Sequence the streets inside the zone

With a zone drawn, you sequence the order the rep walks it. This is the part that looks like the traveling-salesman problem, and the trick is to not treat it like one. You're not ordering two hundred doors; you're ordering maybe fifteen to thirty streets, and within each street the order is obvious (walk it end to end). Ordering thirty streets is a problem a person can do well by hand with a couple of rules.

The serpentine pattern

The workhorse sequencing pattern is the serpentine, sometimes called boustrophedon, the way an ox plows a field: down one row, turn, up the next, turn, down the next. Applied to canvassing, you walk one street fully, cross to the adjacent street, walk it back the other direction, cross to the next, and so on, snaking across the zone without ever doubling back over ground you've covered.

The serpentine works because it has almost no wasted motion built into it. You end each street adjacent to the start of the next one. You never walk back across a street you've finished. For a grid subdivision, a serpentine through the streets is close to optimal and a person can lay it out in two minutes with a marker on a map.

A simple serpentine plan for a grid zone:

  1. Park at the central anchor.
  2. Start at the corner of the zone nearest the anchor.
  3. Walk the first street to its end, knocking both sides (or one side out, the other side back, on wide streets where crossing repeatedly wastes time).
  4. Cross to the next parallel street.
  5. Walk it back toward your start side.
  6. Repeat, snaking, until the zone is covered.
  7. Return to the anchor.

Both sides or one side at a time

A recurring micro-decision: do you knock both sides of a street as you go, crossing back and forth, or knock one side all the way down and the other side coming back? It depends on street width and traffic. On a narrow residential street where crossing is a few steps, knock both sides as you walk; constant short crossings are cheap. On a wide or busy street where crossing means waiting for traffic and walking far, knock one side down and the other side back, so you only cross twice. Bake the choice into the plan per street so the rep isn't deciding mid-shift.

Loops, cul-de-sacs, and the dead-end tax

Subdivision design fights your serpentine in predictable ways, and good routing anticipates them:

  • Cul-de-sacs are dead ends; you walk in and walk back out over the same ground. There's no avoiding the doubling back, but you can minimize it by treating the cul-de-sac as a single in-and-out detour and knocking every door on it before leaving, never visiting it twice.
  • Looping streets that curve back on themselves are friendly; follow the loop around and you naturally return near where you started.
  • Connector-only streets with few or no houses are pure transit; cross them quickly and don't treat them as knockable.
  • Pipe-stem and flag lots with long shared driveways are time sinks; one door at the end of a long driveway can cost what five normal doors cost. Note them and decide deliberately whether a high enough priority justifies the walk.

The general rule: let the street layout dictate the micro-sequence, and accept the unavoidable doubling back at dead ends while eliminating the avoidable kind everywhere else.

Step 4: Sequence the timing, not only the path

Where you knock is half the plan. When you knock the parts of the route is the other half, and it interacts with the path in ways that change the optimal sequence.

The core fact: contact rate, the odds someone answers, varies by time of day and day of week. Owner-occupants are more likely to be home in the evening and on weekends. Solicitation ordinances also restrict hours, commonly something like from morning until an hour or two before sunset, but it varies by municipality, so check the local rule for every town you work. A smart route plan front-loads and back-loads the right kinds of doors:

  • Mid-day, when fewer people are home, lean toward areas with retirees, work-from-home density, or simply use the time to cover ground and catch whoever's in, accepting a lower contact rate.
  • Late afternoon into the evening window, when working homeowners return, route the highest-priority owner-occupied doors so your best targets get knocked when they're most likely to answer.
  • Weekends are prime owner-occupant time; route your A-tier owner-occupied zones into Saturday where local rules allow.

This means the same zone might be sequenced differently depending on what time the rep starts it. If a rep starts a zone at four in the afternoon, sequence the owner-occupied A-tier streets first to catch the evening rush; if they start at ten in the morning, you might walk the through-streets and rentals first and save the prime doors for when people get home.

Don't let timing override geography wholesale

The caution: timing optimization can tempt you to scatter the route again, chasing the "best time" for each door type across the map. Resist it. The drive-time cost of jumping between neighborhoods to chase ideal timing almost always exceeds the contact-rate gain. Keep the rep in one contiguous zone and adjust the order within the zone by timing, rather than hopscotching between zones. Geography sets the container; timing sequences the inside of the container.

Step 5: Build the callback and not-home layer into the route

A not-home at a high-priority door is one of the most valuable things on your map, and the most commonly wasted. The door is good, you just caught the owner out. Treat every not-home as a scheduled callback, not a dead end, and route the callbacks deliberately.

The mechanism: when a rep marks a door not-home, the canvassing app captures the time it was knocked. A door knocked at two in the afternoon and not answered should be re-knocked in an evening or weekend pass, when the odds of catching someone flip. The routing move is to accumulate not-homes and run a dedicated callback pass through the same geography at the better time, rather than randomly re-knocking.

A clean callback workflow:

  1. Capture knock time and tier on every not-home. Without the timestamp you can't route the callback intelligently.
  2. Let not-homes pile up over a first pass of a zone or corridor.
  3. Build a callback route that hits the high-tier not-homes during the prime evening or weekend window, sequenced serpentine through whatever geography they cluster in.
  4. Cap the callbacks. After two or three honest attempts at different times, a persistent not-home goes to a low-priority backlog rather than eating prime-time slots forever.

The payoff is real: high-priority not-homes converted on a callback pass are often your best-value doors, because you've already filtered them to good roofs and you're now hitting them when someone's home. A route planner that ignores callbacks leaves that value on the table.

Dispositions that feed the next route

Routing is bidirectional. The route sends reps to doors; the reps' findings reshape the next route. Every door should get a one-tap disposition that changes how, or whether, it gets routed again:

Disposition Effect on future routing
Inspection booked Out of canvassing; into the inspection schedule
Not-home Into the callback pass at a better hour
Not interested Suppressed for a long cooldown, or dropped
Do-not-knock Permanently removed from all routes
Sold Out, and triggers an around-the-job route for neighbors
Come-back / specific time Scheduled appointment, routed to that window

That last column is the point. A disposition isn't record-keeping; it's an instruction to the route planner for next time. Captured well, your routes get smarter every pass because the planner stops sending reps to settled doors and starts sending them to the freshest opportunities.

Step 6: The around-the-job route

The highest-trust doors you will ever knock are the ones surrounding a job you're currently doing or just finished. Those neighbors have the same age roof, took the same storms, and can see your crew, your truck, and your yard sign. Routing should exploit this automatically.

The play: whenever a job is scheduled or in progress, auto-generate a small canvassing route around it, twenty to forty surrounding homes, and work it while the crew is on-site or right after. The social proof is at its peak exactly then. A rep knocking with "we're doing your neighbor's roof two doors down, mind if I take a look at yours while we're here" has a truthful, specific reason to be standing there and visible evidence to back it, which is the single biggest driver of whether the conversation continues.

Fold this into your route planning as a recurring, high-priority insert. Around-the-job routes interrupt the normal zone schedule because their timing is perishable, the social proof evaporates when the crew leaves. So when a job is on the calendar, the surrounding mini-route jumps the queue for whoever's nearest. It's the one case where you deliberately break the contiguous-zone discipline, because the trust premium is worth the drive.

Step 7: Storm response breaks every routing rule

Everything to this point assumes steady, local, age-driven canvassing. Storm response is a different animal, and it inverts several routing principles. When a significant hail or wind event hits, the routing problem changes from "work my home territory efficiently" to "get reps onto the damage corridor before the competition saturates it." Speed beats polish.

Routing follows the swath, not the territory

Hail falls in narrow swaths, corridors a few miles wide and many miles long, with sharp edges where damaging hail suddenly stops. Wind damage is patchier still, concentrated on exposed slopes and along gust-front lines. Your storm route isn't bounded by your usual territory; it's bounded by the swath. The planning job is to draw the damage corridor as tightly as you can and route the entire crew along it, ignoring the home territory map entirely for the duration.

This is where coarse data hurts most. A "there was a storm in your county" signal is useless for routing, because a county is enormously bigger than a swath; route the whole county and you spend most of your effort on streets that took nothing. The tighter you can draw the corridor, the less of your storm response is wasted on undamaged blocks. Below we cover how per-roof data tightens that corridor.

Storm routing priorities flip

In a storm push, the routing weights change:

Factor Normal canvassing Storm response
Speed to first knock Moderate; steady cadence Critical; days matter before saturation
Zone contiguity High priority Still matters, but speed can override
Door priority signal Roof age dominates Storm exposure dominates
Crew concentration Spread across territory Massed on the corridor
Callback patience Several attempts over time Faster cycles; the window is short

The operational difference is that storm routing concentrates the whole crew on the corridor and runs fast cycles, because every day that passes, more competitors arrive and more homeowners have already talked to someone. A pre-built, pre-scored storm route means you're not figuring out where the swath went while competitors are already knocking; you're rolling the morning after with a corridor already mapped and zoned. The teams that win storm work are usually the ones who routed it fastest, not the ones who routed it most elegantly.

The orientation detail reps miss in wind events

One field nuance that belongs in a wind-storm route: wind damage concentrates on the slopes that faced the storm and along ridges and field edges. When you route a wind corridor, brief reps on the storm's direction so they know which elevations to look at first. It doesn't change the path much, but it changes what the rep documents at each stop, and it keeps them from writing off a house whose street-facing slope looks fine while the windward slope is creased.

Step 8: Where per-roof data changes the route itself

So far routing has treated the address list as fixed and optimized the path through it. But the quality of the list determines how much your routing even matters, and this is where roof-level data changes the picture, because it changes which addresses belong on the route in the first place.

Two data problems quietly sabotage routes built on basic parcel data. The first is the re-roof problem. Year built is the most common roof-age proxy and it's misleading, because it equals roof age only on a house whose original roof was never replaced. Route a 1998 subdivision off year-built alone and you'll send reps to homes that were re-roofed in 2019, mixed in with the original-roof homes, with no way to tell them apart from the street until you're standing there. The second is the swath-granularity problem covered above: county-level storm data is far too coarse to route a tight corridor.

This is where a tool like RoofPredict changes the input to the route planner. It estimates a roof-age range per individual address from aerial imagery, which lets you separate the re-roofed homes from the original-roof homes inside the same subdivision before you ever draw a route. And it models storm exposure per individual roof rather than per county, which lets you draw the damage corridor tightly enough to route. The effect on routing is concrete: your zones and serpentines now run through addresses that are genuinely more likely to be due, instead of a mix where half the doors on the street were quietly disqualified before you knocked.

Keep the honesty rule front and center, because it governs how you use this and what you say at the door. An imagery-derived age range is a range, not a documented install date; it narrows the field but can't see under the shingle or into the attic, and it never replaces a physical inspection. A storm model gives the odds that a property was in a damaging path, not proof that a specific roof is damaged. So the data decides where the route goes; it does not decide what's true about any roof. You never knock and tell a homeowner "our system shows your roof is damaged." You route to the corridor, knock, and say "a storm came through here; we're documenting roofs in the path and would like to take a look at yours." The route is informed by odds. The inspection, and the homeowner, decide everything after.

What this does to the routing math

When the list is cleaner, two things change about how you route. First, your zones get denser with genuinely good doors, which means more knocking and less filler, which raises doors-per-good-door-per-hour even when raw doors-per-hour holds steady. Second, in a re-roof-heavy area, you can sometimes shrink a zone, because if a third of the year-built candidates are actually re-roofed, dropping them lets the same productive day cover a tighter, better geography. Cleaner input doesn't change the serpentine; it changes which streets are worth serpentining and how tightly you can pack a day.

Build versus buy for the route's data layer

You should always own the routing logic itself; the zones, the sequencing, the dispositions are your operation. The question is whether to assemble the underlying data (parcels plus storm history plus roof age) yourself from public sources or buy it pre-joined. A rough decision frame for the routing context:

Situation Lean toward
One steady local territory, time available Build from free parcel and NOAA data
Re-roof-heavy area where year-built misleads the route Buy imagery-derived roof-age ranges
Frequent storm response into new towns Buy per-roof storm modeling for swath tightness
Need to roll a storm route the morning after Buy; the corridor-mapping time you save is the edge
Tiny budget, willing to trade time for accuracy Build, accept coarser corridors and more wasted doors

The honest read is that you can route a real, useful canvassing operation entirely off public data, and plenty of good operators do. You buy the data layer when assembling and joining it yourself costs more than the tool, which is most often true in re-roof-heavy markets and in fast storm response, where being a week late means competitors have already worked the corridor. Either way the routing principles are identical; better data just means the path you optimize runs through better doors.

Step 9: Assign, lock, and measure

A route that isn't assigned to a specific rep for a specific window is a route you can't learn from. Assignment discipline is what turns routing from a guess into a system that improves.

Three rules:

  • One rep, one zone, one window. Don't overlap territories. Overlap means two reps knock the same annoyed homeowner and you can't tell whose effort produced what. Clean assignment is the precondition for clean measurement.
  • Lock the assignment for the shift. Reps freelancing off-route to chase a hunch destroys your ability to compare planned routes against outcomes. If a rep has a good reason to deviate, capture it; don't let it be silent.
  • Close the loop with dispositions. Every door knocked gets a disposition, every disposition feeds the next route, as covered above.

The routing metrics that matter

Measure routing separately from targeting so you can tell which one to fix:

Metric What it diagnoses Healthy direction
Doors knocked per productive rep-hour Routing efficiency, the master metric High and stable
Drive time as a share of shift How much of the day was wasted in the truck Low and falling
Zone completion rate Whether zones are sized right Near 100% by end of window
Contact rate by time block Whether timing sequencing works Higher in evening/weekend blocks
Inspections booked per rep-hour Routing and targeting combined Rising as both improve
Inspections booked per A-tier door Targeting quality, isolates the list A clearly beats lower tiers

The two-metric trick: doors-per-hour isolates routing, and inspections-per-A-tier-door isolates targeting. If doors-per-hour is low, your routes are too scattered or your zones too big; fix the geography. If doors-per-hour is healthy but inspections-per-good-door is weak, your routing is fine and your list or your pitch is the problem. Separating them stops the endless argument about whether "canvassing isn't working," because you can point at which half is broken.

A worked numbers example

Make it concrete. Two reps, same eight-hour shift, same target list, different routing.

  • Rep A, scattered routing. Picks the highest-score address in each of five neighborhoods. Spends roughly three hours total driving between them across the day. Five productive hours of knocking at, say, twenty doors an hour on foot but interrupted by re-parking and reorienting, nets about sixty-five doors. Contact rate ordinary. Books two inspections.
  • Rep B, zoned serpentine. Works one contiguous dense zone of high-priority doors. Maybe forty minutes of driving total, all of it at the start and end. Seven productive hours, walking a tight serpentine at thirty-plus doors an hour with no reorientation, nets about a hundred and ten doors on better-targeted streets. Books five inspections.

Same list, same effort, same hours. The difference is entirely the route: Rep B replaced two-plus hours of driving and dead time with knocking, on a denser block of good doors, and more than doubled the booked work. That gap is what a route planner is for. Nothing exotic happened; the day was just sequenced so the truck stopped moving and the rep started walking.

The tooling stack for routing

You don't need one perfect platform; you need a few tools that each do their job and hand off cleanly. A workable routing stack:

Layer Job Typical tools
Address and parcel data Year built, owner status, property type County GIS portals, parcel vendors
Roof and storm intelligence Per-address roof-age range and storm exposure Public NOAA/NWS data, or a per-roof tool
Scoring and tiering Turn attributes into priority Spreadsheet to start, CRM fields later
Mapping and zone drawing Plot tiers, carve daily zones Canvassing app map, GIS tool
Route sequencing Order streets, optimize the path Canvassing app routing, dedicated route optimizer
Field execution Knock tracking, dispositions, timestamps SalesRabbit, Spotio, Roofr, similar
CRM Pipeline, callbacks, reporting Your roofing CRM

Most canvassing platforms handle the map, zone, and disposition layers well, and several do basic route sequencing inside a drawn area. Dedicated route-optimization tools shine when you have many stops and complex geography, like a multi-rep storm response across an unfamiliar corridor. The two failure modes are over-tooling and under-tooling. Over-tooling is buying a stack of platforms that don't share data before you've proven the loop with a map and a spreadsheet. Under-tooling is running a twenty-rep storm response out of a shared sheet everyone overwrites. Start lean, prove the routing loop on one territory, add a dedicated optimizer when manual sequencing has become the bottleneck.

Common routing mistakes that quietly waste the day

From watching a lot of crews run a lot of routes, here's what goes wrong:

  • Cherry-picking high scores across town. The single most common error. Chasing the best door in each neighborhood maximizes drive time and torches doors-per-hour. Density inside a zone beats marginal score every time.
  • Zones that aren't contiguous. A zone with an outlying island of doors guarantees a mid-day drive. Build zones with no islands; outliers belong in their own neighborhood's zone or a callback pass.
  • Skipping the cheap in-between doors. Walking past a C-tier house between two A-tier houses to "save effort" breaks rhythm and wastes the expensive part (getting to the street) you already paid for.
  • Ignoring the parking anchor. Moving the truck street by street adds dozens of small drives and re-parks. Stage from a central anchor and walk outward.
  • No serpentine, just wandering. Letting reps choose the next street ad hoc produces doubling back and dead time. Pre-sequence the streets.
  • Treating not-homes as dead. A high-priority not-home is a callback, not a loss. Capture the time and route a return pass at a better hour.
  • Routing storm work off county data. Counties are vastly bigger than swaths. Route the corridor, not the county, or you'll knock mostly undamaged blocks.
  • No assignment discipline. Overlapping or unassigned routes make every metric uninterpretable and double-knock homeowners.
  • Optimizing timing by scattering geography. Chasing the perfect knock-hour for each door type across the map reintroduces the drive time you worked to remove. Sequence within the zone by time; don't hop between zones.
  • Building a route once and never feeding dispositions back. A route that doesn't learn from yesterday keeps sending reps to settled doors.

Staying compliant while you route

A route is only valuable if you can legally and ethically knock it, so build compliance into the plan rather than bolting it on.

Solicitation permits and hours. Many municipalities require a peddler's, solicitor's, or canvasser's permit for door-to-door sales, sometimes per rep, sometimes with a background check, and most restrict the hours you may knock. Map permitted towns and legal hours onto your routing so you never route a crew into an unpermitted jurisdiction or knock outside the allowed window. The legal hours directly shape your timing sequence.

Do-Not-Knock and no-soliciting. Some municipalities maintain Do-Not-Knock registries, and posted no-soliciting signs can carry legal weight locally. Maintain a do-not-knock layer that permanently removes those addresses from every route, and honor it absolutely. One ignored sign can become the complaint that ends canvassing for everyone in that town.

The FTC Cooling-Off Rule. Federal rules generally give consumers the right to cancel certain door-to-door sales within three business days. Know how it applies to your contracts and disclose it properly. State law may add to that baseline.

State insurance and contractor rules. In hail and wind states, departments of insurance, such as the Texas Department of Insurance, and contractor licensing boards regulate how roofers may interact with insurance claims and what they may say about deductibles and coverage. The clean, defensible posture, which every rep on every route should hold: you document roof conditions and provide estimates, the insurer makes coverage decisions, and the homeowner owns the claim. Never imply you can get a claim approved, never offer to absorb or waive a deductible, and never present a storm model as proof of damage. Those moves draw regulatory attention and damage the trade's reputation.

Safety. Routing puts people on foot near traffic and on uneven ground, sometimes near dogs and unhappy strangers. Build basic safety into the plan: known parking spots, daylight working, check-ins, and clear rules about never entering homes or climbing anything during a canvass.

A route-planning checklist

Use this as the operational checklist when you plan a canvassing route from a scored list:

  1. Confirm the list is scored and mappable. Every address carries a priority tier and a coordinate. Routing assumes targeting is done.
  2. Plot tiers on the map. Color by priority and look for where high-tier doors cluster.
  3. Carve daily zones around clusters. Contiguous, bounded by natural barriers, sized to a realistic day's doors for that density. No islands.
  4. Set a parking anchor per zone. Central, so the rep stages once and walks outward.
  5. Sequence the streets serpentine. Snake through the zone with minimal doubling back; decide both-sides versus one-side-at-a-time per street.
  6. Layer in timing. Order owner-occupied A-tier streets into the evening and weekend windows; cover lower-contact areas mid-day; stay inside legal hours.
  7. Plan the callback pass. Capture not-home timestamps; build a prime-time return route for high-tier not-homes; cap attempts.
  8. Insert around-the-job routes. When a job is scheduled, auto-build a neighbor mini-route and let it jump the queue while the crew is on-site.
  9. For storms, route the swath. Draw the corridor tightly, mass the crew on it, run fast cycles, prioritize storm exposure over age.
  10. Assign one rep per zone, lock it, and disposition every door. Then measure doors-per-hour and inspections-per-A-tier-door to tell routing from targeting.
  11. Refresh. Feed dispositions back, re-score quarterly, and rebuild the storm corridor immediately after any major event.

Work a route that way and the canvassing day stops leaking hours into the truck. Your reps spend their time walking dense streets of doors that are actually likely to be due, the highest-priority owners get knocked when they're home, your not-homes turn into booked callbacks instead of losses, and you can prove with doors-per-hour and book rate exactly how much the routing is buying you. The list decides which roofs deserve a knock. The route decides whether your crew ever gets to them. Plan the second one as carefully as you built the first, and a finite number of knocks turns into the maximum number of honest inspections, with the truck sitting still and the reps on their feet, where the work actually happens.

FAQ

What is a roofing canvassing route planner?

It's the layer that converts a ranked list of target addresses into an ordered, walkable, drivable sequence for a rep's shift. It does three jobs: group nearby high-priority doors into a day-sized zone, sequence the streets inside that zone so the path doubles back as little as possible, and assign that zone to a specific rep for a specific window so you can measure the result. A target list tells you which doors are worth knocking; a route planner decides the order you knock them and the path you take, which is what determines how much of the day is spent walking instead of driving.

How is route planning different from building a target door list?

Building a target list is about merit: which roofs are likely due, based on age, storm exposure, and owner-occupancy. Route planning is about motion: given those doors, what's the shortest, most walkable path through them. They're separate problems and they break separately. A perfectly routed day on dead doors books nothing, and a perfectly targeted list worked in a chaotic, scattered path wastes a third of the day in the truck. Build the list first, then route through it; the route planner assumes the targeting is already done.

What's the single most important metric for canvassing routes?

Doors knocked per productive rep-hour. Not doors per day, which hides whether the rep was driving or walking, and not contacts, which mixes in timing and pitch. Just how many doors a rep physically reaches in an hour on shift. Route planning exists to push that number up by replacing drive time and dead time with walk time. If a routing change raises doors-per-hour it's good; if it lowers it, it's bad, no matter how clever it looked on the map. Pair it with inspections booked per A-tier door to separate routing quality from list quality.

How big should a canvassing zone be?

Size it to one rep's realistic productive day for that density. In a dense grid subdivision a solo rep can work roughly 80 to 120 doors; in a standard suburban tract about 60 to 90; in rural or large-lot areas as few as 25 to 45 because of long driveways and big gaps. Build the zone to that count, contiguous, bounded by natural barriers like major roads so the rep never has to cross a busy arterial mid-zone. Too small and the rep finishes early and has to drive elsewhere; too big and high-priority doors go unworked.

What is a serpentine canvassing route and why use it?

A serpentine route snakes across a zone the way an ox plows a field: walk one street end to end, cross to the adjacent street, walk it back the other way, cross to the next, and so on, without ever doubling back over covered ground. It works because you end each street next to the start of the next one, so wasted motion is nearly eliminated. For a grid subdivision it's close to optimal and a person can lay it out in a couple of minutes on a map, which beats letting reps choose the next street ad hoc and doubling back.

Should I skip low-priority doors that sit between high-priority ones?

No. Once a rep is walking a street, every door on it is cheap to knock, because the expensive part, getting to the street, is already paid for. Skipping a C-tier house between two A-tier houses breaks the rep's rhythm and often forces a wasted return trip for a door they walked right past. The marginal cost of knocking the in-between door is about fifteen seconds; the cost of skipping it is lost cadence and a door you'll never route a special trip for. Density inside a zone beats chasing marginal score.

How should storm response change my routing?

Storm response inverts normal routing. Instead of working your home territory efficiently, you route the damage corridor, which is often a town you don't usually work, and speed beats polish because competitors saturate the area within days. Mass the whole crew on the swath, draw the corridor as tightly as your data allows, prioritize storm exposure over roof age, and run fast cycles. County-level storm data is far too coarse to route well, because a county is enormously bigger than a hail swath; the tighter you draw the corridor, the less effort lands on undamaged blocks.

How does RoofPredict change canvassing routes?

It changes which addresses belong on the route. Routing off year-built alone mixes original-roof homes with ones that were re-roofed years ago, with no way to tell them apart from the street. RoofPredict estimates a roof-age range per address from aerial imagery so you can separate those before drawing a route, and it models storm exposure per individual roof rather than per county so you can draw a tight enough corridor to route. The honest limits: roof age is a range, not a documented install date, and storm modeling gives odds a property was in a damaging path, not proof of damage. It decides where the route goes; the physical inspection and the homeowner decide everything after.

How do I handle not-homes when routing?

Treat a high-priority not-home as a scheduled callback, not a dead door. Capture the time you knocked, let not-homes accumulate over a first pass, then build a dedicated callback route that hits them during the prime evening or weekend window when someone's more likely to be home, sequenced serpentine through whatever geography they cluster in. Cap attempts at two or three at different times before sending a persistent not-home to a low-priority backlog. High-priority not-homes converted on a callback pass are often your best-value doors because they're already filtered to good roofs.

Do I need software to plan canvassing routes?

Not to start. You can plot tiers, draw zones, and sketch a serpentine on a map with a canvassing app and a spreadsheet, and many good operators do exactly that on a single steady territory. Dedicated route-optimization tools earn their keep when you have many stops across complex or unfamiliar geography, like a multi-rep storm response. The trap is over-tooling: buying several platforms that don't share data before proving the routing loop manually. Start lean, prove it on one territory, and add a dedicated optimizer when manual sequencing has become the bottleneck.

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.

By signing up, you agree to receive The Roofline by RoofPredict. Unsubscribe anytime.

Sources

  1. National Roofing Contractors Associationnrca.net
  2. NOAA Storm Prediction Centerspc.noaa.gov
  3. NOAA Storm Events Databasencdc.noaa.gov
  4. National Weather Serviceweather.gov
  5. Insurance Institute for Business & Home Safety (IBHS)ibhs.org
  6. U.S. Census Bureau American Community Surveycensus.gov
  7. OSHA Construction Safetyosha.gov
  8. International Code Counciliccsafe.org
  9. FTC Cooling-Off Ruleconsumer.ftc.gov
  10. FTC Business Guidance: Complying with the Cooling-Off Ruleftc.gov
  11. Texas Department of Insurancetdi.texas.gov
  12. U.S. Bureau of Labor Statistics: Roofersbls.gov
  13. U.S. Department of Energy: Ventilationenergy.gov
  14. RoofPredictroofpredict.com

Related Articles