How much faster is Java 17?
Java 17 (released yesterday) comes with many new features and enhancements. However, most of those require code changes to benefit from. Except for performance. Simply switch your JDK installation and you get a free performance boost. But how much? Is it worth it? Let’s find out by comparing the benchmarks of JDK 17, JDK 16 and JDK 11.
Benchmark methodology
- Hardware: A stable machine without any other computational demanding processes running and with
Intel® Xeon® Silver 4116 @ 2.1 GHz (12 cores total / 24 threads)and128 GiBRAM memory, runningRHEL 8 x86_64. - JDKs (used to both compile and run):
- JDK 11
- openjdk 11.0.12 2021-07-20 OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7) OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)
- JDK 16
- openjdk 16.0.2 2021-07-20 OpenJDK Runtime Environment (build 16.0.2+7-67) OpenJDK 64-Bit Server VM (build 16.0.2+7-67, mixed mode, sharing)
- JDK 17 (downloaded 2021-09-06)
- openjdk 17 2021-09-14 OpenJDK Runtime Environment (build 17+35-2724) OpenJDK 64-Bit Server VM (build 17+35-2724, mixed mode, sharing)
- JVM options:
-Xmx3840Mand explicitly specify a garbage collector:-XX:+UseG1GCfor G1GC, the low latency garbage collector (the default in all three JDKs).-XX:+UseParallelGCfor ParallelGC, the high throughput garbage collector.
- Main class:
org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkAppfrom the moduleoptaplanner-examplesin OptaPlanner8.10.0.Final.- Each run solves 11 planning problems with OptaPlanner, such as employee rostering, school timetabling and cloud optimization. Each planning problem runs for 5 minutes. Logging is set to
INFO. The benchmark starts with a 30 second JVM warm up which is discarded. - Solving a planning problem involves no IO (except a few milliseconds during startup to load the input). A single CPU is completely saturated. It constantly creates many short-lived objects, and the GC collects them afterwards.
- The benchmarks measure the number of scores calculated per second. Higher is better. Calculating a score for a proposed planning solution is non-trivial: it involves many calculations, including checking for conflicts between every entity and every other entity.
- Each run solves 11 planning problems with OptaPlanner, such as employee rostering, school timetabling and cloud optimization. Each planning problem runs for 5 minutes. Logging is set to
- Runs: Each JDK and each garbage collector combination is run 3 times sequentially. The results below is the average of those 3 runs.
Results
Java 11 (LTS) and Java 16 versus Java 17 (LTS)

AverageCloud balancingMachine reassignmentCourse schedulingExam schedulingNurse rosteringTraveling TournamentDataset 200c800cB1B10c7c8s2s3m1mh1nl14JDK 11 103,60696,700274,10337,42111,77913,66014,3548,9823,5853,3355,019JDK 16 109,20397,567243,09638,03113,95016,25115,2189,5283,8173,5085,472JDK 17 106,14798,069245,64542,09614,40616,92415,6199,7263,8023,6015,61811 → 178.66%2.45%1.42%-10.38%12.49%22.30%23.90%8.81%8.28%6.05%7.98%11.95%16 → 172.41%-2.80%0.51%1.05%10.69%3.27%4.14%2.63%2.08%-0.39%2.65%2.67%Table 1. Score calculation count per second with G1GC on different JDKs

AverageCloud balancingMachine reassignmentCourse schedulingExam schedulingNurse rosteringTraveling TournamentDataset 200c800cB1B10c7c8s2s3m1mh1nl14JDK 11 128,553121,974292,76148,33913,39715,54016,3929,8874,4094,1486,097JDK 16 128,723123,314281,88245,62216,24318,52817,74210,7444,6084,3486,578JDK 17 130,215124,498262,75345,05816,47918,90418,02310,8454,6584,4306,64111 → 176.54%1.29%2.07%-10.25%-6.79%23.00%21.64%9.95%9.68%5.63%6.80%8.92%16 → 170.37%1.16%0.96%-6.79%-1.24%1.45%2.03%1.59%0.94%1.08%1.89%0.96%Table 2. Score calculation count per second with ParallelGC on different JDKs
NoteLooking at the raw data of the 3 individual runs (not shown here), the Machine Reassignment numbers (B1 and B10) fluctuate a lot between runs on the same JDK and GC. Often by more than 10%. The other numbers don’t suffer from this unreliability.
It’s arguably better to ignore the Machine Reassignment numbers. But to avoid cherry-picking data concerns, these results and averages do include them.
G1GC versus ParallelGC on Java 17

