29 August 2026 · Pedro Aldea
If Comparing Carriers Takes Hours, the Problem Is Not the Rate
A practical test for turning scattered tariffs into comparable decisions, with traceability and a clear path for exceptions.
The person buying transport rarely needs one more rate sheet. They need to answer, before the day closes, which carrier fits this shipment and why. When that answer depends on opening several spreadsheets, remembering surcharges and asking the person who knows every exception, the problem is not the price. The operation has no comparable unit.
What breaks when every carrier speaks its own language
Each carrier tends to send information with its own logic: zones, postcodes, weight bands, surcharges, services and column names. A table can contain every price and still fail to answer a simple question: what is the real cost of this shipment with each available option?
The team ends up doing four jobs at once:
- finding the right row in every file;
- translating different zones and units;
- remembering which surcharges apply to this case;
- explaining the choice when someone asks later.
The decision looks manual because the data has no shared shape. Adding another person or another spreadsheet does not fix that cause.
Why another dashboard will not fix it
A dashboard can draw a number very clearly and still hide the decision underneath. If one carrier prices by zone and another by postcode, comparing their columns as-is creates false precision. The chart does not know what each field means or which exception was left out.
Before automating, settle three things:
- The decision unit: shipment, route, zone, weight, service and date being compared.
- The canonical data: how a postcode, weight band and surcharge are represented.
- The exception path: what happens when a field is missing or two rates are not equivalent.
Without those decisions, the system only makes the interpretation of incompatible sheets faster.
The sequence that turns a rate into a decision
A logistics operation becomes comparable in this order:
- Define the case: origin, destination, weight, volume, service and effective date.
- Normalize the sources: convert zones, bands and surcharges to one schema without losing the origin.
- Keep the evidence: every value retains carrier, file, date and applied rule.
- Compare with a threshold: the system proposes options only when the required fields are complete.
- Escalate ambiguity: a person decides exceptions and the correction is recorded for the next run.
The order matters. Automation enters after the decision can be explained, not before.
The test we ran
In a logistics management system we brought together more than 1.6 million tariff rows from 9 carriers and expanded their zones to more than 52,000 postcodes. Direct comparison stopped being manually impossible: each option could be reviewed in the same unit, with the data source visible.
The numbers do not prove that every operation will take the same time. They prove something more useful: a shared base lets a team stop negotiating from memory and start making the same decision by the same rule. The case is described in the transport manager activation.
What to measure before automating
Do not start with the number of carriers integrated. Start with these five measures:
- Coverage: what share of shipments has every required field.
- Comparability: how many offers can be put in the same unit without manual interpretation.
- Exceptions: how many cases need a person and why.
- Decision time: from the request arriving to a defensible option.
- Traceability: whether you can reconstruct the source, rule and correction for every result.
If you cannot measure them, you do not have a speed problem yet. You have a decision without a contract.
A 15-minute test
Pick one real route and five recent offers. On one sheet, record for each offer:
- which fields you need for comparison;
- which unit each carrier uses;
- which surcharge is not explicit;
- which missing value would make you ask someone else;
- which rule would pick a winner if all offers were equivalent.
At the end you have a small but honest map. If two rows cannot be completed without opening another file or calling someone, the next step is not buying a route optimizer. It is agreeing the canonical data and the owner of the exception. Standardize before you automate applies the same principle to a product catalog.
The question to take to the team is direct: can we explain why we chose this carrier without opening nine more sheets? If the answer is no, that is the work.
Once you have a route, its rate format and the decision that must come out, you have enough to activate the flow. You do not need to start with a model.