Case studies/Fitness/ABC Financial

How We Took 30 Hours a Week of ABC Billing Work Off a Gym Franchise Group’s Team, and Got Their Delinquency List Worked Every Day Instead of Once a Week.

Here’s how we built it 👇

In short
  • Before: One person on the team did it all by hand in ABC, clicking through accounts one at a time. There was too much to do every day, so the full list was worked about once a week, while it changed every day.
  • Now: A robot works every account on the list every day: it waives the fees, re-drafts the bank payments worth retrying and leaves the team a handful of accounts.
  • What they have now: A record of every member, every day, so the group can see how delinquency changes over time and has the data for targeted outreach that gives each member the best chance to start paying again.

The Challenge: A Growing Gym Network With a Billing Process That Couldn’t Keep Up

Our client is a US gym franchise group running clubs across several states, with new locations opening every few months. Like a large share of multi-location fitness operators, they bill their memberships through ABC Financial.

When a member’s payment fails, their account lands on ABC’s Daily Delinquency report. On the day this project was scoped, that report listed 2,782 delinquent accounts across the group, and 1,288 of them - nearly half - had failed for insufficient funds.

Working through those accounts was entirely manual. A part-time team member pulled the report, opened eligible member records one at a time, waived late and service fees, checked payment details and forced another draft. Working through the list about once a week, with extra attention on the busiest clubs, took around 30 hours a week by the group’s own estimate.

The list, however, changes every day. Between weekly passes, new failed payments and additional fees could leave members further behind.

The goal was to recover membership dues and keep members paying. For someone whose payment failed because of insufficient funds, added fees increased the amount needed for the next draft, potentially making another failure more likely. Waiving those fees and retrying eligible payments after ABC’s own attempts had ended gave members another opportunity to catch up before reaching collections. The group already followed that approach; the challenge was applying it consistently across a growing network.

There was also a gap in how results were tracked. ABC’s Daily Delinquency report showed a snapshot of the current list, rather than a history of each member’s progress and the actions taken. The group needed a reliable way to answer two questions: when a member falls behind, do they start paying again, and do they stay current?

The whole list, worked by the robot every dayPasses through ABC's delinquency list in one week
Before
1 pass a week
After
every day, automatic

The list changes every day. Now every day's version is worked.

What We Built

We built a RPA robot that works ABC’s delinquency list every day, opening every account, clearing the fees, retrying the bank payments worth retrying and handing the team a short list of the few accounts that genuinely need a person.

The robot works through ABC’s own screens the same way a person on the team would: logging in, downloading the report, opening each account and clicking through it. It runs on a private server set up for this job.

The team’s job is now to read one daily email and handle the handful of accounts on its Needs You list. The robot does the rest.

Built around how ABC already retries payments

The first plan was simple: find a failed payment, waive the fees, force another draft. Before we built it, the person who oversees delinquency on the client’s side checked with ABC and found that ABC was already retrying failed payments behind the scenes. Cards are retried on Mondays, Wednesdays and Fridays up to six times, and ABC keeps trying them even after that. Bank payments get the original draft plus two retries, and then ABC stops for good.

Forcing a new draft every time a payment failed would have collided with ABC’s own retries, so we built the logic to work alongside them:

  • It tracks every account from the day it first appears, using the agreement number that stays the same for the whole life of a membership
  • It waives the applicable late and service fees on every eligible account, every day
  • It leaves cards to ABC’s own retry cycle
  • It steps in on bank payments once ABC has stopped, re-drafting the account every time ABC hands it back

That last point produced one of the most useful findings of the project. Our own process documentation assumed ABC handed an account back about 30 days after each attempt. When we measured it across 294 repeat re-drafts, the real gap was 2 to 13 days, most often 6 or 7, which means a failed bank payment gets a new chance to clear roughly every week instead of once a month.

A failed bank payment now gets a new chance about every weekOver one month, once ABC has stopped retrying
What we assumed
about once a month
What we measured
about every week
day 0day 30

Measured across 294 repeat re-drafts: 2 to 13 days apart, most often 6 or 7.

Clear rules for the accounts a robot shouldn’t touch

Not every failed payment should be retried. The robot only re-drafts payments that failed for insufficient or uncollected funds. Closed accounts, stopped payments, revoked authorisations and invalid details go to a person instead, because no retry will fix them.

