Sports, Fitness & Athletics// diagnostic

Nobody noticed the payment failed until the season was over

In short

Silent arrears are almost never a collection failure. The decline was recorded on the day it happened; it just never appeared on a screen anyone looks at, because the register and the front desk hold no payment state. Join one month of collection attempts to attendance marks, count the sessions delivered to members in arrears, and the cause names itself.

Key takeaways

  • This is a visibility failure, not a collection failure. The decline was recorded; nobody was shown it.
  • Size it first: sessions delivered to members in arrears, for one month, joined on member id.
  • The register is the only screen guaranteed to be open weekly. Payment state has to reach it.
  • In arrears is a state with an entry date, not the absence of a payment. Define it before you report on it.
  • A queue with no named owner is a report. Name the person and measure days to first human contact.
  • Where dues run through an app store, the club may never see the decline at all — only a lapsed entitlement.

The payment failed in October and the club found out in March, when someone reconciled the term. Nothing was hidden: the gateway logged the decline within seconds, into a dashboard nobody opens between terms. Meanwhile the member trained twice a week, was marked present 38 times, and was greeted by name at the desk on every one of those evenings. The defect is not that the money failed to collect — it is that the 2 systems a club touches daily, the register and the front desk, hold no payment state at all.

That reframing changes what you build. A better retry schedule recovers a little more from the same invisible pool; putting arrears where staff already look changes when anyone finds out. Retry design is a separate decision, argued in designing the retry and recovery ladder for club dues.

The check: one month of collections joined to the register

Do not start with opinions about the dunning emails. Take one completed month, join money to attendance, and let the shape of the result pick the cause. It takes an afternoon and produces the number that makes the case for changing anything.

  1. Export every collection attempt for the month: member id, due date, attempt timestamp, result, decline reason, and whether a later attempt on the same instalment succeeded.
  2. Export every attendance mark for the same month: member id, session, date, mark. Registers and access logs both work; pick the one your coaches actually complete.
  3. Join on member id, never on name. Households share surnames, juniors are entered twice, and a name join quietly drops the cases you are hunting.
  4. For each member whose instalment never recovered, count attendance marks dated after the first failed attempt. That count is sessions delivered while in arrears.
  5. Total it two ways: sessions, and distinct members. Twelve members with 4 sessions each is a policy problem; 1 member with 48 is a data problem.
  6. For each of those members, record the days between the first failed attempt and the first human contact of any kind. If that field is empty for most rows, you have your answer and the rest of the diagnosis is detail.

Five ways a decline never reaches a person

CauseSignature in the joinConfirming evidenceOwner of the fix
Failure lives only in the gatewayArrears spread evenly across members and coachesNo arrears field anywhere in the club's own recordThe billing integration
Notice sent to a stale payer addressClustered in members who joined 2 or more years agoProvider shows delivered-but-never-opened, or hard bouncesWhoever owns member data quality
Retries still in flightShort gaps only — nothing older than the retry windowAttempts still scheduled against the instalmentBilling policy, named person
Register carries no payment stateMembers in arrears attend at the same rate as everyone elseThe coach's app has no money field, by designProduct decision, not integration
The queue has no ownerLong tails — the same members month after monthA report exists and goes to a shared inboxClub management
Read across from what the join showed

The first and fourth are the same defect at different layers, and together they account for most of what a first join turns up. A club can hold a perfectly accurate arrears state in its billing tool and still deliver 140 free sessions a term, because the arrears state and the human who greets the member have never been introduced.

The register is the only screen guaranteed to be open

Every week, in every club, 1 screen is definitely opened by a human who is definitely looking at the member: the register. Head-office dashboards are opened monthly at best. So the register is where a payment problem has to appear, and the only real design question is how much of it to show.

  • Show a state, not a balance. A coach needs to know there is an office matter, not what the household owes. A neutral marker beside the name does the whole job.
  • Route, do not confront. The marker's action is a prompt to ask the adult to see the office — never a conversation at the pitch edge, and never in front of a child.
  • Separate athlete from payer. The person in arrears is usually a parent; the person on the register is 13. Anything a child could read is a safeguarding problem before it is a billing one.
  • Put the same marker at check-in. The desk sees adults directly, which makes it the better place to have the conversation once, quietly.
  • Make the marker actionable. One tap that logs contact attempted, with a note and a timestamp, or the visibility produces no record and the queue never learns anything.

A club sees a member in arrears twice a week and never mentions it, because the only screen showing money is one nobody opens between terms.

In arrears is a state with a start date, not a missing payment

