Pricing โ€” ๐Ÿ”’ LOCKED 2026-07-29
Business โ€” core ยท biz/PRICING.md

Pricing โ€” ๐Ÿ”’ LOCKED 2026-07-29

Working doc for the pricing model behind the pamphlets and every client quote.

๐Ÿ”’ THE LOCKED MODEL โ€” this is the answer; everything else in this doc is supporting research

Locked by Daniel 2026-07-29 (logged in DECISIONS.md; first applied on Nadia's clients/nadia/INVOICE-2026-001.html). These two numbers-sets are settled โ€” quote them, don't re-derive them:

1. Work is billed hourly: R1 000/hr, minimum 1 hour, in half-hour increments thereafter. This is the client-facing rate and it appears on invoices. It replaces the old "R900/hr internal shadow rate never shown to a client" posture everywhere.

2. The monthly care plan is 3 tiers (replaces the old Essential R550 / Managed R1 250 pair):

Tier Price The one-line pitch
Host R450/mo We keep it online. Nothing proactive; requests at R1 000/hr, min 1 hr.
Maintain R850/mo Host + monthly security & performance checks + one 1-hour ticket.
Grow R2 500/mo Maintain + ~2 hrs/mo of active growth work + a monthly report.

Full inclusions in ยง5. Founding clients get 50% off their chosen tier for 12 months.

3. Builds are advertised at plain fixed prices โ€” Refresh R2 500 / New site R3 500

  • Maintain R850/mo, no discount framing; urgency is the spring launch campaign ("held to 1 Dec 2026"). Hourly is for bespoke work, overruns and anything outside a published scope. Settled 2026-07-29 โ€” see ยง8.1.

Market anchors below are unchanged and still valid โ€” the 2026-07-23 therapist research (therapist-pricing-research.md) and the 2026-07-24 Firecrawl live scan both still hold. Note their recommendations were written against the old two-tier model and are superseded by the box above; their sourced competitor numbers are not.


1. The philosophy: cheap door, recurring engine

  • The build (once-off) is customer acquisition. Keep it low so the "yes" is easy โ€” this is the hook that beats Wix/agencies. It doesn't need to be where you make money.
  • The subscription is the business. Recurring revenue is the whole point of the volume model โ€” it compounds, it's predictable, and it's what a business (vs a freelancer) is actually worth.
  • So: raise the subscription, keep the build entry low. That's the lever. Daniel's instinct to push subscription prices up is correct โ€” the builds can stay cheap as the acquisition offer.

2. Why "cheap + volume" is a trap (the real reason to raise prices)

The limit on a solo operator isn't cash cost โ€” hosting is ~R0 (Cloudflare Pages, static, no WordPress maintenance). The limit is your time.

  • Every live site needs some attention: monitoring, updates, the odd support message, small fixes. Call it a blended ~30 min/site/month across a portfolio (some months zero, some a ticket).
  • 200 sites ร— 30 min = 100 hours/month โ€” that's more than half your working month gone just on maintenance, before you've sold or built anything. Pure volume eats the very time you need to grow.
  • Fewer sites at a higher price = the same MRR with far less support load โ€” and room to keep selling. That's the business case for raising prices: not greed, sustainability.

Takeaway: target ~80โ€“150 well-priced sites, not 200 cheap ones. Price so each site pays for the time it costs you, plus margin.

3. Cost to serve (per site / month)

Item Cost
Hosting (Cloudflare Pages, static) ~R0
Domain (if you manage it) ~R15โ€“20
Email/forms (Resend free tier) R0โ€“50
CMS (Sveltia) + auth worker R0
Your time (blended ~0.5 hr/mo) ~R250โ€“500 (at R500โ€“1000/hr notional)

โ†’ A subscription below ~R400/mo doesn't reliably cover your own time. R250 was working for free.

4. Market anchors (from research, 2026)

  • SA average managed package: R399/mo; full managed (design+host+SSL+SEO) R1,200โ€“R7,999/mo; maintenance retainers R500โ€“R2,000/mo; hosting alone R107โ€“R500.
  • Subscription-model peers: WebsiteMike $249/mo (~R4,600), Web 300 $300โ€“500/mo, Mike Web Developer ยฃ39/mo (R900). Global care plans cluster **$100โ€“250/mo (R1,850โ€“4,600)**.
  • Where the locked tiers land: Host R450 sits just above the SA average managed package (R399) and inside the hosting-only band; Maintain R850 sits mid-way in the R500โ€“2,000 maintenance-retainer band; Grow R2 500 is at the low end of full-managed (R1,200โ€“7,999). All three are a fraction of the international subscription players (~R1,850โ€“4,600).

Therapist / health-practice specific (2026-07-23 research โ€” full sourcing in therapist-pricing-research.md):

  • Psychology Today ZA โ€” R199/mo (localised): the dominant substitute a solo therapist compares against. Affordability is fine; the value story (owned branded site vs a rented directory row) is the real sell โ€” and at Maintain R850 you're selling a working hour every month, not a listing.
  • Storyteller โ€” R499/mo +VAT (โ‰ˆR574): the closest ZA productised recurring health competitor (doctor sites). Host R450 undercuts it; Maintain R850 does not โ€” against Storyteller, Maintain has to win on the included hour + the checks, not on price. (Under the old R550 Essential this was a price-win claim; it no longer is. Don't reuse the old line.)
  • ZA WaaS peers: Web Partner R299/499/699, VegaTech R395/650, no setup fee. Host R450 sits inside this band; Maintain R850 sits above it โ€” deliberately, because none of them do monthly work for you.
  • ZA medical-agency once-off: iNet Xis R6,500โ†’R25,000 (entry R6,500 = the group-build number); Bunnypants healthcare R8,980โ†’R27,980. Freelancer small site R5kโ€“15k; agency R6.5kโ€“17k.
  • WTP: psychologist collects ~R1,250/session (medical-aid code 86205); solo gross ~R42kโ€“110k/mo. A R450โ€“850 care plan is ~0.4โ€“2% of solo gross (and a R1,250โ€“1,750 group plan ~0.3โ€“0.4% of a 4-person group's) โ€” affordability is never the limit. Maintain still costs less than one session/mo.

Live-scan validation 2026-07-24 (self-hosted Firecrawl โ€” full doc: research/2026-07-24-firecrawl-market-scan.md). Every anchor above held up against the live sites (Web Partner R299/499/699, VegaTech R395/650, Storyteller R499+VAT, PsychToday R199, iNet Xis R6.5kโ†’25k, GoodX R450โ€“2,500). Two new competitive facts to fold into the WhatsApp add-on / product line: (1) BizAI (bizai.co.za) is a Claude-powered SA AI-CRM platform (R599โ€“7,500/mo) that bundles a free website from R1,850/mo โ€” direct pressure on both the WhatsApp assistant +R450/mo add-on and the care plan; needs a positioning answer. (2) The cheapest human phone-answering is R790/mo (200 calls, virtualreceptionist.co.za), not the R6k+ assumed โ€” so the R1,800/mo WhatsApp product should sell on after-hours capture / no-shows / WhatsApp-native + booking write-back, not "cheaper than a receptionist." Also: Navitas ships a "booking on your own website" embed widget (R199โ€“399/mo) โ€” the literal engine for the ยง5b "keep your booking tool, get a real site" pitch.

5. The structure

Build (once-off) โ€” advertised as fixed prices, no discount (ยง8.1)

Includes a light brand setup (colour, type, logo treatment). Advertised plainly with a launch window; hourly (R1 000/hr) covers bespoke work and anything outside a published scope.

Package Price For
Refresh R2 500 Existing site, rebuilt modern (Daniel's confirmed number)
Starter site R3 500 New, simple few-pager
Rebuild R7 500 New multi-page, conversion-focused
Brand + build R10 500 Rebuild + fuller identity
Visibility build R12 500 Rebuild + SEO/tracking set up
Online store from R15 000 Full e-commerce
Custom quote Apps, bookings, bespoke

Care plan (monthly) โ€” ๐Ÿ”’ LOCKED 2026-07-29 (logged in DECISIONS.md)

Supersedes the old Essential (R550) / Managed (R1 250) pair. Work outside a plan's included hours is billed at R1 000/hr, minimum 1 hour (the client-facing rate โ€” also locked 2026-07-29).

Host โ€” R450/mo Maintain โ€” R850/mo Grow โ€” R2 500/mo
Hosting, domain, SSL, backups, uptime โœ“ โœ“ โœ“
Monthly security check (attempted attacks, software up to date) โ€” โœ“ โœ“
Monthly performance check (speed + how it shows on Google, house tooling) โ€” โœ“ โœ“
Support ticket / included work none โ€” all requests R1 000/hr, min 1 hr 1 ticket, up to 1 hr โ€” client's changes first, else the hour goes to SEO/presence ~2 hrs of active growth work (SEO, content, improvements)
Monthly growth/tracking report โ€” โ€” โœ“
  • Host is the floor for keeping a site we built online โ€” nothing proactive happens.
  • Maintain is the default sell and the campaign tier: the checks + a use-it-or-we-use-it hour. "Your changes first; if you don't need any, the hour goes into SEO" โ€” the hour is never wasted, which is the answer to "why am I paying monthly for nothing".
  • Grow absorbs the old "growth partnership from R2 500/mo" add-on as a proper tier.
  • Every plan is month-to-month, cancel any time, no lock-in.

Add-ons

Visibility (SEO bundle) from R2 500 ยท Brand pack (deeper identity) from R4 500 ยท Conversion copy from R1 500 ยท WhatsApp assistant from R450/mo. (The old "Growth partnership / marketing from R2 500/mo" add-on is retired โ€” it is now the Grow tier.)

5b. Group / medical-practice tier โ€” re-derived onto the locked tiers 2026-07-29

For multi-practitioner practices (psychology "& Associates", family/GP practices, medical rooms) โ€” a shared, branded practice site with every practitioner's profile. Flat, banded by practice size โ€” NOT per-seat (a website is shared infrastructure; per-seat reads as cost-disconnected and invites pushback). Groups always get at least Maintain-level service (more people = more edits/support).

Group tier Build (once-off) Monthly For
Small group (2โ€“3) R6 500 R1 250 Small associate practices
Standard group (4โ€“6) โœ… R7 500 R1 750 The default group tier
Large group (7+) R8 500+ / quote R2 250+ / quote Larger practices / medical rooms

Per-practitioner add-on: full profile page + individual booking calendar + bio SEO โ€” +R750โ€“1 000 build / +R150โ€“200/mo each (beyond the ~4 included in Standard). Revenue grows with the practice without per-seating the base.

Why these numbers (they moved when the solo tiers moved โ€” the old R950/R1 250/R1 500โ€“1 750 band was set against Essential R550 / Managed R1 250, which no longer exist): each band is Maintain (R850) ร— ~1.5 / 2 / 2.6+, so a group never pays less than a premium solo client and the ladder stays proportional to support load. All three still sit below every anchor โ€” 4ร— solo Maintain is R3 400, an amortised R40k+ agency build is ~R1 700/mo before hosting, and 4 stacked Psychology Today listings are R796 for a rented directory row. A group of 4 pays ~R438/practitioner. Derived, not dictated โ€” this is the one part of the locked model Daniel hasn't said out loud; see ยง8.2.

Anchor the group price out loud against: 4ร— the solo plan ยท a R40k+ agency build amortised (~R1 700/mo before they even host it) ยท what N therapists already pay for rented, un-owned directory listings.

Booking gap to lean on: ZA practice-mgmt tools (GoodX, Cliniko, RecoMed, BookEm) do booking but none bundle a marketing website, and practices' booking tooling is fragmented. A productised site that cleanly embeds their existing booking flow is an unfilled gap โ€” a strong pitch (e.g. "keep your Cliniko, get a real site").

6. MRR on the locked tiers

The old "three postures" table (Volume / Balanced / Premium) is retired โ€” it existed to choose between Essential/Managed price points, and that choice is now made. What matters instead is the tier mix, which is an outcome to watch, not a decision to make:

Mix @ 100 sites @ 150 sites
Conservative โ€” 70% Host / 25% Maintain / 5% Grow ~R65k/mo ~R98k/mo
Expected โ€” 50% Host / 40% Maintain / 10% Grow ~R82k/mo ~R122k/mo
Optimistic โ€” 30% Host / 50% Maintain / 20% Grow ~R106k/mo ~R159k/mo

Hourly work and add-ons sit on top. Even the conservative mix beats the old Balanced posture (~R76k @ 100), because Maintain at R850 earns more than Essential at R550 did โ€” and Host at R450 still clears the ~R400/mo cost-to-serve floor in ยง3. The lever to watch is Host โ†’ Maintain conversion, not the headline price: every client moved up one tier is +R400/mo for one hour of work.

7. Discounts โ€” founding-client policy

Early clients get a real, time-boxed discount (generous now, protects the list price long-term, creates a gentle "lock in year-one pricing" urgency). List price is always shown, struck through, so the value anchors.

Nadia (founding client): (updated 2026-07-30 โ€” actual invoice INV-2026-001 went hourly, not the Refresh package)

  • Build: 50% off โ†’ billed hourly, 5.5h ร— R1 000 = R5 500 R2 750. This is printed on the invoice, as a discount line against the sub-total.
  • Subscription: 50% off for 12 months on whichever tier she picks โ€” Host R225/mo ยท Maintain R425/mo ยท Grow R1 250/mo, reverting to list after a year. โš ๏ธ Not printed on the invoice. Per ยง8.1 the founding trade is offered in person, off-print, so INV-2026-001 shows the list prices (R450 / R850 / R2 500) and the founding care rate is made verbally when she picks a tier. Say the revert date out loud at the same time โ€” see clients/nadia/PAYMENTS-AND-BILLING.md ยง3.

8. Open decisions (for Daniel)

The old list (which posture / which care-plan price / group monthly) is resolved by the locked model. Two real questions remain.

โœ… 8.1 How builds are advertised โ€” RESOLVED by Daniel 2026-07-29

He picked while choosing the therapist-pamphlet cover band: "leave the discount off, we will just do fixed price" and "this is going to be a limited time offer." So:

  • Campaign material advertises plain fixed prices โ€” Refresh R2 500 / New site R3 500 build + Maintain R850/mo. No strikethrough, no 50%-off framing.
  • Urgency comes from a launch window, not a discount โ€” the spring launch campaign: "spring launch pricing, held to 1 Dec 2026." (Daniel moved the date out from 31 Aug on 2026-07-29 โ€” the original window was 33 days and had been sent to nobody.)
  • Hourly (R1 000/hr) is for bespoke work, overruns and anything outside a published scope โ€” which is exactly how INV-2026-001 behaved. Fixed-fee advertised, hourly for the rest.
  • Nadia's founding 50% is untouched โ€” that was a client deal, already invoiced, not campaign copy. The founding trade (discount for case-study rights) stays available in person, off-print.

Logged in DECISIONS.md 2026-07-29. The whole pamphlet library was swept the same day.

โœ… Site brought in line 2026-07-29. leachie/src/lib/components/PamHero.svelte + src/routes/+page.svelte + src/lib/data/site.ts now show plain fixed prices and the spring launch campaign; the .pwas strikethrough style was deleted from pamphlet.css so it can't come back. Built and screenshot-verified, committed and deployed separately โ€” check git -C leachie log and the CF Pages leachie project before assuming what is live.

8.2 Group tier monthly (ยง5b) โ€” confirm the derived numbers

R1 250 / R1 750 / R2 250+ were re-derived from Maintain when the solo tiers changed; Daniel hasn't said them out loud. Confirm, or set your own band.