Members whose membership is frozen or pending cancellation still have their fees waived, but the robot won’t retry their payment while that status applies. When the membership goes active again, the robot picks it back up by itself. Across 43 days of reports it never once re-drafted a member in either status, and the members who were re-drafted after leaving those statuses were picked up without anyone switching anything on.

Members whose billing details no longer work at all are set aside on their own list, ready for the next phase of the project.

Every action checked, every day recorded

  • After each fee waiver, the robot rechecks the account screen to confirm it went through
  • It reads the fees from the account screens themselves rather than from ABC’s report, which leaves some fees out
  • When something on screen doesn’t match what it expects, it stops and flags the account instead of guessing
  • Every day’s list is stored in a database and tracked by agreement number, so the group finally has the history ABC doesn’t keep
  • When ABC’s system refuses a login or a download, the robot works from the copy of the report it has already saved rather than losing the day

That history is what makes the next layer of reporting possible: recovery rates, how long members stay delinquent, and whether they stay current 30, 60 and 90 days after coming off the list. Those numbers need a couple of months of data before they mean anything, and the robot has been collecting it from its first run.

Data the group never had before

ABC’s delinquency report only ever shows today, so once a member drops off the list there is no record of what happened to them. The robot saves every day’s list in its own database and follows each member by agreement number, which gives the group, for the first time, a full history of every delinquent account: when it first appeared, every fee waived, every payment retried and what happened next.

What the group can see nowDays on record for each delinquent member
ABC's report
today only
The robot's database
every day since the first run

What that opens up

  • Who starts paying again, and after how many retries
  • How long members stay delinquent
  • Whether they are still paying 30, 60 and 90 days later
  • How clubs compare with each other
  • Members whose billing details no longer work, with phone numbers and email addresses, ready for outreach

The numbers need a couple of months of data. It has been collected since the first run.

That data has already changed how the process runs. It’s how we found that ABC hands a failed bank payment back every 6 or 7 days rather than every 30, and it’s how every rule the client asked for was checked against real results before anyone relied on it, rather than assumed.

It’s also what turns billing recovery into something the group can finally measure. With a couple of months of history behind it, the same data will show:

  • How many delinquent members start paying again, and how many retries it takes to get them there
  • How long members stay delinquent, and whether they’re still paying 30, 60 and 90 days after coming off the list
  • The dollar value recovered from members who start paying again, which the group had no way to put a number on before
  • How clubs compare with each other, because every agreement number carries the club it belongs to

The robot has been collecting this from its very first run, so none of it has to be rebuilt later. The same data also sets up the next phase of the project, because members whose billing details no longer work are already on their own list with phone numbers and email addresses, ready for outreach asking them to update their details.

A daily report built for the person who owns the process

Every day, the group’s operations leads receive an email whose subject line already says what happened, for example “$2,995.00 waived, 2 need a person.” The attached workbook has four sheets:

  • Today: the run’s own figures and club coverage, so the team can confirm the robot got through ABC’s whole list before trusting anything else
  • Needs You: the few accounts a person has to handle, with names, phone numbers and a column to record what was done
  • All Members: every account, with what the robot saw on screen and what it did
  • Standing: every member the robot is waiting on, grouped by whether to contact them or leave them alone

The person who owns the process said he really liked the streamlined view, and he has taken ownership of the Needs You list going forward.

What lands in the inbox every morningThe team's whole job now: read this and handle the Needs You sheet
Inbox
The robotto the operations leads

$2,995.00 waived, 2 need a person

Daily workbook, 4 sheets
  • Todaythe run's figures and club coverage
  • Needs Youthe few accounts for a person, with phone numbers
  • All Membersevery account, what the robot saw and did
  • Standingmembers it is waiting on: contact or leave alone

Before and After

What happens? Before After
Staff time Around 30 hours a week, by the group’s own estimate Reading one daily email and handling a handful of accounts
Working the delinquency list About once a week, by hand, with extra attention on the busiest clubs Every day, every account on the list
Late and service fees Waived one member record at a time Waived automatically, then confirmed on screen
Bank payments ABC has stopped retrying Forced again by hand during the weekly pass Re-drafted each time ABC hands the account back, most often every 6 or 7 days
History of each account None, ABC’s report only shows today Every day stored, tracked by agreement number
Accounts that need a person All of them A handful a day

What It Looks Like in Practice

