All articles
Operator's Playbook

7 Sub-Request Mistakes That Kill Your Club Roster

The sub-request chaos that costs operators their best players, and the seven habits that fix it before your roster bleeds out.

By Trey Peirce

TL;DR. Sub-request management is the single biggest time sink for American Mahjong club operators, and the fastest way to lose your most reliable players. The root cause isn't cancellations themselves; it's the seven habits operators build around handling them. Fix these, and your Tuesday night stops feeling like air-traffic control.

You already know the drill. It's 2 PM on a Thursday. Linda just texted that she can't make tonight's game. You need exactly four at every table (three doesn't work, five doesn't work), so now you're thumbing through a group chat with 47 unread messages trying to figure out who's available, who already said no last week, and whether Donna even checks her phone before 5.

This is the operational tax that nobody warns you about when you start teaching mahjong out of your dining room. And it gets worse as you grow: more tables, more cancellations, more chains of texts that dead-end at 6:15 PM with an empty seat and three frustrated players staring at it.

The good news? Most of the pain is self-inflicted. Here are the seven sub-request mistakes that compound the problem, and what to do instead.

1. Running subs through the same group chat as everything else

This is where most operators start, and it's the mistake that breeds all the others.

Your main group chat is for announcements, schedule reminders, social chatter, and the occasional photo of someone's new tile set. The moment you start posting "Need a sub for Thursday, anyone available?" into that same thread, you've created a noise problem that gets worse every single week.

Here's what happens: the sub request gets buried under six replies about parking, two people asking what time, and someone's daughter's graduation photo. The people who would have said yes never saw it. The people who aren't available feel obligated to reply "sorry, can't!" which pushes the actual request even further up the scroll.

The fix: Maintain a separate sub list: a dedicated channel, a separate text thread, or (better) an actual list you can ping directly. The sub list is its own thing, with its own members, and its own protocol. Regular players who want to be on the sub list opt in. When a seat opens, you contact the sub list only. No cross-contamination.

2. Not having a sub list at all

Worse than a messy sub list is no sub list. If your entire substitute strategy is "text around and see who's free," you're doing reactive staffing for a game that requires exactly four people per table. That's a losing bet.

A phone screen overwhelmed with group chat notifications about mahjong substitutions

A sub list is simply a roster of players who can't commit to a weekly spot but want to play when there's an opening. The National Mah Jongg League has been selling cards since 1937, and the player base has surged in recent years. Smithsonian Magazine documented the boom in 2024, noting mahjong "popping up in clubs, hotels and parties" nationwide. A significant portion of these players can't commit to a fixed weekly schedule but would happily fill a seat with 24 hours' notice.

Your sub list doesn't need to be fancy. A note in your phone with ten names and phone numbers will outperform "let me think about who I know" every single time.

The fix: Build your sub list proactively. Every time a new student finishes your beginner course, ask: "Would you like to be on our sub list for Tuesday nights?" Every time someone inquires about your club but can't commit to a weekly spot, add them. Aim for a sub list that's at least 50% the size of your regular roster. If you run 16 seats, you want eight subs.

3. Treating all subs as equal priority

Not every sub is equally reliable, equally skilled, or equally available. Treating your sub list like a blast text ("first to reply wins") creates a race condition that rewards whoever happens to be looking at their phone, not who's the best fit for the table.

Veteran operators maintain a priority order. Maybe it's first-come-first-served based on how long someone's been on the sub list. Maybe it's skill-level matching (you don't want to seat a second-week student at your advanced table). Maybe it's geographic proximity, because the person who lives five minutes away is more likely to actually show up on short notice than the one who's a 45-minute drive.

Whatever your system, have one. And communicate it so your subs know where they stand.

The fix: Rank your sub list. Contact subs in order, one at a time, with a clear deadline to respond. "Hi Sarah, seat open tonight at 7. Can you confirm by 4 PM?" If Sarah doesn't respond by 4, move to the next person. No mass texts, no "who wants it?" auctions.

4. No cancellation deadline

This is the mistake that creates the cascade. If you don't set (and enforce) a cancellation deadline, you're guaranteeing that you'll be scrambling for subs with less than three hours' notice on a regular basis.

Most operators who complain about sub-request chaos don't have a cancellation policy. Or they have one and don't enforce it. The result is the same: players cancel whenever it occurs to them, which is usually about two hours before game time, and you're left playing phone tag while everyone else is already setting up tiles.

The fix: Set a cancellation deadline and put it in writing. "Cancel by noon on game day" is the most common standard among well-run NMJL clubs, and it works because it gives you a full afternoon to fill the seat. Put it in your welcome packet, your group description, wherever players see the rules. And when someone no-shows without canceling, address it, gently but directly. "Hey, we missed you tonight. Just a reminder that we need cancellations by noon so we can fill the seat. No worries this time!"

