Opportunity calculator
Every ZIP is calculated on its own stock and its own measured job size, then summed. Change any assumption and everything below re-runs.
1 · What is out there
2 · What we take of it today
Paris exterior revenue on this same stock, 2026measured—
Homes we painted, as a share of the stockmeasured—
= our share of the exterior market—
Both lines count only jobs on homes that pass the same filters, so the numerator and denominator always describe the same houses. Jobs on duplexes, rentals, new builds and out-of-county addresses are excluded from both.
3 · What we could take
4 · Projected forward
Penetration ramps in a straight line from today’s measured rate to your target by the final year. Job size grows at the rate above. This is revenue from this filtered stock only — it is not the whole company.
| Year | Penetration | Jobs | Avg job | Exterior | + attached | Total |
|---|
Every ZIP, calculated independently
Stock and Paris both respect your map filters. Market = that ZIP’s stock × repaint share × pro share × that ZIP’s own average job size. Share = Paris exterior on this stock ÷ market. Min cycle is the slowest repaint cycle that ZIP can possibly have: it is the share of the stock we alone repaint each year, so the true cycle cannot be below it. At target = revenue if that ZIP hit your target penetration, minus what it already does.
| ZIP | City | Stock | Untouched | Avg job | Min cycle | Market | Paris now | Share | Upside at target |
|---|
Avg job in italics is modelled from building value because that ZIP has fewer than 25 exterior jobs since 2024. Rows with no measured Paris revenue on the filtered stock show — rather than 0%.
Is there anything outside Minneapolis and St Paul?
Short answer: not much volume, a few real pockets. Of — paintable pre-1940 single-family owner-occupied homes in Hennepin and Ramsey, — sit in Minneapolis and St Paul. Robbinsdale and Mound are nearly untouched; Edina proves a small wealthy pocket can be worked hard.
| City | Paintable pre-1940 | Untouched | Median value | Our jobs 24–26 | Penetration/yr | Our $/job |
|---|
Hennepin and Ramsey only — Washington, Dakota, Anoka, Carver, Scott and St Croix are not loaded yet.