A stack isn’t a product we design. It’s an answer to a question: given what these people want, what we can buy, and what they’ll pay, what’s the best month we can put together for the group? We wrote that question down as maths — and then let a computer answer it.
Start with what each person wants
Every member answers a short survey, and every answer becomes a number. For each thing she might get — a reformer class, a sauna session, a blood panel — we learn three things: how many a month she’d really use, whether extras beyond that are still worth anything, and how much one is worth to her compared with paying at the door.
Together those make her utility function: how much a month of wellness is worth to her, in dollars. It isn’t a straight line. The first few classes are worth their full price. Past her sweet spot, each extra one is worth less. Past twice that, nothing at all.
This is the oldest idea in economics — diminishing marginal utility — and it does real work here. It stops the optimizer from stuffing a stack with twenty yoga classes because yoga happens to be cheap.
Then the economics of the pack
We can only buy whole packs, and a pack is shared across a pod of members — no more than the studio allows. So every member gets a whole number of units a year. Her price is what those units would cost her at drop-in rates. Our cost is what the packs cost us in bulk. The difference is the spread, and a share of it comes back to her as rewards.
The objective, and the Lagrangian
Now the whole problem fits on one card. Maximise the group’s total value plus the spread, subject to three rules: the price has to land in the band, enough people have to want it, and packs come whole.
This is where Lagrange comes in. The classic consumer problem — get the most utility from a fixed budget — has a famous answer: at the optimum, the last dollar spent on every good buys the same amount of utility. Spend a dollar more on sauna and a dollar less on yoga, and nothing improves. The multiplier μ is the exchange rate: how much score one more dollar of budget would buy.
We don’t solve it with calculus, because packs are lumpy. But the search follows the same rule. Each turn, it looks at every product and every next pack, throws out moves that break a rule, and adds the one with the most score per dollar of price. That’s the Lagrangian condition, taken one step at a time. It stops when no move earns its cost — then tries taking each thing back out and refilling, from many starting points, so it doesn’t settle on the first good answer.
Who actually joins
A member only joins if the stack is worth its price to her: her value from it, plus her rewards (counted at how much she says a rewards dollar is worth to her), has to beat what she pays. Anyone it doesn’t win over counts as zero. So the optimizer can’t cheat by building a stack only one person loves.
How big should the group be?
Bigger groups split packs more evenly, but they’re harder to fill. So a quick version of the search runs at every group size from 4 to 24, and we keep the smallest size within 2% of the best. Then it searches hard at that size.
What it gave us
A ranked list of stacks per persona, each one explainable line by line: why every pack is in it, what it costs, who joins and why. It’s also why a person, not the optimizer, makes the final call — the bundle planner came next, and lets us lock in the stacks we like.
Every symbol: K sweet spot · d value of extras · m worth versus drop-in · r drop-in price · s, P pack size and price · X packs per pod a year · a units each a year · N group size · R her price · C our cost · U her value · ρ what a rewards dollar is worth to her · θ weight on the spread · λ fine for unshareable packs · μ the Lagrange multiplier.
