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).
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 | Completed runs / mo | Rationale |
|---|---|---|---|---|
| Solo | $179/mo | 1 | 8–10 | Full-time solo estimator; one saved day pays for the month |
| Studio | $149/seat/mo (min 2) | 2–5 | 12/seat pooled | Small shop; from $298/mo at minimum seats |
| Firm | $129/seat/mo | 6–15 | 15/seat pooled | 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: $35 per completed run above allowance.
(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, 8–10 completed runs, Estee, export.
- Studio: $149/seat/month (min 2 seats) – 12 runs/seat pooled.
- Firm: $129/seat/month (6–15 seats) – contact for onboarding.
- Enterprise: Custom – SLA, dedicated support, 16+ seats.
- Overage: $35 per completed run above allowance.
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×.
Margin at the current tiers
| 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: Solo and Studio are comfortable at typical medium-folder load. Heavy mega-folder months should use $35/run overage or Firm tier — steer via upload hints rather than surprise bills.
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)
Or simpler: flat overage $35/completed run (see OVERAGE_RUN_USD in lib/pricing/public-plans.ts).
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: $35 per completed run above allowance (see
OVERAGE_RUN_USD) - 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.