AverageCloud balancingMachine reassignmentCourse schedulingExam schedulingNurse rostering.Traveling TournamentDataset 200c800cB1B10c7c8s2s3m1mh1nl14G1GC 106,14798,069245,64542,09614,40616,92415,6199,7263,8023,6015,618ParallelGC 130,215124,498262,75345,05816,47918,90418,02310,8454,6584,4306,641G1 → ParallelGC16.39%22.67%26.95%6.96%7.04%14.39%11.69%15.39%11.50%22.50%23.01%18.20%Table 3. Score calculation count per second on JDK 17 with different GCs
Executive summary
On average, for OptaPlanner use cases, these benchmarks indicate that:
- Java 17 is 8.66% faster than Java 11 and 2.41% faster than Java 16 for G1GC (default).
- Java 17 is 6.54% faster than Java 11 and 0.37% faster than Java 16 for ParallelGC.
- The Parallel Garbage Collector is 16.39% faster than the G1 Garbage Collector.
No big surprises here: the latest JDK is faster and the high throughput garbage collector is faster than the low latency garbage collector.
Wait a minute here…
When we benchmarked JDK 15, we saw that Java 15 was 11.24% faster than Java 11. Now, the gain of Java 17 over Java 11 is less. Does that mean that Java 17 is slower than Java 15?
Well, no. Java 17 is faster than Java 15 too. Those previous benchmarks were run on a different codebase (OptaPlanner 7.44 instead of 8.10). Don’t compare apples and oranges.
Conclusion
In conclusion, the performance gained in the JDK17 version is well worth the upgrade - at least for these use cases.
In addition, the fastest garbage collector for these use cases is still ParallelGC, instead of G1GC (the default).

