Gross margin is the whole game in freight brokerage. You buy capacity from a carrier and sell it to a shipper, and the spread between the two — on a business that runs 12–18% blended — is what funds payroll, commissions, and the lights. A single negative-margin load can wipe out the profit on several good ones, so the question an owner needs answered constantly is simple: what is our margin rate right now, and which loads are dragging it down? This dashboard puts that on one screen.

What this report answers

How much did we bill, how much did we pay carriers, and what's the dollar margin and margin rate across the book? Is the margin rate trending up or down week over week? Where does the margin come from by mode — Dry Van, Reefer, Flatbed, LTL? And, most importantly, how many loads are thin or outright negative? The Margin Pulse page carries the headline KPIs and the trend; the Margin Distribution page is a health histogram — load counts bucketed into margin bands (Negative, 0–8%, 8–15%, 15–25%, 25%+) — plus a revenue-versus-margin scatter that makes the loss-leaders obvious.

The metrics that matter

Gross Margin % is the headline, and it's a SUM/SUM ratio — total margin over total revenue, not an average of per-load percentages — because a handful of small loads shouldn't swing the rate. Margin per Load tells you the dollar productivity of each booking. And the count of negative-margin loads is the alarm: in a thin-margin business, even a few loads sold below carrier cost are pure losses, usually from a buy rate that moved after the load was quoted or an accessorial that never got billed back.

Why the data is trapped

Your TMS — McLeod LoadMaster / PowerBroker, Tai, AscendTMS, Aljex, or Turvo — records the sell rate and the carrier cost on every load, but its native reporting is built around the load board and operational status, not around margin economics. Computing a SUM/SUM margin rate, bucketing loads into margin bands, and ranking negative-margin freight means exporting the load list and rebuilding it in a spreadsheet that's stale by the next dispatch. This template does that modeling for you.

How to read it

Start with Gross Margin % and its weekly trend — a drifting rate is buy-rate creep or mix shift, both fixable once you can see them. Then go straight to the margin-band histogram and the scatter: the loads sitting at or below zero are the ones to investigate first, by mode and equipment type, because each one is a direct hit to a margin you can't afford to give away. The sample on this page uses entirely synthetic data — generic labels and made-up dollar figures, no real loads, carriers, or customers.

Metrics it tracks

MetricWhat it means
Total RevenueSum of customer revenue across all delivered loads — what shippers were billed, linehaul plus accessorial.
Total Carrier CostSum of carrier cost across all delivered loads — what carriers were paid, linehaul plus accessorial.
Total Gross Margin $Customer revenue minus carrier cost, summed across all loads — the dollars the brokerage keeps before commissions.
Gross Margin %Total margin ÷ total revenue (a SUM/SUM ratio) — the blended buy/sell margin rate across the whole book.
Load CountCount of delivered loads — one row per load.
Margin per LoadTotal margin ÷ load count — the average dollar margin earned on a delivered load.

Used by: Brokerage owners and principals, operations managers

Frequently asked questions

What is a good gross margin for a freight brokerage?

Blended gross margin for a non-asset brokerage typically runs in the 12–18% range, varying with mode mix and how much is spot versus contract. The point of a margin dashboard isn't to hit one number — it's to watch the blended rate (a SUM/SUM ratio) over time and catch the thin and negative-margin loads pulling it down.

Why does my brokerage have negative-margin loads?

Usually a carrier buy rate that moved after the load was quoted, an accessorial (detention, lumper, layover) paid to the carrier but never billed back to the shipper, or a load that was repowered at a higher cost. Each one is sold below carrier cost, so it's a straight loss — which is why counting and ranking them is the first thing this report does.

Can I build this on my own TMS load data?

Yes. Export your delivered loads with customer revenue and carrier cost from McLeod, Tai, AscendTMS, Aljex, or Turvo and use this as a template — we model it into a Power BI report you open in Power BI Desktop. The sample here is fully synthetic, so there are no real loads in what you see.

Build this report on your own data

Clone this Freight brokerages template — describe it and we’ll generate sample data so you can try it free, or upload your own export. You get a fully modeled, branded Power BI project that opens in Power BI Desktop.

Use this as a template →