Case study · 60-day pilot · Aug to Sep 2026

A two-city junk-removal company, 60 days

Average job value up 26% across 31 jobs. Google reviews from 29 to 54. What was built, what it cost in software (nothing), and what didn't work.

1. Problem

Good work, priced by feel

An owner-operated junk-removal company in Houston, expanding to a second city, was getting plenty of jobs through referrals and neighborhood groups. Every quote was a judgment call. Tracking lived in a spreadsheet nobody looked at twice. The website was a site-builder placeholder tagged noindex, so a customer who Googled the company by name landed on a competitor.

Nothing was broken in a way the owner could see. The business was simply monetizing its demand inconsistently, and no one could tell which jobs, sources, or cities were actually profitable.

2. Evidence

The baseline, from the owner's own job log

MetricBefore
Average job value$212
Minimum job price$85
Jobs under $150about 25%
Google reviews29
Pricing methodjudgment, no formula
Trackinga spreadsheet
Websiteplaceholder, noindex

The $212 average is a logged figure from the pre-pilot job log, not a recollection. That makes the comparison logged-to-logged.

3. Requirement

Raise average job value without losing volume

Success was defined as stronger unit economics, not more revenue and not more jobs. A month with fewer jobs and higher contribution per job would count as a win. Secondary requirement: make profitability visible by job, by lead source, and by city, so future decisions stop being guesses.

4. Reality test

The smallest systems that would work

Thirteen ideas were on the table at the start. Four survived the question "what decision will this support?"

ElementAs-isTo-beAction taken
PricingJudgment call per jobRepeatable formulaRate card with a $99 floor and three-option quotes (curbside, full-service, full trailer)
TrackingSpreadsheet, rarely usedJob-level economicsJob log capturing value, costs, time, access, and source; live dashboard of $/hour and profit by source and city
ReviewsAd hocSystematic askReview request built into job close-out, tracked against a redesigned metric
Web presencePlaceholder, noindexIndexable, localStatic site: brand home plus a page per city, local-business schema, pricing published

Everything ran on tools the business already had. Recurring software cost: zero. The binding constraint was named on day one: adoption. A rate card the owner doesn't quote from is a PDF, not a system.

5. Change

What moved, and what didn't

MetricBeforeAfterNote
Average job value$212$268+26%, n=31
Google reviews29545.0 rating, two cities (29 to 46 in the first, 0 to 8 in the second)
Google-sourced jobsnone tracked$550 avgfirst month after the site launched
Effective rateunknown$135/hrrevenue per labor hour, from the job log

Method: 12 of 31 jobs entered retrospectively from records; baseline from the business's pre-pilot job log. Numbers as of September 2026. The second city is still ramping.

What didn't work: the review-ask rate stalled around 60 to 70% until the metric was redesigned to track asks per closed job instead of reviews per week. Job volume dropped when ownership changed mid-pilot, which is why the result is stated as average job value and not revenue.

What I'd do differently

Start the job log on day one instead of reconstructing 12 jobs from records later. Retrospective entry is defensible, and it's stated above, but a clean logged-from-the-start series would have made the before-and-after stronger and saved a week. And I'd set the adoption check-in weekly from the first week, not the third. Systems fail on the people side long before they fail on the tech side.

Why this matters for a med spa

Different business, same shape. A spa's version of judgment pricing is judgment follow-up: whoever remembers, whenever they have a minute. The fix is the same three steps, diagnose with real numbers, install the smallest system, measure. See the method or book a call.

Book a call Email