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'sclients/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 theWhatsApp assistant +R450/moadd-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 500R2 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.tsnow show plain fixed prices and the spring launch campaign; the.pwasstrikethrough style was deleted frompamphlet.cssso it can't come back. Built and screenshot-verified, committed and deployed separately โ checkgit -C leachie logand the CF Pagesleachieproject 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.