I need to share a hard lesson I learned this year—maybe it’ll help someone avoid the same mistake.
What Happened
I run a small bookkeeping practice serving 12 clients. My two largest clients each paid $2,500/month, totaling $5,000 out of my $10,000 monthly revenue. That’s 50% from just two clients. They’d been with me for 2+ years, payments were always on time, and honestly, I felt pretty secure.
Then within 90 days:
- Client A (a SaaS startup) ran out of funding and shut down operations. They gave me 30 days notice.
- Client B was acquired by a larger company that brought in their own in-house bookkeeping team. They gave me 60 days notice.
Suddenly my revenue dropped from $10,000/month to $5,000/month. I couldn’t cover my expenses—rent, software subscriptions, healthcare, basic living costs. I panicked and scrambled to find new clients, but quality clients take 3-6 months to close, not 3 weeks.
The Lesson I Learned Too Late
I should have been monitoring revenue concentration risk all along. When 1-2 clients provide 33%+ of your revenue, losing them threatens your survival. I knew this intellectually, but I never tracked it systematically.
My Question for This Community
How do you track client concentration risk in Beancount?
Specifically, I’m trying to figure out:
-
Revenue tracking by client: How do you tag/categorize income by individual client so you can see the breakdown?
-
Percentage calculations: What queries do you run to calculate “Client X = Y% of total revenue”?
-
Alert thresholds: At what concentration level do you start worrying? 25%? 33%? 50%?
-
Survival metrics: How do you calculate “If my top client leaves tomorrow, how many months can I survive on savings?”
-
Scenario modeling: Can Beancount help model worst-case scenarios like “What if my top 2 clients leave simultaneously?”
What I’m Building Now
I’m rebuilding my practice with a rule: No single client can exceed 20% of revenue. If a client wants to grow beyond that, I’ll either need to grow my total client base first, or I’ll refer the extra work to a colleague.
I wish I’d been tracking this from day one. The warning signs were there—I just didn’t have a dashboard to see them.
Has anyone else experienced revenue concentration risk? How do you monitor it in your Beancount workflow?
Looking forward to learning from this community’s experience.