← Back to blog

Customer Concentration at a Staffing Firm: Are the Top Five Clients Also the Lowest Margin?

June 27, 2026

The problem: Concentration is watched as a risk number, a percentage of revenue, while nobody checks whether the biggest clients are also the thinnest ones to serve.

The solution: Rank clients by gross profit dollars and by margin rate rather than by billings, so a rate concession made years ago stops hiding inside a client that looks important.

The math

If an $8M staffing firm's top five clients bill $3.4M at 17 points of gross margin while the house runs at 26, that is roughly $300k of gross profit a year separating the biggest accounts from what the same volume would earn elsewhere.

Every staffing owner knows their concentration number. The top five clients are 40 percent of revenue, or 55, or whatever it is this year, and the number gets watched because everyone knows what happens when a big one leaves. The banker asks about it. The broker asks about it. It gets treated as the whole conversation about the top of the client list.

It is the wrong question, or at least the second question. Concentration tells you what you would lose if a client walked. It says nothing about whether you would miss the margin. Those are different facts, and in a lot of firms this size the uncomfortable one is that the biggest accounts are the least profitable ones to serve, and have been for years.

How the rate got where it is

Nobody sets out to trade margin for volume. It happens one reasonable decision at a time.

A client goes from twelve placements a year to sixty, and asks for a volume rate. That is fair, and you give it. Two years later they consolidate vendors and run a rate exercise, and holding the account costs you another point and a half. Then they add a requirement: a dedicated recruiter on site two days a week, or a weekly report, or a compliance process that takes your coordinator four hours a month. That does not touch the rate at all, so it never registers as a concession, but it is one.

Meanwhile your own costs moved. Wages moved. Workers' compensation moved. The burden rate you priced against three years ago is not the burden rate today. The bill rate was negotiated against a cost that no longer exists, and nothing in the business is set up to notice, because the account is large and current and nobody wants to open it.

Why the report you have cannot show it

Most staffing firms at this size can produce gross margin by client, and many owners will tell you they look at it. The trouble is what that number contains and what it leaves out.

It contains pay rate against bill rate, and usually the statutory burden. It typically leaves out:

  • Recruiter hours spent per placement, which vary enormously by client and requisition type.
  • The time-to-fill pressure a client creates, which is why one account eats a recruiter's week and another fills itself.
  • Redeployment. A client whose contractors finish and go straight onto another assignment is worth far more than one whose people end up on the bench.
  • Fall-offs and replacements, which cost a full recruiting cycle and get absorbed into overhead.
  • Back office load: the client with a custom invoice format, a portal that has to be keyed by hand, and payment terms of 60 days that were agreed to at the same time as the rate.

Each of those lives somewhere. Recruiter time is in an applicant tracking system or in nobody's system at all. Payment behavior is in accounting. Redeployment is in the assignment history. None of them are connected to the client record, so the margin report shows a spread and calls it profit.

The question worth asking about the top five

Reframed, concentration becomes a much more useful conversation. Instead of "how exposed are we if the biggest client leaves", ask three things:

Are the top five clients above or below our house margin rate? If they are below, by how much, and when did that happen? Most owners can name the year but have never priced the drift.

What do they consume that smaller clients do not? Dedicated time, on-site presence, custom reporting, longer payment terms. All of it is cost, none of it is on the rate card.

And what would the same recruiter capacity earn on the accounts ranked six through twenty? That is the real comparison. The top five are not competing against nothing. They are competing against the work your recruiters would do instead.

A look at a staffing firm

Consider a light industrial and administrative staffing firm doing about $8 million a year with roughly 25 internal staff. The top five clients bill about $3.4 million, a little over 40 percent of revenue. The owner has watched that percentage for years and considers it the main risk in the business.

Suppose the firm starts attaching recruiter hours, fall-offs, redeployment, and payment behavior to each client record alongside the rates. Within a quarter you would expect the ranking by revenue and the ranking by gross profit to stop matching.

Put a number on it. If those five accounts run at about 17 points of gross margin while the rest of the book runs near 26, the top five produce roughly $578k of gross profit on $3.4M. The same volume at the house rate would produce about $884k. The gap is roughly $300k a year, and it is not a loss anyone booked, it is a difference nobody measured. Then add what the margin report does not carry: if two of those five consume a coordinator's day each week on portals and custom reporting, that is a further slice of a salary attributable to accounts already earning below average.

What the owner would likely do is not fire the top five. Some of the drift is defensible, because volume genuinely costs less to serve per placement and a stable account is worth real money. What would probably change is that the next rate conversation happens with numbers on the table instead of nervousness, that the custom reporting and the on-site day get priced rather than absorbed, and that recruiter capacity gets steered toward the accounts in the six-to-twenty range that are quietly earning nine points more. You would expect concentration to fall a little as a byproduct, which is the risk problem solving itself from the margin side.

How to start

You can get the first read out of one quarter and the systems you already run.

  1. Rank by gross profit dollars, not billings. Do it once and put the two lists side by side. Where the order changes is where the conversation is.
  2. Attach recruiter hours to the client. Even a rough weekly allocation per account is enough to see which clients eat capacity.
  3. Date every rate. For each of the top ten, write down when the current bill rate was set and what the burden was at the time. The gap between then and now is the drift.
  4. Add what is absorbed, not just what is billed. Custom invoicing, portals, on-site time, and 60-day terms are all cost. Put a rough dollar figure beside each.
  5. Let the drift surface itself. Set automation to flag any account whose margin rate falls a set number of points below the house average, so it appears when it happens rather than at renewal.

The takeaway

Concentration is usually treated as a question about what you would lose. The sharper version is whether you would lose much margin at all. Rates get conceded one reasonable step at a time against costs nobody has re-measured, and because the biggest accounts are the ones nobody wants to reopen, the drift compounds quietly for years. Rank the book by gross profit rather than billings, attach the recruiter time and the absorbed back office work to the client that causes it, and date every rate. The first honest ranking is likely to change which accounts you defend, which ones you reprice, and where you point your recruiters next quarter.

Every business has a number like that hiding in it.

Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.