1. Measure (30 minutes)
- Export the last 8–12 weeks of bookings from your booking software.
- Build a grid: days of the week across, hours down.
- Shade each cell by how full it is, and circle the 3 emptiest recurring blocks.
- Note the price you currently charge in each circled block.
2. Match an audience to each empty block
- Weekday mornings: retirees, remote workers, parents after school drop-off.
- Midday: nearby employers (lunch leagues), homeschool groups, seniors' programs.
- Mid-afternoon: youth after-school clinics, school and travel-team practice.
- Late night: hospitality, healthcare and other shift workers.
- Write one target audience next to each circled block.
3. Design one program per block
- Pick a format: cohort, league, clinic, ladder or social.
- Set a fixed day and time, a start and end date (e.g. 6–8 weeks), and a capacity limit.
- Band it by skill level so players are evenly matched.
- Name a host or captain for each session.
- Add one extra that makes it feel like a program, such as coffee, a playlist or a post-session social.
4. Fence the price
- Time window: valid only in the off-peak block.
- Member type: cohort-only or a daytime tier.
- Commitment: sold as a package, not per hour.
- Confirm that prime-time players can't use the offer.
5. Fill it
- Message current members who already play at nearby times.
- Post it at the front desk and on your booking app's event page.
- For midday, email one HR or wellness contact at 3 nearby employers.
- For mornings, reach out to local senior centers, homeschool co-ops and parent groups.
- Set a go/no-go minimum signup number and date.
6. Review every month
- Re-run the daypart grid.
- Keep the programs that filled. Change the time, audience or format of any that didn't.
- Track revenue per available court-hour next to utilization.
- Choose next month's block to program.
Court utilization = booked court-hours ÷ available court-hours. Work it out by day and hour, not as one blended number.
