Cockroach Treatment Pricing Calculator: what to charge per unit

Price a German roach cleanout and its follow-ups from your own numbers: units opened, time per unit, crew size, drive time, product cost, a per-unit floor and a margin check.

The job
What you are treating

The doors that actually called it in, not the doors you will open.

German roaches travel the shared walls, chases and voids. Two is the either-side pair; a stacked building is usually more. Your call, in your box.

A ceiling on the ring. Leave empty for no ceiling.

Your rates

What you bill one technician-hour at, not what it costs you.

Every per-unit time below is for ONE tech. Crew size multiplies them.

A floor the whole program never falls below. Leave empty for no minimum.

A per-door floor, multiplied by the units you open. Whichever floor binds hardest wins.

Time per unit (per technician)

Walking the unit, checking monitors, confirming the customer did the prep.

Hands-on cleanout time in one unit. A starting point, not a benchmark: overwrite it after your first few timed jobs.

Re-treats booked with the cleanout, not callbacks you hope not to get.

Per unit, per follow-up visit.

Drive time

Per technician, door to door. Counted once for every visit in the program.

Most operators bill none of it. Either way it stays in your cost, which is the point.

Product and uplift

Gel, IGR, dust and monitors: what the load-out cost you. This tool prices, it does not dose.

Applied to the product line only. Leave at 0 to pass it on at cost.

Ongoing plan

The cleanout is the job. The plan is the account.

Tax line and margin check

VAT, GST or sales tax, if you add one. Use your own registered rate: the tool does not assume a country.

Loaded crew cost: wage plus burden. Fill it in and the result shows job cost, gross profit and realised margin. Leave it empty and the margin block stays hidden.

Program before tax

Enter a charge-out rate to build the quote.

Cleanout and follow-ups, crew time
Product and monitors
Program before tax
Export
How this is calculated

The program is a straight build-up from the doors you open and the time you enter. Three things behave deliberately: per-unit times are per technician and crew size multiplies them, drive time is counted once for every visit in the program, and in a multi-unit building the units you price are the reported units plus their ring of neighbours.

treatedUnits = min(reported + reported × adjacentPerReport, buildingUnits)
               (the buildingUnits cap applies only when you enter one)
visits       = 1 + followUpVisits
initialTech  = treatedUnits × (inspectHours + treatHours)
followTech   = treatedUnits × followUpHours × followUpVisits
onSiteCrew   = (initialTech + followTech) × crewSize
driveCrew    = drivePerVisit × crewSize × visits
billedDrive  = driveCrew × driveBillPct%
labour       = (onSiteCrew + billedDrive) × chargeRate × (1 + outOfHours*)
                                             (*kitchen setting only)
product      = productPerUnitVisit × treatedUnits × visits × (1 + markup)
subtotal     = labour + product
program      = max(subtotal, jobMinimum, perUnitMinimum × treatedUnits)
perUnit      = program ÷ treatedUnits
cost         = (onSiteCrew + driveCrew) × costRate + productAtCost
margin       = (program − cost) ÷ program

Worked example. Three units report roaches in an apartment building, two neighbours are opened per report, so nine doors are priced. At 15 minutes to inspect and 45 to treat, that is 9 technician-hours on the cleanout; two follow-ups at half an hour a unit add 9 more; a crew of two turns 18 technician-hours into 36 crew-hours. A half-hour round trip across three visits adds 3 paid crew-hours that nobody is billing. At a charge-out rate of 85 a crew-hour the labour is 3,060, product at 6 a unit per visit is 162 at cost and 194.40 with 20 percent on it, so the program is 3,254.40 before tax, or 361.60 a door, returning 83.45 per paid crew-hour once the windshield time is counted.

No price presets anywhere. Every currency field starts empty. The only pre-filled numbers are the per-unit times, the adjacency ring and the follow-up count, and all of them sit in editable boxes. They are a scoping starting point, not a benchmark, and the numbers you replace them with are the ones that matter.

Why the ring exists. In a shared structure, a German cockroach problem is a building problem rather than a unit problem, so pricing only the door that complained prices only part of the job you will end up doing. The ring is an editable input, not a rule: set it to zero if you genuinely treat one unit, and the tool will say plainly that you did.

The margin check prices the cleanout only. When you quote an ongoing plan alongside it, the plan total is reported separately, because the plan carries a delivery cost you have not entered here and counting its revenue without its cost would manufacture margin out of nothing. The check is also all-or-nothing: with no cost per crew-hour the labour half of the cost is unknown, so the block simply does not appear.

This page prices, it does not dose. Nothing here describes, sequences or quantifies a product. Placement counts and grams of gel belong in the cockroach gel bait calculator, worked against the label in front of you; the customer-facing prep instructions belong on the cockroach treatment prep sheet. Bring the cost back here as one line.

Everything runs in your browser. No account, no email gate, nothing stored or sent.

What this prices, and what it deliberately does not

This page is the pricing rung of the cockroach entity, and it does exactly one job: turn a roach complaint into a program price you can defend. It does not dose, it does not sequence a treatment, and it does not tell you what to put where. Placement counts, grams of gel and tubes to buy live in the cockroach gel bait calculator, which is where that arithmetic belongs, against the label in front of you. Here, product is a single cost line: what the load-out cost you, per unit, per visit.