MTTR, CSAT, SAIDI, and SAIFI? How scheduling and routing optimization drives customer satisfaction in field service
It's 8 PM, and a customer's power has been out since a summer storm rolled through that afternoon. The utility estimated power would be back hours ago. No crew has arrived, and the utility has sent no updates.
To the customer, it feels like the company has forgotten they exist. But the outage did not become a customer service problem when the lights went out. These issues are a systematic result of rigid systems and manual dispatching.
If you lead a field service operation, that is the practical takeaway of this article: most customer satisfaction failures in field service are scheduling failures. Slow repairs, missed arrival windows, and silence all trace back to routing and assignment decisions made before a crew left the depot. This article follows that chain from dispatching to the four metrics leadership answers to, and explains what actually has to change to move them.
How are field service scheduling and customer satisfaction connected?
Scheduling is one of the biggest drivers of customer satisfaction in field service, and the link is easy to miss because the two live in different reports. Scheduling shows up in operations dashboards, while satisfaction is hard to surface. Indications of satisfaction do show up in survey scores (like the CSAT score) and regulator filings, but who actually conducts those? To gain insights in how happy customers are, field service companies look at objectively measurable metrics like Mean Time to Repair (MTTR), First Time Fix Rate (FTFR), System Average Interruption Duration Index (SAIDI), and System Average Interruption Frequency Index (SAIFI). We'll get to explaining these metrics later on in this article.
| Metric | What it measures | Who watches it | How scheduling moves it |
|---|---|---|---|
| MTTR Mean Time to Repair |
Average time from report to completed repair | Service operations | Routing, technician assignment, parts availability, and return visits |
| First-time fix rate | Share of jobs completed on the first visit | Service operations and finance | Matching required skills and parts to the visit before dispatch |
| CSAT Customer Satisfaction Score |
Survey-based satisfaction, typically per interaction | Customer experience and service leadership | Repair speed, appointment adherence, and update quality |
| SAIDI and SAIFI | Average outage minutes per customer, and average outage frequency per customer | Utility leadership and state regulators | Crew dispatch, routing, and restoration sequencing |
The connection becomes obvious once you look at what dispatch decisions produce. Slow repairs, missed windows, and radio silence are not three separate failures. They are one problem viewed from opposite ends: the schedule on the one side, the experience on the other.
How does scheduling affect MTTR?
The first link is repair speed, which leadership tracks as Mean Time to Repair. On the surface, MTTR looks like a measure of how fast technicians work. That is only part of it. Much of the elapsed time is committed before a technician sets foot on site.
Routing, technician assignment, and parts availability all determine how quickly a repair can even begin. Poor routing adds drive time. A skill mismatch sends the wrong technician. A missing part turns one visit into two, and every return visit adds to MTTR.
The travel overhead is substantial to begin with. Geotab estimates that the average field service technician loses more than 40% of the workday to travel, idle time, and scheduling inefficiency. Treat that as a vendor estimate rather than peer-reviewed research, but the direction is uncontroversial to anyone who has watched a dispatch board. Every scheduling mistake is layered on top of that baseline.
These are scheduling decisions, not labor problems. Better scheduling starts with three of them:
- Routing and sequencing that cut drive time between jobs, so more of the day goes to fixing than driving.
- Skills and parts matching that raises the first-time fix rate, a primary driver of a fast repair. In practice this means treating a required certification or a part on the van as a scheduling input, not something the technician discovers on arrival. Timefold models this explicitly as a skills constraint on the visit.
- Real-time rescheduling that absorbs the emergency call or the no-show without derailing every appointment behind it.
That third one is where most operations lose the day. Consider a dispatcher covering 60 technicians and roughly 240 visits. At 14:00 a priority job comes in. Assigning it to the nearest available technician is the fast decision, and it is usually the wrong one, because it pushes the later appointments past their promised windows. The right decision is to freeze what's already going on, pin what can't be moved (due to SLAs and time-windows), and look where the schedule can be re-optimized against the remaining day, around the insertion. It might not be instinctive, but the replanning approach is always more efficient and less disruptive then "who is closest".
Get the scheduling right, and MTTR goes down.
Why do missed service windows hurt customer satisfaction?
Longer repairs create the next problem: missed service windows. As repair times stretch, promised arrival windows get harder to keep. Customers schedule their day around those commitments. When a crew does not arrive as promised, a service delay becomes a broken promise.
Frustration compounds when it is not the last broken promise. A crew arrives without the right skills or parts and books another visit. Or no one arrives at all. Each missed appointment and repeat visit forces the customer to rearrange their life again, and appointment adherence, the share of visits that land inside the promised window, is the metric that captures it.
Do broken promises cause customer churn?
Every appointment shapes the relationship, and customers do act on bad experiences. In PwC's 2025 customer experience survey, 52% of consumers said they stopped buying from a brand after a bad experience with its products or services, and 29% said they stopped because of poor customer experience specifically.
Utilities are a partial exception, because a residential customer with one provider cannot leave. That does not make the risk disappear, it relocates it: to regulator scrutiny, to commercial and industrial accounts that do have alternatives, and to the service contracts and warranty renewals that sit alongside the core business. For field service organizations in competitive markets, churn is direct. Arriving inside the window, consistently, is the cheapest loyalty program available.
How does a real-time ETA improve the customer experience?
After a missed window, customers want an explanation. Good scheduling is what makes an accurate one possible, because you can only promise a credible arrival time when the plan reflects where crews actually are.
Here is how a live plan keeps customers informed at each stage:
- A confirmed window at booking, so expectations start out accurate rather than optimistic.
- An en-route notification with a live ETA, so the customer knows the crew is close.
- A proactive heads-up the moment the plan slips. A delay the customer hears about early is an inconvenience. The same delay discovered at 20:00 is a broken promise.
Note where the boundary sits. The field service management system owns the customer record and sends the notification. What it cannot do is invent an arrival time that the plan does not support. Accurate customer updates depend on an accurate plan, and an accurate plan means one that is recalculated as the day changes rather than published at 06:00 and defended all day.
Why a service day is a constraint problem, not a calendar
Everything above points at the same underlying question, and it is worth naming precisely, because "improve your scheduling" is advice, not a mechanism.
A service day looks like a calendar. It behaves like a constraint problem. Each visit carries requirements that compete with each other: a required skill or certification, a customer time window, a part that has to be on the van, travel time that depends on which job comes before it, technician working hours and overtime limits, task dependencies where one visit cannot start until another finishes, and fairness across the crew so the same technicians do not absorb every bad route.
In constraint terms, these separate into layers:
- Hard constraints cannot be broken. A technician without the required certification cannot take the job. A plan that violates a hard constraint is infeasible, not merely bad.
- Soft constraints express preferences with configurable weights. Minimize travel, minimize overtime, honor customer preferences, distribute work fairly. These trade off against each other, and the weights are where an organization encodes what it actually values.
That distinction is what separates optimization from a scheduling assistant. There is no plan that maximizes every objective at once. Cutting travel to the minimum concentrates work on a few technicians. Perfect fairness costs drive time. The useful question is not "what is the best plan" but "what tradeoff does this organization want, expressed as weights the plan is solved against".
Manual dispatch handles this well at small scale. A dispatcher who knows 15 technicians by name and can hold their skills and territories in their head produces good plans. It degrades as the numbers grow, because the combinations grow faster than any person can evaluate, and it degrades fastest under exceptions, which is exactly when customers are watching. Spreadsheets and rules-based assignment hit the same wall.
This is the layer Timefold builds. The Field Service Routing API is an optimization engine that assigns technicians and vehicles to visits while respecting skills, time windows, travel, overtime, dependencies, and fairness, with 50+ pre-built constraints and weights you configure to your operation. It is not a field service management platform, and it does not replace one. It plugs into the FSM, work order, or dispatch system you already run through an API, takes over the decision of who goes where in what order, and hands back a plan the rest of your stack can act on. Timefold is the commercial evolution of OptaPlanner, with more than 20 years of constraint-solving heritage behind it. For a fuller treatment of how these models are built and integrated, see the field service routing optimization guide.
One caveat worth stating plainly: optimization quality depends on input quality. If skills data is stale or travel times are guesses, the plan inherits those errors. Data foundations come first.
How does scheduling affect CSAT, SAIDI, and SAIFI?
Repair speed, service window performance, and update quality all land on the same scoreboard. For most service organizations that means a Customer Satisfaction Score (CSAT), collected per interaction. Teams that respond faster and keep their commitments more consistently tend to score higher, which is unsurprising once you accept that CSAT in field service is mostly a measure of whether the plan held.
Utilities answer to public reliability metrics as well. SAIDI, the System Average Interruption Duration Index, measures how many minutes of outage the average customer experiences in a year. SAIFI, the System Average Interruption Frequency Index, measures how often. Both are calculated under the IEEE 1366 standard and reported to state regulators, who publish and act on them; Michigan's Public Service Commission, for example, tracks distribution reliability metrics including SAIDI and SAIFI. SAIFI is largely driven by asset condition and vegetation management. SAIDI is different, because duration depends on how fast crews are dispatched, routed, and sequenced through restoration work. That makes SAIDI the reliability metric most exposed to scheduling quality.
What this means for service leaders
Weather, aging equipment, and demand spikes sit outside a service leader's control. Scheduling does not.
That is the argument of this article in one line: the dispatch board is upstream of MTTR, of appointment adherence, of CSAT, and of SAIDI, which makes it one of the few customer experience levers that can be pulled directly rather than lobbied for. Most organizations still treat it as a staffing and dispatch-tooling question. It is a constraint modeling question, and it has better answers than it used to.
If you want to see what that looks like against your own constraints, the Field Service Routing model documentation is the place to start.

