Recover Carrier Scorecards: On-Time Data in 2026 (Free Template)
Every logistics manager has lived through the same painful cycle: a carrier misses its delivery window, a client calls demanding answers, and you spend the next two hours pulling shipment records from three different portals, copy-pasting into a spreadsheet, and calculating an on-time percentage by hand. Then you repeat the process for every carrier in your network. Then you do it again next week.
US logistics industry costs: $2.3T — 8% of GDP according to the CSCMP 35th Annual State of Logistics Report (2024), and a meaningful portion of that overhead is administrative burden that doesn't need to exist. Compiling on-time delivery scorecards per carrier manually is one of the clearest examples.
This guide shows you how to build an automated carrier scorecard system, what data inputs it requires, what the output looks like, and where operators typically go wrong. A free template structure is included.
Key Takeaways
Manual scorecard compilation typically costs 4–8 hours per week for ops teams managing 5+ carriers
Automated systems pull shipment status from TMS or carrier APIs and calculate performance metrics without human touchpoints
The output is a normalized per-carrier dashboard updated on a schedule you control
Common failure modes include mismatched tracking IDs across carriers and late data feeds from 3PLs
Automation pays for itself when scorecard compilation drops from days to minutes
What Carrier Scorecard Automation Actually Is
Automated carrier scorecard compilation is the process of pulling shipment event data from multiple sources — TMS exports, carrier APIs, EDI feeds, or third-party visibility platforms — normalizing it into a common format, calculating performance KPIs per carrier, and delivering the result to the right stakeholders on a regular cadence without manual intervention.
The output is not a static spreadsheet. It's a living record that updates as new shipment events arrive, flags exceptions, and surfaces underperforming carriers before a client complaint forces the conversation.
TL;DR: Connect your shipment data sources, define your KPI formulas, and let the orchestration layer compile and deliver scorecards automatically. The template below gives you the starting column structure.
The Real Cost of Manual Scorecard Work
Most ops teams don't measure the time they spend on scorecards because it happens in small increments across multiple days. But when you add it up, the numbers are significant.
| Task | Manual Time (per week) | Automated Time |
|---|---|---|
| Pull shipment data from TMS | 45 min | 0 min |
| Download carrier portal reports | 60 min | 0 min |
| Normalize date/time formats | 30 min | 0 min |
| Calculate OTP per carrier | 40 min | 0 min |
| Build and distribute scorecard | 45 min | 2 min |
| Total | ~3.5 hrs | ~2 min |
For teams managing 10+ carriers, that table doubles. According to the Bureau of Labor Statistics (2025 Occupational Employment Statistics), the median wage for logistics operations managers is $47.30/hour. At 3.5 hours per week, manual scorecard work costs roughly $8,600 per year in pure labor — before accounting for the errors, delayed responses, and missed contract leverage that come with stale data.
Carrier disputes cost: 12–18 hours of ops time per incident according to Gartner Supply Chain Research (2024), much of which involves reconstructing shipment histories that an automated scorecard would have captured in real time.
Who This Is For
This approach fits logistics operators who manage carrier relationships directly and need regular performance accountability, including:
3PL providers managing 5–20 carrier partners and reporting performance to shipper clients
Enterprise shippers with internal transportation teams running over $5M in freight spend annually
Regional distributors balancing a mix of asset-based carriers, brokers, and last-mile partners
Red flags: Skip this if your volume is under 50 shipments per month (manual is fine), your TMS doesn't export event-level data, or your entire operation runs on a single carrier with a dedicated rep managing exceptions.
The Data Inputs Your Scorecard System Needs
Before you can automate anything, you need to know what data exists and where it lives. The most common sources:
| Source Type | What It Provides | Update Frequency |
|---|---|---|
| TMS (e.g., McLeod, MercuryGate) | Planned vs. actual delivery times, load IDs | Near real-time |
| Carrier EDI 214 feeds | Shipment status events per stop | Event-driven |
| Project44 / FourKites | Carrier-agnostic tracking at the shipment level | Continuous |
| Carrier web portals (manual) | POD images, status notes | On demand |
| ERP exports (e.g., SAP) | Invoiced freight cost per shipment | Daily/weekly |
The challenge is that each source uses different identifiers. Your TMS uses a load number. Your carrier uses a PRO number. Your visibility platform uses a shipment UUID. Without a mapping table that normalizes these to a common key, your automation will produce mismatched records and incorrect OTP calculations.
Establishing the carrier-to-load ID mapping is the unglamorous but critical first step in any scorecard automation build.
Building the Scorecard: A Step-by-Step Recipe
Step 1: Define Your KPIs Before You Touch the Data
Start with the metrics, not the data. Common carrier scorecard KPIs include:
On-Time Pickup Rate (OTP-P): Percentage of loads where carrier checked in within 30 minutes of scheduled pickup
On-Time Delivery Rate (OTP-D): Percentage of loads delivered within the agreed delivery window
Claims Rate: Number of damage or shortage claims per 100 shipments
Load Acceptance Rate: Percentage of tendered loads accepted on first offer
Transit Time Variance: Average deviation from standard lane transit time (hours)
Define the formula and threshold for each metric before building the data pipeline. An OTP of "≥95%" means nothing if your business actually considers 93% acceptable on a lane with few alternatives.
Step 2: Build the Normalization Layer
The normalization layer converts raw data from each source into a single shipment record format. Every shipment record should have:
A unified shipment key (map TMS load number → PRO number → tracking UUID)
Carrier name (standardized — "XPO Logistics" not "XPO" or "XPO Inc.")
Scheduled pickup datetime (UTC)
Actual pickup datetime (UTC)
Scheduled delivery datetime (UTC)
Actual delivery datetime (UTC)
Lane origin zip, destination zip
Freight cost (optional, for cost-per-OTP analysis)
Step 3: Calculate Performance by Carrier
Once records are normalized, the calculation layer runs KPI formulas across each carrier's shipment set for the reporting period (weekly, monthly, or rolling 30 days).
Step 4: Output and Distribute
The scorecard should land in the hands of carrier account managers, operations leadership, and shipper clients automatically — not when someone remembers to send it.
Worked Example: Automating a Regional 3PL's Weekly Scorecard
Consider a regional 3PL managing 8 carriers across 340 monthly shipments, running McLeod TMS and Project44 for visibility. Every Monday, the ops coordinator spent 3.5 hours pulling McLeod export files, cross-referencing Project44 shipment records, and building an Excel scorecard distributed to 4 carrier reps and 2 shipper clients. When the orchestration layer ingests the McLeod shipment.delivered event alongside the Project44 actual-arrival timestamp, it maps both to the same normalized load record using the PRO number as the bridge key, calculates whether the 2-hour delivery window was met, and writes the result to a carrier performance table. After 30 days of data — approximately 340 shipments, 8 carriers, 42 lanes — the system produced a scorecard showing Carrier C had an 87% OTP-D versus a contractual 94% threshold, a gap that triggered an automated exception alert to the carrier rep 6 weeks earlier than it would have surfaced in a manual process.
Common Mistakes That Break Carrier Scorecards
Most scorecard automation projects fail not in the calculation layer but in the data quality layer. The most common mistakes:
| Mistake | Impact | Fix |
|---|---|---|
| Using scheduled ship date instead of scheduled delivery date | OTP calculation is wrong for multi-stop loads | Always calculate against the final delivery commitment |
| Not accounting for time zones | East-coast carrier marked "on time" using local time vs. UTC | Normalize all timestamps to UTC at ingestion |
| Missing the "carrier-caused" filter | Weather delays inflate the carrier miss rate unfairly | Tag each late delivery with a reason code; filter on carrier-caused only |
| Stale data from portal scraping | Scorecards show last week's data as current | Use event-driven feeds (EDI 214) rather than batch exports where possible |
| Single-carrier bias in formulas | One carrier with 80% of volume dominates the OTP average | Weight by load count, not absolute number, when averaging across carriers |
When NOT to Use US Tech Automations
If your carrier scorecard need is a monthly one-page summary for a single client and you have one carrier relationship, a Google Sheets template with manual data entry is cheaper and faster to maintain than an orchestration platform. Similarly, if your TMS vendor already includes a built-in carrier performance module (e.g., McLeod's Carrier Scorecard Report), running a parallel automation layer adds complexity without adding value — use the native tool and spend the integration budget elsewhere.
The orchestration layer earns its place when you have multiple data sources that don't talk to each other, multiple carriers with different API formats, or multiple clients who need customized scorecard views on different schedules.
How US Tech Automations Fits Into This Workflow
US Tech Automations handles the normalization and distribution layer that manual processes can't scale. The platform connects to your TMS export, EDI feed, or visibility platform API, runs the carrier ID mapping step on each incoming shipment event, applies your KPI formulas, and routes the completed scorecard to the right recipient list on your defined schedule — without requiring a developer to maintain each integration.
For logistics teams exploring where this fits in their stack, the agentic workflows overview maps out the trigger-to-action architecture that carrier scorecard automation runs on.
Carrier Scorecard Benchmark Table
Use this as a baseline when evaluating your carriers. Industry performance thresholds vary by mode and lane density, but these are widely used contract benchmarks:
| KPI | Underperforming | At Threshold | Strong |
|---|---|---|---|
| On-Time Delivery Rate | <90% | 90–94% | ≥95% |
| On-Time Pickup Rate | <88% | 88–93% | ≥94% |
| Claims Rate (per 100 loads) | >1.5 | 0.5–1.5 | <0.5 |
| Load Acceptance Rate | <80% | 80–89% | ≥90% |
| Transit Time Variance | >4 hrs avg | 1–4 hrs avg | <1 hr avg |
According to the American Transportation Research Institute (ATRI) 2024 Trucking Industry Concerns Report, on-time performance ranks as the #1 carrier selection criterion for shippers managing more than 200 loads per month.
On-time delivery rate: ≥95% is the industry contract standard according to the American Transportation Research Institute (ATRI) 2024 Trucking Industry Concerns Report.
The Free Template: Column Structure
Here's the column structure for a carrier scorecard that works across modes. Copy this into your normalization schema:
| Column | Data Type | Source |
|---|---|---|
| Shipment_ID | String | TMS load number |
| Carrier_Name | String (standardized) | Carrier master list |
| Lane | String (origin zip–dest zip) | TMS |
| Scheduled_Pickup_UTC | DateTime | TMS |
| Actual_Pickup_UTC | DateTime | EDI 214 / visibility platform |
| Pickup_On_Time | Boolean | Calculated |
| Scheduled_Delivery_UTC | DateTime | TMS |
| Actual_Delivery_UTC | DateTime | EDI 214 / visibility platform |
| Delivery_On_Time | Boolean | Calculated |
| Delay_Reason_Code | String | Carrier exception data |
| Carrier_Caused | Boolean | Based on reason code |
| Freight_Cost | Decimal | ERP / invoice |
Frequently Asked Questions
How often should carrier scorecards be distributed?
Weekly scorecards work well for active carrier management — frequent enough to catch trends before they become contract issues, infrequent enough that carriers aren't buried in data. Monthly scorecards are appropriate for strategic reviews and contract renewal conversations. Daily exception alerts (for loads that just missed a window) are a separate output and should run in parallel.
What's the minimum shipment volume where this automation makes sense?
Roughly 75–100 shipments per month per carrier. Below that, the data set is too small for statistically meaningful OTP rates, and a simple Excel calculation takes under 20 minutes. Above that threshold, manual compilation becomes error-prone and the automation ROI compounds quickly.
How do I handle carriers who don't provide electronic tracking data?
Carriers without EDI 214 or API tracking require manual check-calls or web portal pulls. The automation can still work — a human checks the portal and enters the status into a web form that feeds the normalization layer — but it won't be fully automated. Use this as leverage to negotiate EDI capability into your carrier agreements.
Can I run scorecards by lane rather than by carrier?
Yes, and it's often more actionable. A carrier with an 88% OTP overall may have a 97% rate on your Chicago–Atlanta lane and a 71% rate on your Seattle–Phoenix lane. Lane-level scoring surfaces where the actual operational problem lives. Add a lane dimension to your normalization schema and group KPIs by carrier-lane combination.
What do I do when two carriers dispute the same delivery timestamp?
The tie-breaker is your visibility platform's timestamp, not the carrier's self-reported event time. If you don't have a third-party visibility feed, your TMS's first scan-in time at the delivery facility is the next best source. Document your timestamp hierarchy in your scorecard methodology and share it with carriers at the contract stage so disputes have a clear resolution process.
How do I normalize scorecard data when carriers use different date formats?
Always convert to UTC at the point of ingestion, not at the reporting stage. Build a date parser into your normalization layer that handles the most common formats (MM/DD/YYYY, ISO 8601, Unix timestamp) and logs any records where the format doesn't match — those are data quality flags that need manual review before they corrupt your OTP calculation.
What's the best way to share scorecards with carrier account managers?
Email delivery of a PDF or Excel attachment works for monthly strategic reviews. For weekly operational scorecards, a shared dashboard link (read-only access to the carrier's own performance data) is more efficient and gives the carrier's team a chance to add context before a formal meeting. Avoid sharing raw data — share calculated KPIs with a methodology note so the carrier can't dispute the math without challenging the agreed formula.
See the Playbook
The scorecard template and normalization schema described in this guide are available through US Tech Automations. If you're evaluating whether an orchestration layer is the right fit for your carrier management workflow, the pricing page outlines what's included at each tier and which integrations are supported out of the box.
Internal reading:
About the Author

Helping businesses leverage automation for operational efficiency.
Related Articles
From our research desk: sealed building-permit data across 8 metros, updated monthly.