Estym8 Pricing Strategy
Product context: Estym8 is built from scratch as an AI-first construction preconstruction platform—not a legacy takeoff stack with AI bolted on. AI runs across the product: bid-package ingestion and classification, multi-model takeoff and vision, plan intelligence, cross-file synthesis, Estee, estimate-to-submittal draft review, and optimization recommendations. Canonical framing: AI-first positioning.
A framework for thinking through pricing structure, charge models, and price points.
One-pager for sales/calls: Pricing one-pager — one-liner, tier table, talking points.
Upsell (access → paid): Upsell strategy — when and how to convert users who need an active plan (and reinforce value after the first successful takeoff).
Full suite lines of revenue (ColdEyes, PlanM8, Bodi, SiteM8, meters): SUITE_LINES_OF_REVENUE.md. Ranked expansion + how to monetize/market adjacent jobs: SUITE_EXPANSION_BOARD.md. This file stays Estym8 seat/tier strategy.
1. Value Proposition
Full solution description: See Vision & value for the complete value prop, solution pillars (takeoff, plan intelligence/RFI, optimization, Estee), and product reflection.
What we deliver (summary):
- Bid-ready takeoff from plan PDFs (electrical, mechanical, plumbing): device counts, materials, raceway/wire
- Plan intelligence: conflicts, code checks, draft RFIs, concerns, optimization recommendations
- Editable counts, discipline breakdown, export; Estee for questions, “Should I file an RFI?”, and the same run-grounded Q&A as before—plus, on an open estimate, preview + confirm before Estee applies supported summary edits (e.g. material overage on totals).
Time saved: Estimators spend 1–3 days (24–72 hours) on manual takeoffs. Estym8 delivers in 15–45 minutes.
2. Charge Models to Consider
| Model | Pros | Cons |
|---|---|---|
| Per takeoff | Simple, usage-based | Hard to predict revenue; heavy users pay a lot |
| Per project | Aligns with how estimators think | What counts as a "project"? |
| Monthly subscription (tiers) | Predictable revenue, easy to upsell | May underuse or overuse |
| Hybrid: free tier + paid | Free trial converts; clear upgrade path | Free tier abuse risk |
| Seat-based | Enterprise-friendly | SMB may balk |
3. Competitive Context
- Manual takeoff: In-house labor ($50–150/hr) or outsourced ($0.10–0.50 per sq ft)
- PlanSwift, Countfire, etc.: $50–200+/month or per-seat
- AI/automation tools: Emerging; pricing varies
3a. Market & Competitor Pricing (2024–2025)
Market size (BLS / industry)
- MEP estimators (US): ~25,000–35,000 (building equipment contractors + overlap in general construction).
- Avg salary:
$82,000–$85,000/year ($39–42/hr loaded). - Time per estimate: 24–72 hours (1–3 days) typical; 10–80 hours by project type; takeoff phase = 50–70% of total.
- Implication: 20–30% time savings across the segment = billions in productivity; Estym8’s 15–45 min delivery is a 20–50× time reduction vs. manual.
Competitor pricing (benchmarks)
| Competitor / model | Price | Notes |
|---|---|---|
| AI estimation (per-page) | ~$30/page, 3-day lead | Per Paul/Jonas thread; “not all pages created equal” → complexity varies. |
| PlanSwift | ~$146–167/mo (annual) | Subscription; updates, support, training. |
| Countfire | $99/mo (1 user) | Per-user; electrical-focused; $899/10 users. |
| AI takeoff (subscription) | $50–200/user/mo | Per-user or per-project $100–500; Beam AI = sheet-based credits. |
| Outsourced takeoff | $150–350/project (single trade–GC) | $400+ large; monthly packages ~$1,250–1,499 for 3–6 plans. |
| In-house labor | $40–120/hr (entry–senior) | 24–72 hrs/estimate → $960–$2,880+ labor cost per plan set. |
Value anchor (why we can charge)
- Time: 1–3 days → 15–45 minutes. Saving even 1 day (8 hrs) × $40/hr = $320 value per estimate.
- Labor alternative: $200–500 per plan set (internal) or $150–400 outsourced. Estym8 should sit below that with faster turnaround.
- vs. $30/page: 50-page set = $1,500 at $30/page + 3-day wait. We offer speed (same day) and simplicity (per estimate, not per page); subscription smooths cost and avoids “not all pages equal” debates.
3b. Why Subscription (Not Per-Page) for Estym8
- Per-page is messy: “Not all pages are created equal” (Jonas)—complexity and scope vary; per-page invites disputes and doesn’t map cleanly to one “estimate” deliverable.
- Per-estimate / per-project aligns with how estimators think but is harder to meter automatically (what counts as one project?).
- Subscription with N takeoffs/month is simple, predictable, and matches PlanSwift/Countfire; we meter “one takeoff = one plan set processed” and cap by tier. Easy to explain and sell.
- Optional: Later add overage (e.g. $X per takeoff over tier limit) for heavy users without raising base price.
4. Suggested Structure (MVP)
Tier 1: Entry (sign up) — current gate
- Accounts register with no automatic takeoff unlock;
checkTrialStatusrequires verified email plus plan or approval (seelib/trial/trial-manager.ts:paidAccessAt, approved tester, demo, admin, etc.). - Dashboard/onboarding still apply; running jobs requires access.
- Goal: Clear get access path (pricing, contact, tester approval) → paid subscription when checkout exists.
Tier 2: Paid (per-seat subscription)
| Tier | Price | Seats | Processing included / month | Rationale |
|---|---|---|---|---|
| Solo | $179/mo | 1 | $36 | Full-time solo estimator; one saved day pays for the month |
| Studio | $149/seat/mo (min 2) | 2–5 | $60 (2-seat checkout) | Small shop; from $298/mo at minimum seats |
| Firm | $129/seat/mo | 6–15 | $156 (6-seat minimum) | Contact / invoice; onboarding included |
| Enterprise | Custom | 16+ | Custom | SLA, volume pricing |
Stripe checkout slugs: starter = Solo, pro = Studio (2-seat minimum list price).
Why these bands:
- Solo $179: Premium vs Countfire/PlanSwift point tools; still far below Trimble-class enterprise and outsourced takeoff per project.
- Studio $149/seat: Scales with shop size; pooled runs match bid-week folder volume.
- Annual discount: 15% (
ANNUAL_DISCOUNT_PERCENTinlib/pricing/public-plans.ts); Solo ~$1,826/yr vs $2,148 at monthly list. - Overage: $3 for each $1 of processing past the included allowance. A project that costs about $100 does not finish inside the seat fee. The takeoff stops when the allowance is used.
(Entry: sign up → verify → active plan or approval to run takeoffs.)
5. Price Point Guidelines
Anchoring:
- Labor: ~$200–500 per plan set (in-house) or $150–400 outsourced; 24–72 hrs at $40–80/hr.
- Software: PlanSwift ~$167/mo; Countfire $99/mo; AI tools $50–200/mo.
- AI per-page: ~$30/page, 3-day lead (market reference from team).
- Value delivered: Hours saved × hourly rate (e.g. 8 hrs × $40 = $320 per estimate).
Recommended ranges (May 2026 launch):
- Solo: $179/month – 1 seat, $36 processing included, Estee, export.
- Studio: $149/seat/month (min 2 seats) – $60 processing included on the 2-seat checkout.
- Firm: $129/seat/month (6–15 seats) – $156 processing included at the 6-seat minimum; contact for onboarding.
- Enterprise: Custom – SLA, dedicated support, 16+ seats.
- Overage: $3 for each $1 of processing past the included allowance. A project that costs about $100 does not finish inside the seat fee. The takeoff stops when the allowance is used.
5b. Sales & Positioning (value in time and $)
One-liner: “Estym8 turns 1–3 days of takeoff into 15–45 minutes. One saved day pays for the month.”
Talking points:
- vs. manual: “Typical MEP estimate is 24–72 hours. We deliver in 15–45 minutes—same bid-ready counts, editable, with Estee for run Q&A; on an open estimate, supported summary tweaks preview first and save only after you confirm.”
- vs. $30/page AI: “We’re subscription so you don’t worry about page count or ‘not all pages equal.’ One plan set = one takeoff. And we’re same-day, not 3-day lead.”
- vs. outsourced: “Outsourced runs $150–400 per project and 1–6 days. We’re a fraction of that per estimate and you keep control in-house.”
- ROI: “At $82k salary, an estimator’s hour is ~$40. Saving 8 hours on one estimate = $320 value. Solo is $179/mo—one estimate pays for it.”
Internal cost (for Paul/Jonas): Token/page or per-takeoff cost is useful for margin and overage; “not all pages equal” is handled by not pricing per page—we price per takeoff (one plan set) and use subscription tiers so we don’t have to expose page-level complexity to the customer.
6. What to Charge For
| Item | Entry (no plan yet) | Paid / approved access |
|---|---|---|
| Symbol takeoff / full estimate | No — requires plan or approval | Per seat tier / included runs |
| Result retention | Per account | 90 days or unlimited |
| Export (CSV/PDF) | Yes | Yes |
| Chat with estimate (Estee) | Yes | Yes |
| Projects/dashboard | Yes | Yes |
| API access | No | Enterprise |
6a. Unit Economics — Model / Token Cost per Takeoff
Detailed cost math (with real measured run data and per-provider rates,
including Anthropic prompt-cache breakdown) lives in
Model cost analysis (internal COGS notes) lives in the repository at docs/MODEL_COST_ANALYSIS.md — not published on this site.
One takeoff in our metering = one folder run (one bid package),
typically 1–4 trades. Numbers below come from the instrumented LLM
event log (test-results/llm-usage/events.jsonl) — every Anthropic
call is priced from the actual token + cache breakdown, not estimated.
Observed cost per folder (DEN47 measured 2026-05-01, all Claude Sonnet 4.5)
| Folder shape | Description | Cost / folder | Wall clock |
|---|---|---|---|
| Small | 5 plan PDFs, 1 trade | $1.50 | 5–8 min |
| Medium (DEN47 actual) | 10–15 PDFs, 2 trades | $2.50–$3.50 | 15–20 min |
| Large | 20 PDFs, 4 trades | $7 | 30–45 min |
| Mega | 50 PDFs, 6 trades, dense schedules | $14.50 | 60–90 min |
DEN47 actual full-folder spend: $2.88 (15 files, 18.4 min, 14 Anthropic calls split across document harvest, supporting-file insight, project intelligence, and 2 multi-prompt MEP takeoffs).
These numbers replace earlier estimates from MODEL_COST_ANALYSIS.md
v1 (Apr 17 Highline-only A/B) which were ~3–10× too high because the
cost model didn't apply prompt-cache reads at 0.10×.
2026-09-29 — processing cap (current counting cost)
The May 2026 folder costs below ($1.50–$14.50) do not describe the current counting path. A project can cost about $40–$100 in model spend before a takeoff is saved. At that cost, Solo at $179 with 8–10 included runs loses money.
Control now: each paid plan includes a monthly processing allowance (our model cost). The job stops when it is used. Additional processing is $3 for each $1 of model cost (MODEL_SPEND_OVERAGE_USD_PER_DOLLAR).
| Plan | Seat price | Included model cost / month |
|---|---|---|
| Solo | $179 | $36 |
| Studio (2-seat checkout) | $298 | $60 |
| Firm (6-seat minimum) | from $774 | $156 |
A $100 project on Solo uses the $36 allowance and stops. The other $64 is not run unless processing is added. That extra is $192 at $3 per $1 (overage COGS $64 × 3). Stripe does not invoice that automatically yet — the job stops, and the amount is what we bill to continue.
Admin, demo, beta, and approved tester accounts are not capped. Internal proves stay uncapped.
Margin at the May 2026 folder costs (historical)
| Tier / scenario | Per-folder COGS | Monthly COGS | Gross margin |
|---|---|---|---|
| Solo $179 / 8–10 runs | |||
| 8 medium folders @ $3.50 | $3.50 | $28 | 84% |
| 10 medium folders @ $3.50 | $3.50 | $35 | 80% |
| Studio $298+ / 24+ runs (2 seats × 12) | |||
| 24 medium folders @ $3.50 | $3.50 | $84 | 72% at $298 |
| 36 medium folders @ $3.50 | $3.50 | $126 | 58% at $298 |
Implication (May 2026 costs only): those margins assumed about $3.50 a folder. They do not apply to the current counting path. Use the processing cap above.
Pipeline recommendation (tied to pricing)
- Default pipeline: Pure Claude (
MODEL_PROVIDER=claude, the default whenMODEL_PROVIDERis empty). Claude is the only mode that has captured complete schedules across the diverse plan sets we've tested (Highline, DEN47, Villa Matka). Real cost is ~$1.50 per folder for small jobs, ~$3.50 for typical, ~$7 for large — price the product around this. With Anthropic prompt caching active on the system + last-document blocks (5-min TTL), warm-cache jobs recover ~30-40% of input cost; cold-cache jobs (first job in a session) pay the full 1.25× write surcharge — seeMODEL_COST_ANALYSIS.md§6 finding 1. - Middle tier: Hybrid (
MODEL_PROVIDER=hybrid). Grok runs Steps 1-3 for quantity and Claude runs Steps 4-5 for forensic + narrative. Estimated COGS ~$0.40/takeoff at lower forensic quality. Reserved as a margin-pressure relief valve; revisit if Pro tier scales beyond the breakeven shapes above. - Cheap / demo mode: Pure Grok (
MODEL_PROVIDER=grok). Cost floor so low it can anchor a "Quick takeoff" feature without financial exposure; quality ceiling is visibly lower (fewer concerns, thinner narrative, weaker fixture recognition on dense schedules), reinforcing the upsell to paid Claude pipeline.
Overage pricing (recommended)
Above-tier usage priced for ~50–65% margin on the median folder shape:
- Medium folder overage: $7–10 per additional folder (~$3.50 COGS)
- Large folder overage: $15–20 per additional folder (~$7 COGS)
- Mega folder overage: $25–35 per additional folder (~$15 COGS)
The old flat $35 per completed run (OVERAGE_RUN_USD) assumed that cheap folder shape. Do not use it. The live meter is $3 for each $1 past the included allowance.
Cost levers already live (May 2026)
- Anthropic prompt caching (5-min TTL) on system + last-document blocks in every multi-prompt step. Working as designed within a single takeoff job; underused across jobs (Finding 1 in Cost Analysis).
- Provider-aware USD pricing in
lib/grok/token-usage.tsestimateUsdFromUsage— every Claude / Grok / Gemini call shows accurate per-call cost intest-results/llm-usage/events.jsonl. - Cache breakdown (
cacheCreationInputTokens,cacheReadInputTokens) separated frompromptTokensin usage records so the cost helper applies the right multipliers (1.25× vs 0.10×) instead of silently treating cache traffic as full-price input.
Cost levers to investigate next
- Anthropic 1-hour cache TTL (
cache_control: { type: 'ephemeral', ttl: '1h' }). Largest single win — estimated 15–25% folder cost reduction by cross-job cache reads inside a folder pipeline. - Bundle dispatcher tightening — stop sending non-plan PDFs (RFP, geotech, supplier bid tabs) into the multi-prompt MEP path.
- Cross-bundle legend reuse — Step 1 (legend extraction) is identical for electrical / lighting / power bundles in the same plan set; reusing it saves ~$0.10 per duplicate-legend bundle.
7. Implementation Notes
- Stripe (or similar) for subscriptions
- Usage metering: Track takeoffs per user per billing period (one takeoff = one folder run; see §6a for cost shape per folder)
- Overage: $3 for each $1 of model cost past the included allowance (
lib/billing/model-spend-allowance.ts) - Annual discount: 15% — pinned to
ANNUAL_DISCOUNT_PERCENTinlib/pricing/public-plans.ts
8. Next Steps
- Validate with users: Survey 5–10 estimators on willingness-to-pay for folder-native takeoff vs manual days.
- Internal cost model: Track COGS at Solo ($179) and Studio ($149/seat) run allowances.
- Pilot: 2–3 early adopters; gather conversion and seat expansion data.
- Launch: Solo + Studio self-serve; Firm/Enterprise via contact.
- Revisit: Every 3–6 months; watch conversion, churn, and competitor moves.
9. Spot-check playbook (when “price points must be spot on”)
Use this when refreshing strategy—not a substitute for live Stripe and usage data.
Quantitative pulls
- Runs per subscriber: Distribution of completed takeoff runs per user per billing month (tie to entitlement enforcement). Heavy tails on Pro drive COGS faster than midpoint pricing assumes (
§6amargin table). - COGS sanity: Replay or sample
test-results/llm-usage/events.jsonl(or production-equivalent aggregates) by folder shape—small vs medium vs large vs mega—after any pipeline or model-price change (MODEL_COST_ANALYSIS.md). - Realized revenue: Stripe MRR / ARPA by price ID; reconcile published ranges (
lib/pricing/public-plans.ts) with fixed Stripe prices (every Checkout SKU is one amount, not a range).
Positioning pulls
- WTP cadence: 8–12 short interviews per year, same anchor script: hours saved × loaded rate vs. subscription line item (
§5b). - Competitive rescan: Semiannual pass on subs in
§3atable; confirm Solo still clears premium point-tool anchoring vs Countfire/PlanSwift and stays far below Trimble-class enterprise stacks.
Decisions that need explicit ownership
| Question | Inputs | Typical outcome |
|---|---|---|
| Pick four Stripe list prices vs. bands | Margin at P75 load; WTP bands | Narrow public copy to match exact SKUs or keep range with anchors in FAQ |
| Overage when users exceed runs | Histogram of breaches; median folder COGS | Flat $15/folder (§6a) vs. tiered by folder shape |
| Pro floor vs. subsidy | Share of subscribers at ≥40 runs/mo | Raise Pro minimum price, tighten cap, or add Team/volume tier |
| Annual discount depth vs. churn | Renewal cohort | Keep ANNUAL_DISCOUNT_PERCENT in sync with LTV math; avoid changing without updating PUBLIC_PLANS + copy-audit refs |
Canvas workbook: Structured summary for reviews lives in Cursor Canvas pricing-strategy-review.canvas.tsx (project canvases folder)—update when tiers or §6 cost assumptions change materially.