SLA compliance: What missing deadlines actually costs you in field service
A service call runs long, and your team misses an SLA commitment. The incident is documented, stakeholders are notified, and damage control begins. A root-cause analysis is initiated, corrective actions are identified, and the operations team assures the customer that the issue will never happen again. Soon after, the financial penalty is assessed, the fee appears on an invoice, and the incident is closed.
Most organizations stop measuring the cost there. Your customer does not. The penalty fee is the most visible consequence of an SLA miss, and it is usually the smallest. The larger costs, including customer churn, reputational damage, and risk to current and future contracts, keep affecting your business long after the original incident is resolved.
Your customer remembers the disruption the breach brought to their operation. And while your operations team focuses on preventing the next violation, your customer is evaluating whether they can continue relying on you.

The number on the invoice vs. what really matters
After an SLA violation, it is relatively easy to calculate the direct financial impact. That figure appears on an invoice and is included in management reports. In many organizations, the number becomes the primary measure of the incident's impact.
The problem is that the number on the invoice captures only the direct cost of the violation. It does not capture the broader business impact that often follows.
Paying the financial penalty may satisfy your contractual obligations. Rebuilding customer trust is another matter, and that is why customer churn begins long before a contract officially ends.
| Cost | Visibility | When it hits | How it is measured |
|---|---|---|---|
| Penalty fee | High, on the invoice | Immediately | Direct, in dollars |
| Customer churn | Low | Months later, often at renewal | Lost contract value |
| Renewal and rebid leverage | Low | At contract renewal | Weaker pricing and terms |
| Reputational damage | Low | Future bids and awards | Harder to win new contracts |
Customer churn: the quiet cost of eroded trust
Customers do not always complain after an SLA miss. More often, trust erodes gradually. In many industries, replacing a service provider is neither simple nor quick. A customer may continue the relationship while quietly evaluating alternatives or preparing to test the market at contract renewal.
That possibility of losing their business matters because customer retention has a direct effect on profitability. Replacing lost customers is significantly more expensive than retaining existing ones. As Stripe notes, customer acquisition costs often exceed retention costs by a wide margin. That makes customer churn one of the most expensive hidden consequences of an SLA miss.
How SLA history shapes renewal and rebid outcomes for current contracts
Contract renewals are rarely based on a single SLA violation. Instead, customers look for patterns across multiple incidents. Historical SLA performance provides an objective record of how consistently a provider has met its commitments, which makes it an important consideration in renewal and rebid decisions.
Strong performance builds renewal confidence
Customers prefer to avoid the time, cost, and disruption of changing service providers. A strong SLA history reduces perceived risk and reinforces confidence that a provider can continue to meet expectations. As a result, providers with consistent performance records are often in a stronger position during renewal discussions.
Repeated misses shift negotiating power
When SLA violations become a pattern, customers may use historical performance data to:
- negotiate lower pricing,
- demand stricter service requirements, or
- require additional reporting and greater oversight.
In more serious cases, repeated SLA misses increase the likelihood of a competitive rebid. A customer may issue an RFP (a request for proposal that opens the contract to competing providers) and evaluate alternatives rather than let the contract renew automatically. Even when the contract is ultimately renewed, the provider may operate from a weaker position.
SLA compliance violations damage reputation for future contracts
If you think a history of SLA slips stays with the affected customer, you would likely be mistaken. According to the Procurement Excellence Network, vendor performance evaluations may be considered during future contract awards and shared across departments and peer organizations. That means a history of missed SLAs can follow your company into future contract opportunities.
What it looks like to manage SLA risk before the miss, not after
These risks are often easier to address before an SLA violation occurs than after.
For field service organizations, many SLA risks originate long before a technician arrives on-site. Scheduling decisions, technician availability, and changing service demands can all influence whether service level commitments are met.
Identifying those risks before they become customer-facing problems can help mitigate or eliminate SLA violations, along with the business consequences that follow.
Frequently asked questions
Does paying the SLA penalty resolve the issue? Paying the penalty satisfies the contractual obligation, but it does not rebuild customer trust or reverse the disruption the customer experienced.
How does SLA history affect contract renewals? Customers look for patterns across incidents. A strong record reduces perceived risk at renewal, while repeated misses can shift negotiating power and invite a competitive rebid.
Can a single SLA miss cost you a contract? Rarely on its own. The larger risk comes from a pattern of misses that erodes trust and shows up in renewal and rebid decisions.

