Every list broker will happily sell you "homeowners, age 35–65, income $100K+" in your ZIP codes. What no broker can sell you is the thing that actually predicts response: where your profitable jobs have already happened.

The benchmark data explains why this matters so much. Per the ANA/DMA, mail to people who already know you responds at 5–9%; well-targeted cold prospects at 2–4.4%; untargeted blanket drops at just 0.5–2%. The entire game of prospect mail is pulling your cold audience as close to "people like your customers" as possible — and nobody has better data on what your customers look like than your own completed-jobs table.

This is the exact analysis we run (free) for every company that connects ServiceTitan, Housecall Pro, or Successware. Here's how to do the core of it yourself with a spreadsheet and an afternoon.

Step 1: Export 24 months of completed jobs

From your field service software, export every completed job from the last 24 months. You want these columns at minimum:

  • Service address (or at least ZIP code)
  • Job total (invoiced amount)
  • Job type / category
  • Completion date
  • New customer vs. repeat (if your software flags it)

Why 24 months? Twelve months over-weights whatever last year's weather did to you. A drought year, a freeze event, or one big commercial job can distort a single year badly; two years smooths it. Don't go much past three years, though — neighborhoods change hands.

Step 2: Clean the data

Delete rows that would poison the analysis: $0 jobs, warranty callbacks, jobs outside your realistic service radius, and commercial work if you're building a residential campaign. If one mega-job (a $40,000 repipe, say) dominates a ZIP, note it — you'll want to know whether that neighborhood produces repeatable revenue or produced one whale.

Step 3: Group revenue by ZIP code

In Excel or Google Sheets: select your data → Insert → Pivot Table → rows = ZIP code, values = SUM of job total and COUNT of jobs. Thirty seconds of clicking gives you a table like: 75034 — $412,000 across 610 jobs; 75093 — $9,800 across 21 jobs.

Add a column for average ticket per ZIP (revenue ÷ job count). Some neighborhoods generate lots of small drain calls; others generate fewer but fatter replacement jobs. Both are useful — they just want different postcards.

Step 4: Get household counts for each ZIP

Raw revenue per ZIP is misleading, because ZIPs vary wildly in size. A ZIP that produced $200K from 30,000 households is worse ground than one that produced $120K from 8,000. You need a denominator.

Two free sources: the U.S. Census Bureau's QuickFacts / American Community Survey pages give households per ZIP, and the USPS's own EDDM mapping tool shows residential delivery counts per carrier route (which you'll want for Step 7 anyway).

Step 5: Compute dollars per household — and rank

The core metric of the entire analysis:

$/household = 24-month revenue in ZIP ÷ households in ZIP

Rank your ZIPs by it, highest first. This one number answers the question every mail budget should be built on: "If I put a card in a random mailbox in this neighborhood, what has a household there historically been worth to me?"

Step 6: Read the spread — it will be bigger than you think

Here's what this looked like for the sample company in our case study — nine ZIPs, ranked:

TierZIPs$/household (est.)Decision
Mail firstTop 3$27–$41/hhConcentrate budget here
Mail nextMiddle 2$16–$19/hhFund after the top tier
Worth testing2$7–$9/hhSmall, tracked test drops only
Low return / skipBottom 2$2–$3/hhStop paying for these mailboxes

A 10–20× spread between best and worst ZIP is typical, not exceptional. And the punchline is usually the same: the shop had been mailing all nine evenly. Roughly a third of every previous drop was going to streets that statistically almost never call back. Cutting the bottom tier costs almost no revenue and frees a third of the postage to double down where the money lives — the cheapest ROI multiplier in direct mail.

Step 7: Go one level deeper than ZIP

ZIPs are a good first cut, but they're big. Two refinements sharpen the map considerably:

Carrier routes and subdivisions. Within a strong ZIP, revenue usually clusters in specific subdivisions. Sort your job list by street name inside your top ZIPs and you'll see it. The USPS EDDM tool lets you look at individual carrier routes — mail the routes your jobs cluster in, skip the rest.

Housing profile. Match the housing stock to the trade. Water heaters fail on a roughly 8–12-year clock, so subdivisions built in a tight window fail together — a builder boom 10 years ago is a water-heater campaign today. Older housing stock from eras with known-problem pipe materials is repipe territory. And check owner-occupancy: renter-heavy routes respond poorly for most home services offers because renters don't buy repipes — benchmark data specifically warns that mixed homeowner/renter routes drag response down. County appraisal district records (free in most of Texas and many states) give you year-built and owner-occupancy at the parcel level.

Step 8: Turn the map into a budget

Now the mail plan writes itself: put 70–80% of your cards into the "mail first" tier, 15–20% into "mail next," a small tracked test into the "worth testing" tier, and zero into the bottom — with a dedicated tracking number on each tier so next quarter's version of this analysis uses response data, not just revenue history. The map gets smarter every time you mail it.

What the spreadsheet can't do (and where we pick it up)

Honesty section. The DIY method above maps where profit has been — and that alone typically beats a purchased list. What it can't do:

  • Lookalike modeling at the household level. Ranking ZIPs tells you which neighborhoods; it doesn't tell you which of the 4,000 households within a good ZIP most resemble your best customers on housing age, tenure, owner-occupancy, and property profile. That's a data-modeling job, not a pivot-table job.
  • Estimated return per household mailed, forward-looking. Our analysis blends your job history with household-level data to project expected return per mailbox — the number the tiers above approximate.
  • The closed loop. Matching every future call, scan, and booked job back to the exact card and neighborhood, so the targeting improves each cycle automatically.

That's the part we automate. Connect your field service software (read-only, about ten minutes — we look at job locations, values, and types, nothing else) and we'll run the full analysis on your entire service area for free: which streets to mail first, which to test, which to stop paying to reach. You see the map before a single card prints, and it's yours whether you ever mail with us or not.

Or do the spreadsheet version this weekend. Either way, stop mailing every ZIP the same. Your job history already knows better.

Want the full analysis done for you — free?

Connect your software and we'll rank your entire service area: which streets to mail first, which to test, which to stop paying to reach.

Get your free market analysis

Read-only connection. You see the map before a single card prints.

Sources

  1. CRST — Direct Mail Response Rates: Benchmarks & Data — ANA/DMA response benchmarks by list type (house 5–9%, prospect 2–4.4%)
  2. Taradel — What is the Average Response Rate for EDDM? — 0.5–2% blanket-drop average
  3. CRST — Direct Mail Response Rate by Industry — home services benchmarks; advisory on renter-heavy routes suppressing response
  4. U.S. Census Bureau (QuickFacts / American Community Survey) and USPS Every Door Direct Mail mapping tool — free household and carrier-route counts