Skip to main content
Most logistics teams allocate shipments to carriers based on habit, relationships, or whatever rate was negotiated last quarter. Without a systematic performance comparison, you miss the carriers who are quietly costing you money through late deliveries, damage claims, and inconsistent service. Wayak connects data from multiple carrier APIs, runs Python-powered weighted scoring in playbooks, and delivers monthly carrier scorecards that rank every provider on the metrics that matter. Your procurement and operations teams get the data they need to renegotiate contracts, reallocate volume, and hold underperformers accountable.

What you need

Data sources

  • TMS database — Shipment records with carrier, service level, origin, destination, planned and actual delivery dates, and freight cost
  • Carrier APIs — Delivery confirmations, tracking events, invoices, and claims data from each carrier
  • Claims database — Damage claims with carrier, shipment ID, claim amount, resolution status, and date filed

Knowledge spaces

  • Carrier contracts — Rate agreements, SLA commitments, volume commitments, and penalty clauses for each carrier
  • Carrier evaluation criteria — Internal scoring methodology, minimum performance thresholds, and benchmarking weights
Semantic layer: Define these in your ontology before setting up the agent.
ComponentNameDefinition
ObjectCarrierMaps to the carrier master table. Represents a logistics provider with their contract terms and performance history
ObjectShipmentMaps to the TMS shipments table. Represents a delivery with its carrier assignment, cost, and outcome
MetricOnTimeRatePercentage of shipments delivered on or before the committed delivery date, per carrier
MetricCostPerShipmentTotal freight cost divided by number of shipments, per carrier and service level
MetricDamageClaimRateNumber of damage claims divided by total shipments, expressed as a percentage per carrier
DimensionServiceLevelCategorization: ground, express, overnight, freight, white glove
See building a semantic layer for a step-by-step guide.

Agent setup

1

Create the agent

Go to Agent SpaceNew agent.
FieldValue
NameCarrier Performance Analyst
RoleCarrier evaluation and procurement support specialist
GoalProvide objective, data-driven carrier performance assessments to optimize allocation
2

Set the description

You evaluate carrier performance using delivery data, cost records, and claims history. Always present comparisons with precise metrics — on-time rate to two decimal places, cost per shipment to the cent, damage rate per thousand shipments. Use weighted scoring to produce an overall performance rank. When recommending changes, estimate the financial impact of reallocating volume. Reference contract SLAs when a carrier is underperforming. Maintain a neutral tone — the data speaks for itself.
3

Scope data access

Grant access to:
  • TMS database (shipments, costs, delivery dates)
  • Carrier APIs (tracking events, invoices, claims)
  • Claims database (damage claims, resolutions)
  • Carrier contracts knowledge space
  • Carrier evaluation criteria knowledge space
  • Carrier, Shipment objects and OnTimeRate, CostPerShipment, DamageClaimRate metrics
4

Add skills

Trigger: Monthly review or user request
  1. Pull delivery data for all carriers over the specified period from the TMS and carrier APIs.
  2. Calculate per carrier: on-time rate, average transit time, cost per shipment, and damage claim rate.
  3. Retrieve the contract SLA thresholds for each carrier from the knowledge space.
  4. Flag any carrier performing below their SLA commitment on any metric.
  5. Calculate a weighted overall score: 40% on-time rate, 30% cost efficiency, 20% damage rate, 10% average transit time.
  6. Rank carriers by overall score and present as a comparison table with a recommendation column: retain, renegotiate, or replace.
Trigger: User asks about carrier performance on a specific route or lane
  1. Retrieve all shipments for the specified lane (origin-destination pair) across all carriers.
  2. Calculate per carrier on that lane: on-time rate, average transit time, cost per shipment, and damage claim rate.
  3. Identify the best-performing carrier for that lane based on weighted scoring.
  4. Compare the current volume allocation against performance ranking — is the highest-volume carrier also the best performer?
  5. Estimate the cost savings or service improvement from reallocating volume to the top-performing carrier on that lane.

Automation

Playbook: Monthly carrier scorecard

1

Set the trigger

Schedule: First business day of each month at 9:00 AM.
2

Build the workflow

  1. Query the TMS for all shipments completed in the previous calendar month, grouped by carrier.
  2. Query the claims database for all claims filed in the same period.
  3. Run Python analysis to calculate:
    • On-time rate, average transit time, cost per shipment, and damage claim rate per carrier.
    • Weighted overall performance score using the formula: (on_time * 0.4) + (cost_score * 0.3) + (damage_score * 0.2) + (transit_score * 0.1) where each component is normalized to a 0-100 scale.
    • Month-over-month trend for each carrier’s overall score.
    • SLA compliance flag: compare each metric against the carrier’s contracted threshold.
  4. Condition: If any carrier’s overall score drops below 70 or their on-time rate falls below 95%, flag them as “underperforming” and include a contract review recommendation.
  5. Aggregate into a scorecard format: overall ranking table, per-carrier detail cards, trend charts, and SLA compliance summary.
The weighted scoring step uses a Python code block to normalize each metric to a 0-100 scale and compute the composite score. You can customize the weights and the normalization ranges to match your business priorities.
3

Configure delivery

Send an email to the logistics director and procurement team with the subject line: “Monthly carrier scorecard — [Month Year]”. Attach the full scorecard as a formatted report. Post a summary of the top 3 and bottom 3 carriers to the #carrier-performance Slack channel.
4

Test and activate

Click Run now to test with live data, then toggle to Active.

What’s next

Last-mile visibility

Combine carrier performance data with real-time tracking to give customers a unified delivery experience.

All logistics use cases

See the full list.