Back to Blog
STRATEGY
11 min read
November 10, 2025

The Solo Founder's Guide to $100K MRR in ML Consulting

A first-principles playbook for going from $0 to $100K monthly recurring revenue as a solo ML consultant — covering client acquisition, pricing evolution, scope management, and when to finally hire.

Revenue is a lagging indicator of trust. Build trust first, and revenue becomes inevitable.

The Starting Line Nobody Talks About

I started Opulion with zero clients, zero recurring revenue, and a LinkedIn profile that screamed "I need work." That was 14 months ago. Today we're past $100K MRR with a team of four. This article is the playbook I wish someone had handed me on day one.

Most "how I built my consulting business" posts skip the ugly parts. They jump from "I had an idea" to "I had $50K months" like there's a teleporter in between. There isn't. The path from $0 to $100K MRR in ML consulting is paved with awkward sales calls, underpriced contracts, and scope creep that eats your weekends.

Let me walk you through every phase, including the mistakes.

Phase 1: The $0 to $3K MRR Grind (Months 1-4)

Finding the First Client

Your first client won't come from a content funnel. They won't come from a website. They'll come from your network — or more precisely, from someone in your network who has a problem you can solve this week.

I got my first client by doing something that doesn't scale: I messaged 47 people I'd worked with over the previous five years. Not a generic "I'm available for consulting" blast. Specific messages like: "Hey, I noticed your company is expanding into predictive maintenance. I just finished a project doing exactly that for a manufacturing client. Want to grab 30 minutes?"

Eleven responded. Three had budget. One signed a contract within two weeks at $8K for a proof-of-concept.

The lesson: your first clients are people who already trust your competence. Your job is to make them aware you're available and to connect your skills to their current pain.

Pricing at This Stage

I charged $150/hour for my first engagement. That was too low. I knew it was too low. But I needed the reference client more than I needed the optimal rate.

Here's the mental model I used: your first three clients are marketing expenses, not profit centers. You're buying testimonials, case studies, and proof points. Price accordingly — low enough to close quickly, high enough that the client takes it seriously.

The floor for ML consulting in 2025 should be around $175/hour. Anything below that and clients subconsciously categorize you as "cheap help" rather than "strategic partner."

The Service You Actually Sell

At this stage, you don't sell "ML consulting." Nobody wakes up thinking "I need ML consulting." You sell outcomes:

  • "I'll reduce your false positive rate by 40% in 6 weeks"
  • "I'll build a demand forecasting model that saves you $200K/year in inventory costs"
  • "I'll deploy a defect detection system on your production line in 90 days"

The more specific the outcome, the easier the sale. The vaguer you are, the more you sound like every other consultant on LinkedIn.

Phase 2: $3K to $10K MRR — Building the Machine (Months 4-8)

The Referral Engine

After three successful projects, something shifts. Clients start referring you without being asked. But you can accelerate this.

At the end of every project, I send a "close-out" document. It summarizes what we built, the measurable outcomes, and — critically — it includes a one-paragraph description of our ideal next client. Something like: "We work best with mid-market manufacturers who have existing sensor data but no ML pipeline. If you know someone fitting that description, we'd appreciate an introduction."

This single practice generated 60% of my pipeline for months 5 through 10.

Moving from Hourly to Project-Based

Around $5K MRR, I made the switch from hourly billing to project-based pricing. This is the single most important pricing decision you'll make as a solo consultant.

Hourly billing has a hard ceiling: there are only so many hours in a week. Project-based pricing decouples your revenue from your time. A project that takes you 40 hours but delivers $500K in value to the client? That's worth $50K-$75K, not $6K at $150/hour.

The transition framework I used:

Step 1: Estimate the hours honestly (e.g., 120 hours)
Step 2: Calculate your hourly floor (e.g., $200/hour = $24,000)
Step 3: Estimate the client's ROI (e.g., $400K/year in savings)
Step 4: Price at 10-20% of first-year ROI (e.g., $40K-$80K)
Step 5: If Step 4 > Step 2, use Step 4. Otherwise, use Step 2.

This framework consistently moved my effective rate from $150/hour to $350-$500/hour without ever having the "hourly rate" conversation.

The Retainer Play