Same coffee, same shoes, same plan: the beauty of no surprises
Same coffee, same shoes, same plan
I am, by most reasonable definitions, a creature of habit.
Same coffee every morning. Same brand of shoes for years (and a small grieving period whenever a pair finally gives up and I have to go shopping for new ones). Same route to the office. Same seat at the dinner table. My partner finds this both endearing and, occasionally, a little bit boring.
Now, this is not because I hate change. I genuinely enjoy exploring new things. New countries, new conferences, new restaurants, new problems to model. But underneath all that exploring, there is a quiet preference humming away: I like knowing what I’m going to get.
It probably won’t surprise you that this same preference is what nudged me toward software engineering in the first place. There’s something deeply satisfying about a function. You put 2 and 3 in, you get 5 out. You run it again tomorrow on a different machine, in a different timezone, after a different coffee, and you still get 5.
Most of my career has been built on that simple promise: given the same inputs, give me the same outputs. It’s how you debug things. It’s how you trust things. It’s how you sleep at night when your code is running in production.
So when I tell people I now work at an AI company, I sometimes get a raised eyebrow. The implied question is usually:
“Wait. You? The guy who reorders the exact same dish every time? Working in AI?”
I guess that’s fair…
The thing most people now call “AI”
When most people hear “AI” in 2026, their brain jumps straight to Generative AI. ChatGPT. Image generators. Coding assistants. The kind of AI that, by design, can give you a slightly different answer every time you ask. Sometimes wildly different.
That non-determinism is actually a feature for Gen AI. If you ask for “a haiku about suffering through allergies”, you don’t want the exact same poem every time. You want variety, creativity, surprise.

