For tutoring & courses

Tutoring and course marketplaces: the session that never happened

Education marketplaces process enormous counts of small transactions under emotionally loaded cancellation policies. A tutor no-shows, a parent re-books, a policy tier refunds half — every one is a partial against a transferred payout, executed by scheduling software that predates everyone’s attention. Individually invisible; collectively the reason a take rate that reads healthy in the pitch deck lands thinner in the bank account.

Policy-tiered refunds multiply paths

24-hour windows, 50% late-cancel tiers, weather exceptions, first-session guarantees. Each tier is another refund code path, each path another chance for reverse_transfer to stay unset. The flagship booking flow gets tested; the reschedule-with-credit path usually does not — and credits issued as refunds behave differently from account credits in ways worth auditing explicitly.

Modelled volume economics

2,000 sessions weekly at $35 average, platform fee 15%, late-cancel incidence near 11%. About $7.7k weekly flows through refund paths; stranded-at-typical-rates math puts four-figure monthly leakage in tutor accounts — small per incident, permanent in aggregate, and concentrated among exactly the tutors whose schedules generate the most bookings.

Weekly refund flow, modelled
Sessions × price
2,000 × $35 = $70,000
Late-cancel share
~11% → $7,700
Tutor-side transfers at risk
~$6,500
Typical stranding band
$130–520/wk

Subscription courses: recurring versions of everything

Monthly access billed through Connect repeats every leak monthly and adds proration questions on top. Education framing matters here: proration arithmetic itself sits outside current detectors — stated plainly so nobody buys expectations we do not ship. What does compound detectably is the refund side of mid-cycle cancellations, which behaves like any other partial against transferred payouts.

Seasonal spikes hide drift

Back-to-school and January surges mask slow configuration regressions: a gateway update in August surfaces as mysterious September deltas. Continuous monitoring catches drift at the week it starts rather than at the season-end retrospective.

What FeeGuard does about it

Per-session granularity is native — findings reference exact sessions, tutors and policy tiers. The scanner baselines a term’s history from pasted exports in minutes; read-only monitoring keeps it continuous thereafter, free forever on the detection tier.

Common questions

Do policy-tiered refunds still need both flags?

Yes — every tier that issues actual refunds (not account credits) needs reverse_transfer and refund_application_fee set according to policy. Tiering changes amounts, not mechanics.

Class packages split across several tutors?

Multi-leg pattern — package refunds need per-leg reversal computation or they over/under-recover individual tutors.