Around month 7, I offered my best client a retainer: $5K/month for 20 hours of ongoing support, model monitoring, and quarterly retraining. They said yes immediately because they were already spending more than that on ad-hoc requests.

Retainers are the foundation of MRR in consulting. They're also the foundation of your sanity. Instead of constantly hunting for the next project, you have a base of predictable revenue that covers your operating costs.

My rule of thumb: try to convert every project client into a retainer client once the initial build is complete. The pitch is simple — "Your model will degrade over time. Data distributions shift. I can keep it healthy for a fraction of what it cost to build."

About 40% of project clients convert to retainers. That's enough to build a real business.

Phase 3: $10K to $30K MRR — The Solo Ceiling (Months 8-11)

The Capacity Crisis

At $10K MRR, you hit a wall. You're fully utilized. Every hour is spoken for. New leads come in and you either turn them away or push timelines out by months.

This is the most dangerous phase because it feels like success. Revenue is growing. Clients are happy. You're making more money than you ever made as an employee. But you're also one illness away from missing every deadline, and your pipeline is drying up because you have no time to nurture new relationships.

I made the mistake of trying to power through this phase for two months. I worked 70-hour weeks. My work quality dropped. A client noticed. That was my wake-up call.

Scope Management Becomes Survival

At this stage, scope management isn't a project management best practice — it's a survival skill. Every "quick addition" and "small change" is stealing hours from another client.

My scope management framework:

  1. Written scope documents for everything. Even a $2K task gets a one-page scope doc with deliverables, timeline, and explicit exclusions.

  2. The "Yes, and" technique. When a client asks for something out of scope, never say no. Say "Yes, we can do that. It'll add two weeks and $8K to the project. Want me to write up a change order?" This frames you as helpful while protecting your boundaries.

  3. Weekly scope audits. Every Friday, I review each active project against its original scope doc. If I'm doing work that isn't in the doc, I either stop or write a change order.

  4. Buffer time. I schedule at 70% capacity, leaving 30% for scope changes, bugs, and the inevitable "can you jump on a quick call?" requests.

Raising Prices

Between months 8 and 11, I raised prices three times. Each time, I was terrified. Each time, nothing bad happened.

The first raise was the hardest: from $200/hour (effective rate) to $275/hour. I did it by simply quoting higher on new projects. No existing client saw a change. Nobody pushed back.

The second raise was to $350/hour. One prospect declined. I didn't lose sleep over it.

The third raise was to $450/hour for new specialized work (edge ML deployment, real-time inference systems). At this rate, I was pricing out some clients — which was the point. I needed to make room for higher-value work.

The pricing principle: raise prices until you lose 20% of prospects. If everyone says yes, you're too cheap.

Phase 4: $30K to $100K MRR — Hiring and Scaling (Months 11-14)

When to Hire

You should hire when three conditions are met simultaneously:

  1. You've turned away more than $20K in revenue in the last 60 days. This proves demand exists beyond your capacity.
  2. You have at least three months of runway. New hires don't generate revenue on day one. You need buffer.
  3. You have a repeatable service offering. If every project is a snowflake, you can't delegate. You need at least one service that follows a predictable pattern.

I met all three conditions around month 10. I made my first hire — a senior ML engineer on contract — at month 11.

Who to Hire First

Your first hire should not be another you. It should be someone who can handle the 60% of your work that follows established patterns, freeing you to focus on the 40% that requires your unique expertise and client relationships.

For me, that meant hiring someone who could handle model training, data pipeline engineering, and standard deployment tasks. I kept the architecture decisions, client communication, and novel research work.

The hiring sequence that worked:

Hire 1: Senior ML Engineer (contract, 30hr/week) — handles execution
Hire 2: Junior ML Engineer (contract, 20hr/week) — handles data work
Hire 3: Part-time project coordinator — handles scheduling and client comms
Hire 4: Senior ML Engineer (full-time) — handles independent client work

The Delegation Framework

Delegation in consulting is harder than in product companies because every client relationship is personal. Here's how I handled the transition:

  1. Shadow phase (2 weeks). New hire joins my client calls and reviews my work. No independent client interaction yet.
  2. Supported phase (4 weeks). New hire does the technical work. I review everything before it goes to the client. I'm still the face of the relationship.
  3. Independent phase (ongoing). New hire handles technical work and routine client communication. I join quarterly reviews and handle escalations.