But not everything runs on poems. A lot of the world runs on plans. Plans for delivery routes. Plans for shift rosters. Plans for which truck picks up which order at which time. And for those, “a slightly different answer every time” is not charming. It’s a nightmare.
Being predictable isn’t boring, it’s a superpower
Here’s what I love about working at Timefold: our solver is AI, but it’s deterministic. Same data in, same CPU budget, same answer comes out.
That sentence sounds unremarkable until you’ve spent a few years debugging planning systems where it wasn’t true. Where re-running the same input gave you a different roster, a different route plan, a different recommendation… and you had no way to tell whether the difference came from the algorithm doing its job, from a bug, or from cosmic radiation (this is not sci-fi… it happens and is one of the main reasons why building data centers in space is hard).
Determinism unlocks a bunch of things that are otherwise really hard:
- You can reproduce bugs. A planner reports a weird shift assignment? You re-run the same dataset and you get the exact same weird assignment. Now you can actually investigate it.
- You can test. Real tests, with real assertions, that don’t randomly fail every third CI run. Your tests don’t say “the solution should be roughly this.” They say “the solution is this.”
- You can A/B compare changes. Want to know if your new constraint tweak actually improved things? Run before and after on the same data. Any difference you see is caused by your change, not by the dice.
- You can build trust. Planners using the system see the same plan twice and start to believe in it. Show them a different answer each time and you’re toast, no matter how good the math is.
This isn’t a small thing. It’s the difference between a system you can operate and a system you have to babysit.
Determinism is the old next thing!
I get why determinism doesn’t make for exciting marketing copy. “Our AI gives you the same answer every time” is not going to trend on LinkedIn. It sounds almost like a downgrade in an era where people expect their AI to dazzle them with novelty.

But for planning problems, where decisions affect real shifts, real deliveries, real people, boring is exactly what you want. You want a system that behaves the same way on a Tuesday as it does on a Friday. You want a result you can defend, reproduce, and test.
In other words, you want your planning AI to be a bit of a creature of habit. Same input, same output. Same coffee, same shoes.
Honestly? It’s my favorite kind of magic. 🙂

Timefold Raises $13M as AI Drives Demand for Routing and Scheduling APIs
- Led by Alstin Capital, co-investor Kompas VC, and continued backing from Lakestar and Smartfin
- ARR grew 4x in 2025 as enterprises like NEC Software Solutions, CBRE, Lufthansa, Thales, and Subaru embedded Timefold's APIs into mission-critical scheduling solutions
- Funding will accelerate US expansion and platform product development
%201.avif)
GENT, BELGIUM - 23 June 2026 - Timefold, the developer platform for vehicle routing and shift scheduling APIs, today announced the close of a $13M Series A funding round led by Alstin Capital, with co-investor Kompas VC, and continued backing from existing investors Lakestar and Smartfin.
Timefold enables software teams in field service and workforce management to easily integrate enterprise-grade scheduling optimization into the solutions they are supporting.
The round follows a year of commercial momentum. In 2025, Timefold grew its annual recurring revenue 4x, driven by enterprises and software vendors embedding its APIs into mission-critical field service operations and scheduling workflows.
The new funding will accelerate Timefold’s US expansion and support the growing enterprise demand for easy-to-integrate scheduling optimization infrastructure.
"Schedules run the world," says Maarten Vandenbroucke, CEO of Timefold. "We are all at the mercy of a schedule, and so are the millions of frontline workers whose days depend on getting it right. As software becomes increasingly autonomous, optimization becomes foundational infrastructure. That’s why we believe Timefold is the best vehicle routing scheduler. Our platform gives software builders the ability to embed enterprise-grade decision intelligence into their applications, enabling better outcomes for businesses, workers, and customers alike."
Scheduling optimization for the AI builder era
The rise of AI agents is creating a new generation of software that can understand requests and generate schedules. But LLM-generated schedules don't always work in production because of its probabilistic nature.
Timefold offers AI-powered software powered by a deterministic algorithm to tackle large-scale scheduling challenges. It enables teams to automate decisions on which technician should visit which customer, how to respond when a technician calls in sick, or how to create a shift schedule that is fair, compliant, and fully staffed.
That decision-making is particularly essential in field service, where operations are among the hardest scheduling environments to manage. Every day, companies must coordinate thousands of jobs while balancing technician qualifications, SLAs, labor regulations, travel times, customer availability, and last-minute disruptions in real time.
Freeing the world from wasteful scheduling
Handling any constraint, any scale, and any level of operational complexity, Timefold delivers measurable results. A global real estate services company reduced drive time by up to 33%, cut distance traveled by 43%, and eliminated overtime entirely using Timefold’s Field Service Routing solution. A major US retail staffing provider reduced a scheduling process that previously took 10 weeks to just 10 minutes using Timefold’s Employee Shift Scheduling model.
Enterprise customers, including NEC Software Solutions (NECSWS), CBRE, Orange Telecom, ADP, and Lufthansa, rely on Timefold to power operational scheduling workflows where inefficiency directly impacts profitability, customer experience, and workforce productivity.
“We chose Timefold because it gave us a practical way to bring advanced planning AI into real operations without slowing down delivery,” says Kay Aston of NECSWS. “Their technology helped us move faster, create clear operational value, and strengthen how we bring optimization capabilities to our customer base.”
Scheduling as a foundational component
Timefold believes scheduling optimization will become a foundational component of software in the AI era. As software development becomes more accessible and AI-generated applications become commonplace, the company’s vision is to become the default platform for building, deploying, and operating scheduling optimization models, enabling any software team to solve complex scheduling problems at scale.
"What matters in mission-critical scheduling isn't creativity, it's correctness: a shift roster or a vehicle route has to be right, compliant, and reproducible every time. LLMs aren't built for that. What convinced us to lead Timefold's round was the team's understanding of exactly that constraint, and what they've built around it. They've taken a battle-tested open source optimization engine and wrapped it in modular products that any enterprise can deploy, without needing a team of mathematicians. That's how deep optimization technology becomes infrastructure, and we believe Timefold is best placed to own that category”, says Alexander Meyer-Scharenberg, Partner at Alstin Capital.

