Docs
  • Solver
  • Models
    • Field Service Routing
    • Employee Shift Scheduling
    • Pick-up and Delivery Routing
    • Task Scheduling
  • Platform
Start Free Trial
  • Pick-up and Delivery Routing
  • The basics
  • User guide
  • Output datasets
  • Key performance indicators (KPIs)
  • latest
    • latest
    • 1.8.x
    • 1.7.x

Pick-up and Delivery Routing

  • The basics
    • Introduction
    • Getting started: Hello world
    • User guide
      • Terminology
      • Use case guide
      • Scheduling API concepts
      • Integration
      • Constraints
      • Using the API
        • Using the OpenAPI spec
        • API tooling
      • Demo datasets
      • Input datasets
        • Model configuration
        • Model input
        • Planning window
      • Input validation
      • Output datasets
        • Metadata
        • Model output
        • Input metrics
        • Key performance indicators (KPIs)
      • Maps service
      • Metrics and optimization goals
      • Score analysis
      • Visualizations
  • Feature guides
    • Driver resource constraints
      • Lunch breaks and personal appointments
      • Route optimization
      • Shift hours and overtime
      • Driver capacity
    • Job service constraints
      • Time windows and opening hours
      • Skills
      • Multi-day schedules and movable stops
      • Dependencies between stops
      • Priority jobs and optional jobs
      • Stop service level agreement (SLA)
      • Job requirements and tags
        • Job required drivers
        • Job pooling
        • Prohibit job combinations
        • Maximum time burden
        • Tags
  • Responding to change
    • Recommendations
      • Job time window recommendations
      • Stop time window recommendations
    • Real-time planning
      • Real-time planning: pinning stops
      • Real-time planning: extended stop
      • Real-time planning: reassignment
      • Real-time planning: no show
      • Real-time planning: driver ill
  • More information
    • FAQs
    • Changelog
    • Upgrading to the latest versions
    • Feature requests

Key performance indicators (KPIs)

The kpis object includes the KPIs for the dataset and provide an overview of the combined metrics from the individual driver shifts.

In addition to providing general information these KPIs are also useful for determining the result of experimenting with different optimization goals.

{
  "kpis": {
    "averageTravelTimePerStop": "PT57M17S",
    "totalTravelTime": "PT1H54M34S",
    "travelTimeFromStartLocationToFirstStop": "PT31M58S",
    "travelTimeBetweenStops": "PT53M45S",
    "travelTimeFromLastStopToEndLocation": "PT28M51S",
    "totalTravelDistanceMeters": 127043,
    "travelDistanceFromStartLocationToFirstStopMeters": 33377,
    "travelDistanceBetweenStopsMeters": 62123,
    "travelDistanceFromLastStopToEndLocationMeters": 31543,
    "totalUnassignedJobs": 0,
    "totalAssignedJobs": 1,
    "assignedMandatoryJobs": 1,
    "totalUnassignedStops": 0,
    "totalAssignedStops": 2,
    "assignedMandatoryStops": 2,
    "totalActivatedDrivers": 1,
    "totalOvertime": "PT0S",
    "percentageJobsInSla": 100,
    "absoluteJobsInSla": 1,
    "percentageStopsInSla": 100,
    "absoluteStopsInSla": 1
  }
}

KPIs that don’t apply to the dataset are omitted from the output. For example, percentagePooledJobs and absolutePooledJobs only appear when at least one job is pooled, and assignedOptionalJobs and assignedOptionalStops only appear when the dataset includes optional jobs.

SLA KPIs

When the input dataset includes stop SLAs, the KPIs also report how many stops and jobs meet their SLA:

  • percentageStopsInSla: The percentage of stops with an SLA that satisfy it.

  • absoluteStopsInSla: The number of stops with an SLA that satisfy it.

  • percentageJobsInSla: The percentage of jobs with an SLA where every stop with an SLA satisfies it.

  • absoluteJobsInSla: The number of jobs with an SLA where every stop with an SLA satisfies it.

The percentages are calculated only over the stops and jobs that have an SLA. When no stops have an SLA, these KPIs are omitted from the output.

In the following example, four stops in two jobs have an SLA. Three of the stops satisfy their SLA, and one of the two jobs has all its SLA stops on time.

{
  "kpis": {
    "percentageJobsInSla": 50.0,
    "absoluteJobsInSla": 1,
    "percentageStopsInSla": 75.0,
    "absoluteStopsInSla": 3
  }
}

Next

  • See the full API spec, try the online API, or start a free trial.

  • © 2026 Timefold BV
  • Timefold.ai
  • Documentation
  • Changelog
  • Send feedback
  • Privacy
  • Legal
    • Light mode
    • Dark mode
    • System default