
Dynamic Pricing Decision Support for a Boutique Fitness Class Marketplace
Let's Connect
Overview
What we built
A boutique fitness marketplace was selling out its evening classes in minutes while mid-morning slots sat 40% empty. We built the forecasting and pricing system that balanced both ends of the day.
In plain terms: the marketplace sells class credits for around 50 partner studios, and every credit cost the same regardless of when the class ran or how much demand there was. Popular evening sessions vanished in minutes, quiet mid-morning classes ran 40% empty, and the operations team spent roughly 14 hours a week nudging prices around in spreadsheets, working from instinct because no forecast existed to tell them what would actually fill.
We built a system that predicts how likely each upcoming class is to fill and recommends a credit price within limits agreed in advance, with the operations team approving every change from one dashboard. Partner studios receive plain monthly reports explaining how their pricing moved and why. Off-peak fill rates climbed from 46% to 68% within 4 months, revenue per available class slot rose 19% across the 50-studio network, weekly pricing work dropped from roughly 14 hours to under 2, and partner churn fell from 3.1% to 1.9% a month.
The Problem
Flat pricing, empty slots
The marketplace had grown into an aggregator of around 50 boutique studios, but its pricing had not grown with it. Every class credit carried the same flat rate whether the class was a peak evening favourite or a mid-morning session in a half-full studio. Demand told one story, sold out in minutes at peak and 40% empty off-peak, while pricing told none.
Behind the scenes, the operations team was compensating by hand. Roughly 14 hours every week went into adjusting prices in spreadsheets, cell by cell, with no forecasting to indicate which upcoming slots were at risk. Changes were reactive by definition: a slot had to disappoint before anyone touched its price, and by then the class had already run.
The partner relationship was fraying at the same time. Studios saw their quiet classes underperform and their payout economics come into question, and they had no visibility into how or why prices were set. For a marketplace whose supply side is other people's studios, that opacity was a structural risk, not a cosmetic one.
One flat price
Every class credit cost the same regardless of demand, so peak sessions were underpriced and sold out in minutes while off-peak slots stayed overpriced and empty.
Spreadsheet price patching
The operations team spent roughly 14 hours a week hand-adjusting prices in spreadsheets, always reacting to what had already happened rather than what was coming.
No demand forecast
Nobody could say which upcoming classes would fill and which would run 40% empty, so every pricing decision rested on instinct and memory.
Partner studio doubt
Studios questioned their payout economics and could not see how prices were being set, eroding trust in the marketplace they depended on.
What it was costing them
The flat rate was leaking money in both directions: sold-out evening sessions meant demand the marketplace could not capture, and mid-morning slots running 40% empty meant instructors teaching to empty mats. Add roughly 14 hours a week of manual spreadsheet work and partner studios drifting away at 3.1% a month, and the pricing model was quietly taxing revenue, time and supply at once.
The Solution
Forecast-driven pricing recommendations
We designed the system as decision support rather than a black box: software proposes, people decide. That principle shaped every layer of the build, because the operations team needed to trust what the models suggested before acting on it, and partner studios needed to understand why their prices moved. A recommendation nobody trusts is a spreadsheet with extra steps, so transparency was treated as a core feature rather than an afterthought.
At the core sit slot-level demand models that forecast the fill probability of every upcoming class across the network. A recommendation engine translates those forecasts into proposed credit prices, always within floor and ceiling guardrails agreed in advance, so no recommendation can stray outside limits the business has already signed off. The operations team reviews and approves changes from a single dashboard, replacing the spreadsheet round with a short, focused pass over what the models have flagged.
The partner side got equal weight. Every studio now receives a transparent monthly report explaining how its pricing moved and why, in plain language rather than model jargon. Instead of discovering price changes after the fact, studios see the reasoning, which turned pricing from a source of suspicion into evidence the marketplace was actively managing their revenue.
Key decisions
Decision support, not autopilot
The system recommends, the operations team approves. Keeping people in the loop preserved accountability and made the shift from spreadsheets an upgrade rather than a loss of control.
Guardrails agreed up front
Every recommendation stays within floor and ceiling limits set with the business, so the engine can never propose a price that damages trust or the brand.
Forecast every slot individually
Fill probability is modelled per class slot rather than per studio or time band, because two evenings at the same studio can be entirely different markets.
One dashboard for pricing
All reviews, approvals and overrides happen in a single place, giving the operations team one workflow and the business one audit trail.
Transparent partner reporting
Monthly reports explain to each studio how its pricing moved and why, treating partners as stakeholders in the pricing system rather than subjects of it.
Measurable Impact
What changed after launch
The commercial results arrived quickly. Off-peak fill rates improved from 46% to 68% within 4 months of rollout, and revenue per available class slot rose 19% across the 50-studio network as peak demand was captured rather than rationed. Weekly manual pricing effort fell from roughly 14 hours to under 2, freeing the operations team to manage the network instead of its spreadsheets.
The relationship results mattered just as much. With transparent monthly reports showing partners how and why their pricing moved, monthly studio churn dropped from 3.1% to 1.9%. The marketplace now runs pricing as a repeatable operating rhythm: forecasts arrive, recommendations queue for review, approvals take minutes, and every change carries an explanation a studio owner can read.
Off-peak fill
Mid-morning slots running 40% empty
Fill rates up from 46% to 68%
Slot revenue
Flat credit rate regardless of demand
Revenue per available slot up 19%
Pricing workload
Roughly 14 hours of weekly spreadsheet edits
Under 2 hours of dashboard reviews
Partner retention
Monthly studio churn at 3.1%
Churn down to 1.9% with transparent reports
Headline results
Off-peak class fill rates improved from 46% to 68% within 4 months of rollout
Revenue per available class slot up 19% across the 50-studio network
Weekly manual pricing effort cut from roughly 14 hours to under 2
Partner studio monthly churn reduced from 3.1% to 1.9% following transparent pricing reports
Tech & Tools Used
What powered the build
Every tool below earned its place in this engagement. Here is the part each one played.
Python
The language behind the whole pipeline, from feature engineering on booking history to the pricing recommendation logic and the services that expose it.
LightGBM
Gradient-boosted models trained on booking patterns predict the fill probability of each upcoming class slot, the core signal every price recommendation is built on.
Prophet
Captures each studio's weekly and seasonal demand rhythms, giving the slot-level models a reliable baseline of how bookings normally build towards class time.
Apache Airflow
Orchestrates the nightly retraining and daily forecast runs, so every upcoming slot carries a fresh fill forecast and price proposal each morning.
PostgreSQL
System of record for slots, bookings, recommendations and approval decisions, preserving a complete audit trail of every price the marketplace has proposed and applied.
dbt
Transforms raw booking and transaction data into tested, documented modelling tables, so the forecasts and the partner reports draw on the same governed definitions.
Redis
Caches approved prices and pending recommendations, so the booking flow and the review dashboard always read current values without waiting on heavier queries.
Node.js
Runs the API layer that serves recommendations to the dashboard and records approvals and overrides back into the system of record.
React
The review-and-approve dashboard where the operations team scans flagged slots, compares forecast against proposal and confirms changes in a single pass.
AWS ECS
Hosts the forecasting jobs, APIs and dashboard as containerised services, keeping the whole decision-support stack deployable and scalable as the network grows.
Ready to Build your Health & Fitness Business with Decision Support Systems
Ask Byte
Ask Byte
Typically replies instantly
just Now
Hi! I'm OrganByte's assistant. How can I help you today?
AI-generated content may be incorrect