How upskilling technicians unlocks field service routing efficiency
In telecom, utilities, and HVAC, not every technician can handle every job. A field engineer certified for fiber installations may or may not also hold IP networking qualifications. These skill gaps seem like a workforce planning issue, but they compound into a routing problem that costs companies millions in unnecessary travel time and lost capacity.
The question worth asking: how much money are you leaving on the table? We've modeled it across multiple scenarios and quantified the answer in dollars.
The problem
Consider a simplified but representative example: 5 service visits, 2 technicians, each visit requiring one specific skill, each technician holding one skill.

The routing algorithm has no choice but to send both technicians across the city to match skills to jobs, even when a geographically closer technician could handle the work with a single additional qualification.
The result is excessive travel time, reduced daily capacity, and lower customer face time.
The opportunity
Now consider what changes when one technician is cross-trained.

With the red technician qualified for network jobs as well, the routing engine can assign jobs more efficiently, and the other technician's route contracts immediately.
Extend that to both technicians holding all relevant skills, and both routes shorten substantially.

Total travel time drops significantly, freeing capacity for additional visits or higher-quality customer interactions. The productivity gain is real and measurable, not theoretical.
The benchmarks
To move beyond simplified examples, we modeled this against a Los Angeles dataset with 1,012 service visits, 253 technicians, and three distinct skill types. Each job requires exactly one skill, but coverage of technician skills varies.
We ran three scenarios to simulate progressive upskilling investment:
- 1 skill per technician (baseline): No cross-training. Each technician holds exactly one qualification.
- 2 skills per technician: Every technician is trained on one additional skill.
- 3 skills per technician: Full cross-training. Every technician holds all three qualifications.
All three scenarios were solved using our Field Service Routing API.

The results
The productivity gains from upskilling are significant and consistent.

Moving from 1 to 2 skills per technician reduces travel time by 23%. For a technician averaging 2 hours of daily drive time, that's over 26 minutes saved per day, which compounds to 88 hours per year at 200 working days. At a $50/hour wage rate, that amounts to $4,400 in recovered productivity per technician annually.

Moving from 2 to 3 skills reduces travel time by a further 17%, adding another $3,400 per technician per year.
Partial upskilling
Partial upskilling still delivers meaningful ROI. Training only half the workforce on a second skill still yields a 14% reduction in travel time: $2,800 per technician per year across the organization.

Interestingly, the ROI in this scenario reaches $5,600 per trained technician annually, as the routing engine concentrates efficiency gains through the newly cross-trained subset. The aggregate company-wide return is lower, but the per-investment return is higher; a useful lever for phased rollout decisions.
Conclusion
This analysis is based on a single dataset from a single metropolitan region. Field operations at an enterprise scale are considerably more complex, involving non-uniform skill distributions, varying geographic densities, and routing challenges across hundreds of service regions and time periods.
This study demonstrates the structure of the ROI opportunity. The specific numbers will vary with your workforce composition and operational footprint, but the finding is consistent with what we observe across our customer base.
The most accurate projections come from running these simulations against your own data. We can do exactly that and give you a defensible, operations-specific estimate of the value of upskilling investments before you make them.