The first live runs took on the full backlog. The very first one ran for 11 hours and 8 minutes, and across those first runs the robot worked through about 2,000 accounts without a single failure and cleared roughly $42,000 in fees that had built up.

For the first few weeks, edge cases were sent to a person on purpose, so the client could see each one and decide how it should be handled. At its peak, the Needs You list held 79 accounts. As each decision was built into the rules, it fell to 14, then 2, and within a month it was down to 1.

How the robot learned the client's rulesIn the first weeks, every unusual account went to a person on purpose. Each decision became a rule, so fewer needed a person.
79First weeks
14Rules added
2More rules
1Within a month

Now: a handful a day, often just 1.

By late October, a day looks like this. ABC’s list held 2,945 members. The robot opened and read 3,027 accounts - the whole list plus 82 members it was still following up - waived $2,885.50 in fees across 231 accounts, re-drafted 17 bank payments worth $1,502.75 and confirmed every waiver on screen afterwards. One account needed a person.

3,027 accounts checked. 1 needed a person.One robot day, late October
  1. Accounts opened and checkedthe whole list plus 82 it was still following3,027
  2. Fees waived$2,885.50231
  3. Bank payments re-drafted$1,502.7517
  4. Needed a person1

The team handled 1. The robot does the rest, and confirms every waiver on screen.

The same day shows why the robot reads the screens rather than the report. ABC’s own report showed $1,423.73 in fees, while the account screens showed $2,885.50, and that’s the figure the robot acted on.

ABC's report showed less than half the feesThe same day, late October
ABC's report$1,423.73
Account screens$2,885.50

The robot reads every account screen, so it acts on the full amount.

The Results

Metric Result
How often the list is worked Every day, up from about once a week
Manual work taken off the team Around 30 hours a week, by the group’s own estimate
First live runs About 2,000 accounts without a failure, roughly $42,000 in built-up fees cleared
Accounts opened and read in one day 3,027
Fees cleared per day $2,885.50 to $4,158.60 on the days reported, before they could pile up on members
Accounts needing a person From 79 at the peak of tuning to a handful a day
Build delivered More than two weeks ahead of the agreed deadline

What Their Team Had to Say

Before working with AI Formula, we had one person manually reviewing delinquent accounts, waiving fees, and reprocessing payments. We could get through the full list about once a week, but it changed every day. We wanted to give members a better opportunity to catch up on their dues before added fees pushed them further behind and they eventually reached collections.

Ged & Gabby helped us turn that into a daily automated process across our clubs, working alongside ABC’s existing billing cycles. It’s eliminated the manual workload and made the process more consistent as we continue to grow. We also now have the tracking needed to assess whether members get current and continue paying.

We’ve been pleased enough with the results that we decided to invest further and expand the original scope to include outreach to members whose billing issues require more than another payment attempt. It’s a natural next step toward a more complete, centralized billing recovery process that can grow with our business without requiring a large team to manage it.

What I’ve appreciated about working with the team is their willingness to understand the details, work through exceptions, and make adjustments based on our feedback. They’ve been responsive, collaborative, and focused on making the process work for our business. They’ve been great partners, and I’d happily recommend them.

Jim Farrar, Director of Business Operations

Who This Works For

If you run a group of gyms on ABC Financial, you probably know this list already. Someone on your team, whether it’s a GM, a regional manager or a back-office person, spends hours in ABC waiving late fees and pushing payments through again, one member at a time, and by the time they reach the bottom of the list the top of it has changed.

The groups this works best for aren’t short on process. They know exactly what needs doing to each account. The problem is that opening one account to waive a fee is easy, and opening 3,000 of them every day is a different conversation.

The same approach works for any membership business where failed payments, renewals or follow-ups pile up inside software that was never built to be automated and has no API access, from clinics and studios to franchise networks and subscription services.

Want Something Like This?

If your team is still working the delinquency list by hand, or you can’t tell how many delinquent members actually come back, a short call is usually enough to see what’s possible. Book a free intro call below and see if you qualify.

  • 30 minutes, free
  • We look at how your team works the list today
  • You leave with what to automate first
Free intro call

Let's find out what your systems could be doing for you

30 minutes. No commitment. We reply within one business day.

It comes from our booking provider and stores data on your device, so it opens when you ask. Cookie policy.

We use your details to book and prepare your call. More in our privacy policy.

Calendar not showing? Open it in a new tab.

Book a free intro call