Half the confusion in this diagnosis is vocabulary. A declined attempt on Tuesday, with 2 retries still scheduled, is not the same thing as a member 40 days past due with no working instrument. If the system holds only paid and unpaid, both look identical and staff learn to ignore the flag — which is worse than not having one.

  1. Collected. The instalment succeeded on day 0. Nothing to see.
  2. Attempt failed, recovery in progress. Retries are scheduled — day 3 and day 7 in most ladders — and the member has been asked for nothing yet. Visible to billing, not to the register.
  3. In arrears. Recovery is exhausted, or the decline reason is one that will not self-resolve. Entry date stamped. This is the state that reaches the register.
  4. Contacted. A human spoke to the payer, logged with who and when, and the clock resets to an agreed date rather than to nothing.
  5. Suspended. Entitlement withdrawn under a written policy, and the 1 state that must be reversible within minutes when payment lands.

Two of those transitions carry the same trap as a mandate that silently died: nothing arrives to mark them, so the state never changes. The 4 ways a recurring authorisation stops working without telling anybody are separated in the autopay mandate has quietly stopped collecting, and a club that has not distinguished those from ordinary declines will keep classifying dead mandates as bad payers.

A queue with a name on it, worked daily

The end state of this diagnosis is not a dashboard. It is a queue, ordered by entry date, with a named person who works it and a measurable time to first contact. Everything else — the emails, the retries, the suspension policy — hangs off that.

  • One queue, ordered oldest first. Members appear on the day they enter the arrears state and leave when contacted or collected, not when someone hides the row.
  • A person, not a rota. The queue belongs to whoever runs the office; a shared inbox is where arrears go to age quietly.
  • A contact target in days, written down. Whatever the club can genuinely staff — 3 days, 7 days — because a number nobody agreed to is a number nobody misses.
  • Automation that drafts and reminds, never decides. Preparing the message, assembling the member's context and nudging the owner is ordinary AI agents and automation work; the call to a parent about money stays human.
  • A weekly exception report of sessions delivered in arrears, which is the same degrade-and-surface discipline that keeps operations systems useful when the connection drops.

What to fix first, given what the join showed

  1. No arrears field exists anywhere in the club's own record. Write the failure event into your system first. Nothing downstream — register markers, queues, reports — can be built on a state that is only held by the payment provider.
  2. The state exists and the register cannot see it. This is the highest-value fix in the list and it is usually a fortnight of work: a marker, a tap that logs contact, and one report.
  3. Everything is stale by days, nothing by months. Retries are still running and the vocabulary is missing. Define the 5 states above, then leave the ladder itself to the dunning design.
  4. Arrears cluster in long-standing members. Contact data has rotted. Fix the payer record and the notification path before touching anything else, because every other improvement sends messages to the same dead address.
  5. The same members appear every month. The queue has no owner. This is a management decision, not a build, and no software will substitute for it.
  6. It only happens on term fees, never on monthly dues. The failure is in how a term is billed and reconciled rather than in visibility — the interactions are worked through in one academy term, and every billing edge case inside it.

One confounder to rule out before any of this: a member who stopped being debited because somebody froze the membership at the desk and never recorded it looks exactly like silent arrears in every export. The distinction, and the freeze record that preserves it, is in freeze, pause, hold.

Surfacing payment state where the work happens is small, unglamorous product work, and it is the part of memberships, session packs and dues that pays for itself fastest inside our sports and fitness practice.

Frequently asked questions

Short answers to the follow-ups this page tends to raise.

Why do failed gym membership payments go unnoticed for months?

Because the failure is recorded somewhere nobody looks. The gateway logs the decline within seconds, but the register a coach completes and the screen at the front desk hold no payment state, so the 2 places a club meets its members every week cannot show it. Add notices sent to a payer address that stopped working 2 years ago and a member can train a whole term without anyone knowing.

How do I find out how many members are training without paying?

Join one month of collection attempts to attendance marks on member id. For every member whose instalment failed and never recovered, count the attendance marks dated after the failure. The total is sessions delivered in arrears, and the median days to first human contact tells you whether the problem is collection or visibility.

Should coaches be able to see that a member owes money?

They should see a state, not a balance. A neutral marker beside the name, whose only action is to ask the adult to see the office, gives the club a weekly touchpoint without putting a coach in a debt conversation. Never surface it in a way a junior athlete can read — the person in arrears is usually a parent, and the person on the register is a child.

How quickly should a club contact a member after a payment fails?

Not immediately — wait until scheduled retries are exhausted, then contact within a stated number of days. A decline on Tuesday with 2 retries pending is not arrears, and chasing it annoys members whose payment is about to succeed. What matters is writing down both the point at which recovery is considered exhausted and the target for first contact after it.

  • arrears
  • failed payments
  • visibility
  • club operations
// shipped work

The work behind this page

Builds from our portfolio that this page draws on.

Read next

Working on something in this space?

Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.

Start the conversation