How much fuel can route optimization actually save?
Fuel costs are rarely the largest expense on a field service balance sheet, but they are often the most visible indicator of operational waste. For most fleet managers, the primary challenge is not deciding whether to optimize. The real challenge is determining exactly how much margin is being lost to the road and how to capture that value in a way that satisfies a CFO.
That second part matters more than vendors usually admit. After deploying optimization, fleets often see metrics improve in some places and degrade in others. Before deciding on scheduling optimization, it is worth knowing what the typical savings range looks like, what drives the spread, and how to measure savings in a way that survives a CFO review.
What savings to expect
Across published case studies and operator interviews, field service operations moving from dispatcher-built routes to automated route optimization typically see drive time fall 15% to 30%. Fuel consumption tracks closely, with reported savings of 10% to 25% depending on territory geometry and stop density.
Two things drive the spread:
- Starting point. Fleets coming off paper routes or single-dispatcher Excel tend to land at the high end. Operations already running a basic FSM with simple capacity rules often start at 5% to 10% savings and grow from there as constraints get tuned.
- Constraint stack. A fleet with skill matching, time windows, SLAs, and overtime rules is already hard manage manually. Add multi-vehicle stops, dependent jobs, or rolling time-windows, and it becomes impossible. So, the complexer the operations, the harder it is for the human planner to zoom out, or to think about efficiency. In these cases, a feasible schedule is already a big win, but fuel costs are not something taken into account.
According to Service Council research, the cost to dispatch a technician ranges from $250 in urban environments to as high as $2,500 for rural or multi-day jobs. When you combine this with the US National average fuel price hovering at $4.50 per gallon (May 2nd, 2026),high costs are draining your service profits.
[highlight]
A useful baseline: A 200-technician operation averaging 90 miles per tech per day at 20 mpg burns roughly 900 gallons daily. At the current national average of $4.50 per gallon, that is $4,050 daily, or $1,012,500 per year (based on a 250-day work year).
- A 15% reduction in fuel usage/mileage results in $151,875 in annual savings.
- A 25% reduction results in $253,125 in annual savings.
Overtime savings often add another 30% to 50% on top because fewer hours behind the wheel means fewer late-day SLA scrambles.
[highlight]
How to measure routing optimization savings credibly
Three traps operations leaders fall into:
- Comparing optimized days against manual days that were not comparable. Manual routing tends to do better on light days and worse on heavy days. If the rollout coincides with a seasonal lull, the comparison flatters the optimizer. The fix: index by stops-per-day or jobs-per-tech, not raw miles.
- Counting gross miles, not the right miles. "Miles driven" includes deadhead, on-job movement, and home-to-first-stop legs. Optimization should mostly cut the first two. If you measure all three together, returns look smaller than they are. Pull a week of telematics data and split it before you set the baseline.
- Relying on "Holdout" territories. Comparing one territory against another is often flawed because no two regions have the same density or traffic patterns. The cleanest measurement approach is a parallel plan analysis: run your manual process as usual, but simultaneously feed the exact same job data into the optimizer. Compare the two resulting schedules for the same day to see the true delta in miles and cost.
Where different tools fit in the fuel-cost picture
The market often gets discussed as if every "route optimization" product is the same thing. They are not. Four product categories show up in fuel-reduction conversations, each doing a different job:
| Category | Example | What it actually does | Where it moves fuel |
|---|---|---|---|
| Map / matrix API | Google Maps Platform | Returns travel times and distances; routes a given sequence. | Indirect: provides the data layer optimizers depend on. |
| Field service management (FSM) | Salesforce Field Service, ServiceNow, ServiceMax,... | End-to-end work order, dispatch, and mobile ops. | Direct, but limited to constraints and tuning the FSM exposes. |
| Scheduling API | Timefold Field Service Routing | Optimization-as-an-API: feeds in jobs, skills, certificates, time windows, SLAs,... | Direct, designed for service constraints; embeds into existing stacks. |
The right pick depends on what you already have. If you are running Salesforce Field Service and your dispatch lives there, the question is whether the bundled optimizer is hitting the savings range above. If not, you might need to call out to a scheduling API to fill the gap. If you are running a homegrown ops stack, you need a solution that provides both the distance data and the solver engine to find the best routes.
Three questions to expose if a vendor can deliver
These questions help separate vendors that can actually deliver savings from those that just quote them:
- Can your engine support all our hard constraints simultaneously? If an optimizer cannot handle every real-world rule (skills, windows, SLAs) at the same time, it will produce "invalid" routes. When a planner has to manually fix these, any theoretical fuel savings immediately vanish.
- How can the schedule adapt to real-world events? Most fuel waste happens after disruptions like sick technicians, overrun jobs, or cancellations. If the engine cannot re-solve the schedule in seconds during the day, the efficiency you gained in the morning is lost by lunch.
- How do we prove the savings during a pilot? Avoid "before and after" comparisons. Ask the vendor to perform a "shadow" run where they optimize a historical week of your real data and compare it against the actual routes your team drove.
Fuel cost is the easiest win in field service. The savings are real, the math is settled, and the technology is mature. What is left is fit: with your stack, your constraints, and how your team actually runs.

When scheduling works, everything works.
Less waste. More control. Teams that trust the plan.