The customer half of the job is a separate document. What the occupant has to do before you arrive, and what happens if they do not, prints from the cockroach treatment prep sheet. Prep failure is the most common reason a priced-in follow-up turns into a third and fourth visit, so the handout is worth more to your margin than any line on this page.

Every money field starts empty on purpose

Search for the price of a roach treatment and you will find plenty of numbers. Follow their citations and they resolve to retailer blogs and lead-generation directories quoting each other: no regulator, no trade body, no published survey. Under this site’s cite-or-omit rule that means the tool ships with none of them, and no average was invented to fill the gap. What it gives you instead is the shape of the quote, with every currency field blank until you fill it.

The only pre-filled numbers anywhere are the per-unit times, the adjacency ring and the follow-up count, and all of them sit in editable boxes. They are a scoping starting point, not a benchmark. Overwrite them after your first few timed jobs. If you have not yet set a defensible number to type into the rate box, the service hourly rate calculator and the labor burden rate calculator are the two places that number comes from.

The doors you open are not the doors that called

This is the structural difference between a roach quote and a general pest quote. In a multi-unit building, treating only the unit that complained leaves the neighbouring units seeded, and the re-infestation comes back to you as a callback rather than a new job. So the tool prices the ring: for each unit that reported, it adds the neighbours you intend to open as well, caps the total at the building’s real door count, and shows you the number it is pricing before it shows you a price.

Set the ring to zero and nothing is hidden from you. The calculation respects it and the result says, in plain words, that only the reporting units are priced. That is the point of making it an input rather than a rule.

Drive time is counted once for every visit

A cleanout is not one trip. It is a trip, then another trip, then usually a third, and the windshield time repeats every time. Most operators bill none of it, so most cleanout quotes lose it entirely. This tool refuses to: drive hours always land in your cost, because you pay the crew for them regardless, while only the share you nominate lands in the charge. The result is a per-paid-crew-hour figure that counts the whole program, which is usually the number that explains why a busy month of roach work felt thin.

From a one-off cleanout to an account

A cleanout that ends when the roaches do is a job. A cleanout that ends with the customer on a plan is an account, and the difference shows up in the annual value rather than the invoice. Tick the plan box, enter your monthly number and the term, and the tool reports the first-term total alongside the cleanout. What it will not do is fold the plan into the margin check, because the plan carries a delivery cost you have not entered and counting its revenue without its cost would flatter the number.

Which plan shape to sell is a separate question. The recurring plan comparator puts monthly, bi-monthly and quarterly side by side on annual value and visit cost, so you can see what the frequency is actually worth before you quote it. And if you are pricing a mixed pest account rather than a roach cleanout specifically, the pest control pricing calculator is the broader tool.

Turn the number into a document

When the program settles, it still has to become something the customer can accept. Move it into the pest control estimate template, where the treated-unit count becomes the scope of work, and the pest control service agreement is what gets signed if the plan goes with it.

Everything runs in your browser: no account, no email gate, nothing stored or sent. Estimate only, not a binding quote.

Frequently asked questions

How much should I charge for a cockroach treatment?
Whatever your own time, drive and product add up to, plus the margin you need. This tool deliberately suggests no number, because no regulator, trade body or published survey puts one out, and the figures in circulation resolve to lead-generation directories quoting each other. What the calculator does instead is build the quote from things you can actually measure: how many doors you open, how long a unit takes, how many follow-ups you schedule, what the load-out costs and what a crew-hour costs you.
Why does the calculator price more units than the ones that complained?
Because in a shared structure a German cockroach population is a building population, not a unit problem. The tool takes the units that reported roaches and adds a ring of neighbours around each of them, then prices the doors you will actually open. The ring is an editable input rather than a rule: set it to zero if you genuinely treat one unit, and the tool will say plainly on the result that you did.
Should a cleanout price include the follow-up visits?
Price them in or price them separately, but do not leave them out of the arithmetic. Enter the follow-ups you intend to schedule and the tool adds their time, their product and another round trip to the program, so the headline is the price of the outcome rather than the price of one visit. Quote a cleanout as a single visit and every return trip becomes warranty work you already spent.
Does this tell me how much gel bait to put out?
No, and deliberately. This page prices the job; it does not dose it. Placement counts, grams of gel and tubes to load belong in the cockroach gel bait calculator, worked against the product label in front of you. Bring the resulting cost back here as one figure, per unit, per visit.
How do I price a commercial kitchen differently from an apartment?
Switch the setting to kitchen and two things change. The adjacency ring disappears, because you are counting prep areas rather than doors on a corridor, and an out-of-hours uplift appears on the labour line, because a food-service account is treated after close and that is a real cost of the job rather than a courtesy. Everything else, time, product, follow-ups and drive, works the same way.

Get early access

Fieldwynn is the field-first app we are building for small crews — simple in the truck, powerful in the back office. It is not out yet; join the early-access list and be first when it launches for your trade.