The key insight: clients don't care who does the work as long as the quality stays high and they have a consistent point of contact. Most of my clients didn't even notice the transition.

Revenue Math at Scale

Here's how the numbers work at $100K MRR:

Revenue Breakdown:
  Retainer clients (6): $42,000/month
  Active projects (3-4): $45,000-$55,000/month
  Ad-hoc consulting: $5,000-$8,000/month
  Total: ~$95,000-$105,000/month

Cost Structure:
  ML Engineer 1 (senior, contract): $15,000/month
  ML Engineer 2 (junior, contract): $6,000/month
  Project coordinator (part-time): $3,000/month
  ML Engineer 3 (senior, FT): $12,000/month
  Tools & infrastructure: $2,000/month
  Insurance & legal: $1,500/month
  Total costs: ~$39,500/month

Owner's income: ~$55,000-$65,000/month

That's not "I have a job" money. That's "I'm building equity" money. The business has value independent of my hourly contribution.

The Uncomfortable Truths

Truth 1: Sales Never Stops

Even at $100K MRR, I spend 15-20% of my time on business development. The pipeline must always be flowing. The moment you stop selling, you're 90 days from a revenue cliff.

Truth 2: Specialization Beats Generalization

I tried being a "full-stack ML consultant" for the first six months. My close rate was about 15%. When I narrowed to "production ML for industrial applications," my close rate jumped to 40%. Clients want specialists, not generalists.

Truth 3: Your Network Is Your Moat

Every competitor can match your technical skills. Nobody can replicate your relationships. I spend two hours every week on relationship maintenance — coffee chats, introductions, knowledge sharing — with no immediate commercial intent. This is the highest-ROI activity in my calendar.

Truth 4: Content Is a Long Game

I published technical articles for nine months before a single one generated a lead. Then three came in the same week. Content marketing in B2B consulting is a compounding asset: it does nothing until it does everything. But you have to survive long enough for it to compound.

Truth 5: The Market Rewards Speed

My fastest-growing revenue periods coincided with my fastest delivery times. Clients talk to each other. "Opulion shipped our POC in three weeks" is a better marketing campaign than any blog post.

The Playbook, Distilled

If I were starting over tomorrow, here's the 14-month plan:

Months 1-2: Reach out to 50 people in your network. Close one project at $8K-$15K. Over-deliver.

Months 3-4: Close two more projects through referrals. Start publishing one technical article per month. Raise rates by 25%.

Months 5-7: Convert at least one project client to a retainer. Build a scope management system. Raise rates again.

Months 8-10: Hit the solo ceiling. Resist the urge to work 80-hour weeks. Start interviewing potential first hires.

Months 11-12: Make your first hire. Delegate execution work. Focus on architecture, sales, and client relationships.

Months 13-14: Second hire. Two to three concurrent active projects. Six retainer clients. $100K MRR.

The path exists. It's not glamorous. There's no viral moment. It's 14 months of doing good work for people who pay you, then doing it again, then doing it again. The compounding is in the relationships, the reputation, and the operational systems you build along the way.

And if you're reading this thinking "this sounds like a lot of work" — it is. But it's a fraction of the work you'd spend trying to raise venture capital for an ML startup, and you keep 100% of the equity.

Start with one client. Over-deliver. Let the machine build itself.

Discussion (2)

VE
vp_eng_energyVP Engineering · Energy3 weeks ago

Hired Opulion for a predictive maintenance project after reading this blog. The difference vs our previous vendor (large consultancy) was night and day. Previous vendor: 4 months, $180K, delivered a Jupyter notebook that required a PhD to maintain. Opulion: 8 weeks, $8K sprint to prove it works, now running in production across our fleet. The 'prove it first, then scale' model should be standard.

M
Mostafa DhouibAuthor3 weeks ago

Appreciate the kind words. The 'prove it first' model is just common sense — nobody should spend $180K before seeing evidence that the approach works on their actual data. The trial sprint model exists because it's better for both sides: you de-risk the investment, and we get to prove ourselves on a real problem instead of in a pitch deck. Win-win.

M
Mostafa DhouibFounder & ML Engineer at Opulion

Facing a similar challenge?

Tell us about your problem. We'll respond with an honest technical assessment within 24 hours.