What your two years of data actually says — and the decisions it puts in front of you.
Prepared for Dana & Marco · June 2026
Revenue has held flat for two years.
The business turns over about $83,000 a month in organic revenue (excluding the ClassPass visits that reimburse separately). That number has barely moved in 29 months — no upward trend, no decline, just a stable line with two one-off spikes. 🟢
The "+5% versus last year" you might see in a quick look is misleading: it's almost entirely one month — June 2025 — which was a teacher-training intake, not broad growth. Strip that out and the year is flat. 🟡
Flat at the top hides one studio cooling and another heating up.
Most of your membership money is billed online, so the raw location report is misleading — it makes both rooms look small. When we push every online dollar back to the studio where that member actually trains, the true picture appears: 🟢
Santa Monica is still your engine — roughly 2.3 times the size of Venice Beach — but it's slowly cooling, down about 20% across the window. Venice Beach is genuinely growing, nearly doubling. The two move almost as mirror images, and that's exactly why the top line looks flat: Venice Beach's growth has been quietly covering Santa Monica's decline. The gap is narrowing, but Venice Beach has not overtaken Santa Monica. 🟢
You're working hard just to stand still on memberships, and the losses are concentrated.
Your active autopay membership base peaked at 282 in late 2024 and has eased to about 205 now — down roughly 10%, with the drop accelerating through 2026. Across the whole period you signed up almost as many members as you lost: a treadmill, not growth. 🟢
By year: 2024 added 56 net members; 2025 lost 16; 2026 so far has lost 63. And when we split it by studio, the leak is clearly Santa Monica — cancellations there have run roughly double new sign-ups through 2026. Venice Beach's membership flow is small and close to balanced. 🟢
Two smaller facts worth holding.
Teacher training is small but lumpy. It brought in about $53,400 over the two years — only ~2% of revenue — earned in a handful of intake months. The big June 2025 month that flatters the annual figure was mostly a 200-hour intake (~$19k), not underlying growth. 🟢
About one member in six trains at both studios (15–17%, easing slightly). Most of your members are loyal to one room. That matters for what's coming next: if Santa Monica members leave, Venice Beach can't simply absorb them — they're closer to two separate communities than one shared pool. 🟢
Everything above, quarter by quarter, by studio.
| Quarter | Studio | Revenue | New | Cancel | Net | Sessions | Both-studio % |
|---|---|---|---|---|---|---|---|
| 2024-Q1 | Santa Monica | $164k | 180* | 15 | +165 | — | — |
| Venice Beach | $38k | 46* | 5 | +41 | — | ||
| 2024-Q2 | Santa Monica | $193k | 63 | 28 | +35 | — | — |
| Venice Beach | $52k | 20 | 6 | +14 | — | ||
| 2024-Q3 | Santa Monica | $181k | 56 | 38 | +18 | 552 | 16.9% |
| Venice Beach | $59k | 21 | 18 | +3 | 296 | ||
| 2024-Q4 | Santa Monica | $209k | 44 | 47 | −3 | 519 | 16.8% |
| Venice Beach | $48k | 14 | 12 | +2 | 269 | ||
| 2025-Q1 | Santa Monica | $198k | 46 | 45 | +1 | 528 | 15.9% |
| Venice Beach | $61k | 14 | 14 | 0 | 284 | ||
| 2025-Q2 | Santa Monica | $195k | 41 | 59 | −18 | 539 | 16.4% |
| Venice Beach | $96k | 23 | 16 | +7 | 287 | ||
| 2025-Q3 | Santa Monica | $151k | 30 | 63 | −33 | 568 | 15.9% |
| Venice Beach | $86k | 11 | 19 | −8 | 292 | ||
| 2025-Q4 | Santa Monica | $141k | 77 | 58 | +19 | 547 | 15.9% |
| Venice Beach | $96k | 20 | 17 | +3 | 276 | ||
| 2026-Q1 | Santa Monica | $134k | 29 | 79 | −50 | 532 | 15.6% |
| Venice Beach | $78k | 14 | 28 | −14 | 288 | ||
| 2026-Q2† | Santa Monica | $110k | 25 | 32 | −7 | 356 | 14.3% |
| Venice Beach | $67k | 12 | 13 | −1 | 189 |
Revenue is the true-studio view (online re-attributed by where members train, training income excluded). "Both-studio %" is members training at each studio that quarter. * 2024-Q1 sign-ups include everyone already a member when the data starts, not a quarter of new joins. † 2026-Q2 is April–May only, so its totals are partial. Sessions and both-studio data begin Q3 2024, when class attendance tracking starts.
Read across the Santa Monica row and the pattern is stark: roughly the same number of classes every quarter (~520–570), but revenue sliding from ~$209k to ~$134k. Same room, same cost to run it, fewer paying bodies. Venice Beach is the reverse — flat class count, revenue roughly doubling. 🟢
A well-funded competitor opened in Santa Monica last month.
Method Lab opened at 1431 Montana Avenue, Santa Monica on 18 May 2026 — reformer, heated mat, yoga, their own teacher training, intro offers from $50. 🟢
Two honest points. First, it cannot be blamed for your Santa Monica decline — that's been running for over a year, well before they opened. The Santa Monica problem is yours, and it's internal. Second, it makes that problem more urgent: a fresh, free-trial-led competitor is now pulling the same Westside catchment, arriving exactly when your strongest studio is already soft. The upside is you have a clean "before" baseline — we can measure any Method Lab impact cleanly against the trend from here. 🟡
The raw cancellation count overstates real churn by about a quarter — and the leak is Santa Monica.
We've now built the cancellation report. We don't yet have Mindbody's recorded reason field, so the reasons here are inferred from each member's membership type and the timing of their last bill — directionally sound, not final. With that caveat, the picture is clearer and less alarming than the headline number. 🟡
Of 700 membership exits across the window, roughly three in four (494) are genuine stops, but nearly one in four (162, 23%) are simply fixed-term passes reaching their end date — a renewal job, not a member walking out. Those expiries jump from low single digits to 26–27 a quarter from mid-2025, tracking your mid-year sale push exactly. Much of the scary-looking late-2025 and early-2026 churn is sale passes ending, not people quitting. Strip them out and true voluntary churn is materially lower than the raw count. 🟢
Two honest limits. The 494 "ongoing stops" is still a ceiling, not a count of quits — it blends voluntary leavers, failed payments and freezes, which only Mindbody's reason field can separate. And the May-2025 migration loss is understated here (18 tagged versus the ~68 the carryover analysis found), meaning true voluntary churn is likely lower still. Pulling the MBO cancellation export remains the one move that turns this section fully green and tells you, for Santa Monica's 328 stops, how many actively quit versus dropped for billing — the difference between a retention fix and a billing fix. 🟡
Seven moves, ranked by speed and certainty — not by headline size.
The strategic frame underneath all of them is the same: defend Santa Monica. It's 69% of revenue, it's been softening for over a year, and Method Lab is now across the road. The open question worth settling alongside it — is Venice Beach's growth net-new members or Santa Monica members drifting across? If it's net-new, feed it; if it's internal migration, your flat top line is a warning, not a comfort. 🟡 Every move below pulls toward that frame. The first three cost almost nothing and the demand is already measured.
Santa Monica Sat 8am turns away 22 people; Sun 4pm turns away 36 — measured waitlist, not estimate. Those classes clear $506–552 a sitting; a new early-Saturday or Sunday-afternoon class costs $97–112 to staff. This is the cheapest growth on the board: the demand is proven, you're simply out of seats. Put a proven draw on it before you touch anything else. 🟢
Mon 7:30am, Thu 4pm and the Saturday marquee each pair a softening teacher with a stronger mover who lifts +4 to +8 heads in the same room. Swapping is near-zero cost and loses almost no regulars. Your busiest classes are already won; the lever is putting your best movers on the viable-but-underfilled slots, not on the ones already full. 🟡
Two in three new starters fall at or before month one, and the intro-pass fall lands the exact week the 28 days expire. You can see who's convertible before then — future regulars train roughly twice as often in their first fortnight. This is the highest-value fix in the business and the one Whispers is built for. The Phase B appendix models what moving it 15% is worth. 🟢
858 passes still carry unused sessions; 251 were never opened once. These people already paid and never got the value — your warmest, cheapest re-engagement list, and the natural bridge from a casual pass into a habit. 🟢
Mon/Wed/Thu run two back-to-back 6:00 + 7:15am classes into a half-empty 20-cap room — 7 to 8 bodies each — while the same times fill on Tue/Fri. Demand supports one class on those days, not two. Collapsing each to a single morning takes about $15k a year of teacher pay out of classes that barely clear their own cost, with only a handful of regulars to re-home. 🟢
You pay a flat rate across a four-fold spread in what teachers actually draw — and your two best value-per-dollar teachers sit on the bottom rate. Not a cut: a realignment that rewards the movers filling your rooms. Design this deliberately before it becomes a retention risk. 🟡
The MBO cancellation export turns section 07 green — splitting genuine quits from failed payments, freezes and sale-pass expiries, so a retention fix isn't mistaken for a billing one. The ClassPass remittance prices the 27% of your seats currently showing $0 — one in four bodies in the room. Both are admin pulls; both convert a guess into a decision. 🔴
Prepared by Kula for Saltwater Yoga · Studio Accelerate, Phase A (Integrity). All figures reconcile to your Mindbody exports; ClassPass reimbursed visits and teacher-training income are separated from studio revenue. Studio revenue is allocated to the room where members train, not where payments are billed. Data runs to 31 May 2026. This report shows what is happening; it deliberately contains no projected savings or revenue forecasts — those belong to the next phase, only once you've sniff-tested everything here. More human, not less.
Phase A above is what is. Everything below this line is what could be — a scenario, not a promise.
Two things sit in this appendix. First, an interactive view of your intro-pass cohorts, month by month — the actual survival curves from your data, so Dana can see which intakes held and which fell apart. That part is real: every dot traces to Mindbody. 🟢
Second, a model of what a 15% lift does — 15% more intro passes sold, 15% more people surviving the month-one cliff, and how that ripples through the whole curve into revenue. The ladder of value it runs on is real (your own realised dollars per starter). The 15% itself is an assumption — an input you can drag, not a result we're banking. Treat the numbers as "if we move this, here's the arithmetic," not "we'll save you this." 🟡
Pick a starting month. This is the share of that intake still attending, period by period.
Nine in ten new people arrive on a casual class or the 28-day intro, and the intro pass is the one route that holds: intro starters stick at roughly two to four times the rate of drop-ins at every point. But the cohorts are not equal — some months convert two in five past the cliff, others barely one in eight. The pattern is the asset. 🟢
Tap a month. Solid line = fully observable. Greyed months are still maturing (not enough time has passed to see the full year yet). "Pooled" = Jan–May 2025 combined, the five intakes with a complete 12-month run.
"Start" is the first 30 days (on the intro pass). "M1" is the first month after the 28-day pass expires — the cliff. Past M1, anyone still attending is on a paid plan, i.e. they converted. Source: stage3 cohort tables, reconciled to Mindbody. 🟢
Same engine, two dials: sell more passes, and lose fewer at the cliff.
This runs on a real ladder. We took your 209 intro starters from Jan–May 2025 and measured what each actually paid you over their first year, grouped by how long they stayed. Someone lost at the cliff was worth about $110. Someone who locked in past month eight was worth about $1,236 — roughly eleven times more. That gap is the whole game: retention isn't a softer metric than acquisition, it's where the money is. 🟢
Drag the dials. The left number is the model's headline. 🟡
Defaults are set to 15%. The ladder and curve are real; the percentage lifts are your assumption.
Baseline = 428 intro starters/yr (your 2025 intake) × the realised value ladder above. The cliff dial moves people out of the $110 tier into the retained tiers in today's proportions; the pass dial scales the whole intake. Independent levers, multiplied. 🟡
Tested: could a 3-week ($80) or 2-week ($51) pass hold the same conversion? The data says don't shorten it — but it hands you something better.
The instinct is reasonable: if the convertible behaviour happens early, trim the dead back end and drop the price. The data contradicts it. The members who convert are precisely the ones still attending in weeks 3 and 4. Non-converters fade from week one; converters barely decline. 🟢
Share of intro starters attending in each week of the pass, split by whether they went on to convert. Jan 2025–Feb 2026, n=521, 36% converted.
Cut the pass to two weeks and you remove the room from ~88% of your future members while they're still deciding. Almost nobody starts late, so you catch no hidden segment by trimming. The back half is cheap to provide — non-converters have already faded — and expensive to remove. 🟢
The same data hands you the real lever: the early-intensity signal. By day 14, 91% of eventual converters have already taken 2+ classes, and conversion climbs cleanly with first-fortnight visits: 🟢
You can see who's converting before the pass is half done. So the move isn't a shorter pass — it's a day-14 conversion ask to the high-intensity group: keep the full 28-day runway, act on the signal early. Same outcome you wanted (faster decision, less dead time), none of the downside.
The right nudge, to the right person, at the moment they're about to drift — sent like a human would, because behind it there is one.
A Whisper is a small, timed, personal contact triggered by something real in the data — a milestone hit, a gap in attendance, a pattern only the system can see across thousands of bookings. It is not a blast. Each one is aimed at one person and reads like their teacher noticed. More human, not less. 🟡
They cost nothing and they bank goodwill before you ever need it. "Well done on 25 classes" tells a member the studio is counting — quietly, on their side. The affinity instructor is the natural sender.
The system sees the gap a human front desk never could — ten days unseen, a missed regular slot. One precise SMS or app nudge, naming their actual class, lands before the habit breaks. This is the one aimed straight at the cliff.
A second touch from the teacher they train with most turns a reminder into a relationship. Most-visits-with is in your data already; the whisper just routes it to the right voice.
Each one below is specified the way it would be deployed: a precise trigger your data already supports, a window, a sender, a channel, the message, and the guardrail. The split happens at day 14 — the signal tells you whether a starter is warming or cooling, and they get opposite Whispers.
Guardrail. An opener, not the hard ask — that's the teacher's job at step 3. Names their actual count. Never discount-led. Suppress if a membership is already booked. 🟢 trigger is fully in your data (visit timing predicts conversion 16%→47%).
Guardrail. Help, not guilt. Offers a specific, easy next class — booking friction is the enemy. One touch only; if no response in 5 days, route to the day-25 continuity Whisper, not a second nag. 🟢 trigger measurable; effect size unproven here — pilot it.
Guardrail. This is the highest-leverage touch you have — keep it human and one-to-one, never a template blast. Sender is computed from attendance, not guessed. Relationship-led, not price-led. 🟡 mechanism strong (Stage 5/6 affinity), effect to be measured.
Guardrail. Make continuity the default path, but the member must take the action — no silent auto-charge. You carry a trust dent from the May-2025 billing cutover; an unconsented charge would reopen it. Clear opt-in only. 🟡
Sequencing rule: a starter receives at most one Whisper per stage. 2a and 2b are mutually exclusive (the day-14 signal decides which). A booked membership suppresses every later Whisper. Total touches across the 28 days: two to three, never more — the line is "more human, not less," and over-contact breaks it.
A one-time, hidden upgrade offered at the moment a drop-in is bought — $38 becomes a $15 yes for two weeks unlimited, then a staircase to membership.
Drop-in is your widest and leakiest front door: roughly 1,000 new drop-in starters a year (since Jan 2025), most paying once and never returning. The reason the funnel breaks here is the size of the jump — $38 to a $104 intro is a 3× decision at the counter. The tripwire reframes it: at the point of sale, a one-time, hidden offer to roll the $38 into a 2-week unlimited pass for just $15 more. Not a discount — a smaller decision, using the drop-in as the down payment. The take-rate also measures, for the first time, what share of your drop-ins were ever convertible. 🟡
Rung 2 is the catch for "I like it but I'm not ready," not a toll everyone pays — the main path runs Rung 1 → the day-10 upgrade Whisper / affinity ask → membership. Crediting the $90 to membership removes the "I paid more than the intro" objection. 🟡
The one trap to engineer around: a 2-week pass that just ends re-creates a cliff, and B3 proved 2 weeks is too short to convert on its own. The fix is the day-10 warming Whisper, repurposed as the ascension trigger — the tripwire and the Whisper playbook are one machine, not two. 🟢
Drag the rates. Baseline = today's drop-in starters at one-and-done value. The rates are your assumptions — the model is the arithmetic on them.
Values used: one-and-done drop-in $46 (Stage 4 realised), tripwire-but-didn't-convert $53 (the pass), converted member $646/yr (conservative vs the B2 retained-intro average of ~$777). Excludes the $90 rung and any second-year value, so it understates. 🟡
Some starters sample you, then keep attending through the aggregator that pays $0 in your ledger. Here's how many — and the honest worth of chasing them.
The pattern: a member arrives on a drop-in or intro pass, then continues on ClassPass instead of joining you directly. Intro holders defect at nearly double the drop-in rate — they're exactly the warm, convertible audience the aggregator most wants. 🟢
| First route | Starters | Went to ClassPass after | …and never converted | Still active on CP* |
|---|---|---|---|---|
| Drop-in | 1,849 | 66 | 43 | 8 |
| Intro pass | 1,165 | 80 | 54 | 7 |
| Total | 3,014 | 146 | 97 | 15 |
* Attended on ClassPass since 1 Mar 2026 — the reachable "live" list today. The 97 spans the full two-year window; most have already drifted. Source: stage3 entry × attendance plan_name. 🟢
Two numbers. Left: winning back today's live list to membership. Right: the value this group is currently routing to the aggregator. Drag the win-back rate.
Worth = live 15 × win-back rate × ~$716 realised first-year membership value (conservative, per B2). *The 97 non-converters logged 719 ClassPass visits over the window ≈ $13.7k of attributed value (~$5.9k/yr) — but that's gross: ClassPass remits some of it off-system, so the net leak is smaller and stays 🔴 Held until the remittance export lands (decision 7). Re-engagement worth is the cleaner number. 🟡
Guardrail. Never knock ClassPass or make them feel caught — they chose you, just through another door. Lead with the relationship and the member-only value, not a price war you'll lose. Reachable because they're physically in your room. 🟡 effect unproven — pilot on the live 15.
Not a report. A capability — and a team you could never have put on payroll.
Everything in this appendix would normally take a CFO, a data team and a strategy firm to produce. A studio your size has none of those, and now doesn't need them. With KulaOS they run in the background, all the time.
The shift is this: every change you make from here is tracked through your own data, automatically, to the cent. Did the new Saturday class actually pay? Is the cheaper intro selling or just discounting? Did the cliff Whisper move conversion, or just feel good? You make the move; the system watches it land and reports back. That's the end of guessing whether it worked. 🟢
For a three-to-five person studio, that's four senior hires you'll never make — running quietly, every day, on the data you already own.
Phase B is a scenario layer, kept deliberately separate from the Phase A integrity findings above. The cohort data is real and traced to Mindbody; the uplift percentages are operator-set assumptions, not commitments. Nothing here should be banked until a measured pilot confirms the effect sizes for Saltwater Yoga. More human, not less.