The Bam Good Time blog recommends the same approach: set a deadline, automate the cascade when someone cancels, and let the system handle the chain of texts. They're right about the principle, even if the implementation varies.

5. Filling the seat yourself instead of building a system

You're the operator. You run the club. And when a seat needs filling, you take personal responsibility for making 14 phone calls until someone says yes. This is the habit that burns operators out faster than anything else in the job.

An organized mahjong table with neatly arranged tiles and racks ready for play

The reason you're exhausted isn't the teaching, the scheduling, or the dues collection. It's the sub requests. It's the part of the job that's purely reactive, emotionally draining (because every "no" feels personal when you're the one asking), and impossible to plan for. It hits at random, it's always urgent, and it always falls on you.

The fix: Delegate the cascade, or automate it. Some operators designate a "sub coordinator," a trusted player who manages the sub list and makes the calls. Others set up a dedicated text thread where the canceling player is responsible for finding their own replacement from the approved sub list. Both work better than the operator doing it alone every single time.

The best version is software that automates the entire chain: player cancels, next sub on the list gets pinged, they confirm or decline, and the system moves to the next person automatically. That's what platforms like Mahjician are built to handle. The cascade runs itself while you set up tables.

6. Not tracking who cancels and who subs

If you're not keeping records, you're flying blind. And you're probably making decisions based on feelings rather than patterns.

Which players cancel most often? Which subs are the most reliable? Is there a pattern? Does your Monday group have a 30% cancellation rate while Tuesday runs at 5%? Are you over-capacity on some nights and struggling to fill tables on others?

You can't answer any of these questions without data. And without answers, you can't make structural changes that actually reduce the chaos, like moving your least reliable players to a more casual format, or combining two under-attended nights into one full one.

The fix: Track it. A simple spreadsheet works: date, who canceled, who subbed in, whether the seat was filled. After a month, the patterns will be obvious. After three months, you'll have enough data to restructure your schedule around reality rather than hope.

Most operators are surprised by what the data shows. The player you thought was unreliable actually has a 90% attendance rate. She just happens to cancel on the weeks you remember. The sub you thought was flaky has filled 12 seats in the last 8 weeks. Data replaces narratives.

7. Punishing cancellations instead of designing around them

Here's the uncomfortable truth: cancellations are normal. In any group of 16-32 adults with jobs, families, and health concerns, you should expect a 10-20% cancellation rate on any given session. Pretending otherwise, or treating every cancellation as a personal failing, is how you lose your best players. As one advice columnist put it to a frustrated organizer: when your group is large enough, guidelines aren't optional. They're necessary. But guidelines should manage the process, not punish the people.

Operators who crack down too hard on cancellations ("three cancellations and you lose your seat") often discover that they're not reducing cancellations. They're reducing honesty. Players stop canceling in advance and start no-showing instead, because at least a no-show doesn't get logged as a "strike." The result is worse: you don't even get the courtesy of a noon text, because the player has learned that telling you is more punishing than disappearing.

The better frame: cancellations aren't a behavior problem to fix. They're a structural reality to design around.

The fix: Build your roster and sub list assuming a 15% cancellation rate. If you have 16 seats, roster 18-19 players and maintain a waitlist. Over-invite strategically, and let your sub list absorb the variance. The clubs that never scramble for subs aren't the ones with the strictest attendance policies. They're the ones with the deepest benches.

The system that makes sub requests invisible

The operators who have this figured out share three things in common:

  1. A separate, ranked sub list they maintain proactively
  2. A cancellation deadline that's written down and gently enforced
  3. A cascade system (automated or delegated) that fills seats without the operator touching their phone

When these three pieces are in place, sub requests stop being a crisis and start being a background process. The seat fills itself. The operator focuses on the actual game.

If that sounds like a fantasy, it's because the tools most operators use (group texts, spreadsheets, and their own memory) weren't built for this job. They were built for casual coordination among friends, and they break the moment your club crosses about 12 members.

That's exactly why we built Mahjician. Sub seats fill in minutes instead of dying in a group text. But whether you use software or a well-organized spreadsheet, the principles are the same: separate list, clear deadline, automated cascade.

If your Thursday afternoons currently involve 14 phone calls and a prayer, book 30 minutes with us and we'll show you what it looks like when the seat fills itself.

Running a club?

See Mahjician on a real league night.

Book a 20-minute walkthrough. We'll show you how directors and players actually use it on a typical Tuesday.

Book a Demo