This is a sample report. Start your own assessment below. Start Your Assessment →
← All use cases
Manufacturing & logistics

Orders pulled in the morning, routes generated around the delivery windows.

What the audit checks

A dispatcher plans routes from experience and a map in their head. That works while there are few drivers. The audit checks whether your addresses are usable, which constraints have to hold, and how many kilometres are genuinely on the table.

Self-Audit Assessment Report

Delivery route optimisation

01 Jan 2026

01/Recommendation
Recommended path

AI Agent + human review

Automate the routine 75% of routes with an AI workflow and keep a human in the loop for the exception quarter.

The delivery route optimisation process is a strong candidate for a hybrid approach: an AI-powered workflow handles address validation, constraint checking and route generation for standard cases, while a human dispatcher reviews and approves the roughly 25% of runs that require judgement. This directly matches the client's stated goal of letting routine cases handle themselves and reserving human attention for exceptions. The preferred tech stack of Python against a readable MES database is well suited to this approach: a Python-based optimisation engine (e.g. OR-Tools or similar) can be built and maintained by the in-house automation engineer, with an AI layer to classify exceptions and surface them for human review. Traceability and product safety requirements are met by logging every routing decision and keeping a human sign-off gate on non-standard runs.

Python is an excellent fit for route optimisation libraries and MES database integration; the automation engineer can own and evolve the solution without external dependency, and the readable MES database provides the data foundation needed from day one.

02/Process Overview

Process Overview

The Delivery Route Optimisation process runs roughly 260 times a year, typically a few times a week in bursts. Each morning, a dispatcher pulls the day's orders, reviews the delivery addresses for usability, identifies constraints like delivery windows and vehicle capacity, and then plans routes from experience and a mental map of the area. The finished routes are communicated to drivers via email and spreadsheets. When data errors surface late in the process, the dispatcher handles rework manually. The whole cycle takes around 75 minutes per run, adding up to approximately 325 hours of manual effort annually.

The process sits at the intersection of a readable but ageing MES database and a set of routing constraints that are well understood by one or two experienced people but not yet written down anywhere. About 75% of runs follow a pattern that is consistent enough to automate, but the remaining 25% require genuine human judgement, whether because of unusual delivery requirements, late-surfacing data errors, or constraints that fall outside the standard logic. Product safety and traceability requirements add a compliance dimension: any routing decision that contributes to a defective product reaching a customer could trigger a recall, so every decision needs to be logged and non-standard runs need a human sign-off.

The process owner is the dispatcher, with oversight from the plant manager. The primary data source is the MES database, which is readable by custom code even though it does not expose modern APIs. An automation engineer is available in-house and is willing to learn Python, which makes a self-maintained technical solution realistic without bringing in ongoing external dependency.

03/Path Scores

Path Scores

AI Agent + human review Recommended
9/10

Routine cases are rule-bound and high volume enough to justify automation, while the 25% exception rate and traceability requirements demand a human gate. A hybrid model delivers the client's stated win: boring cases automated, exceptions escalated. Python and the MES database make this buildable in-house.

AI Workflow
6/10

An AI workflow could handle the standard cases well, but fully removing the human from exception handling introduces unacceptable risk given the recall-level compliance stakes. It is viable as the engine inside the hybrid approach but not as a standalone end-to-end solution.

Traditional Code
6/10

A deterministic Python optimisation engine (OR-Tools, PuLP) would handle the standard routing well and is fully within the automation engineer's reach. It lacks the ability to classify ambiguous exceptions intelligently, so the exception quarter would still fall back to fully manual handling, limiting overall savings.

Education (AIRIES) Not recommended
4/10

Training the dispatcher and team to use AI tools would yield incremental gains but would not structurally solve the 325 hours per year of manual effort. Education is a necessary complement to the recommended path, not a substitute for it.

RPA Not recommended
3/10

RPA is suited to repetitive UI-based tasks with stable screens. Route optimisation involves combinatorial logic and judgement that RPA cannot perform; it could assist with data extraction from the MES but would not address the core planning problem.

AI Agent Not recommended
3/10

A fully autonomous agent operating without human gates is inappropriate given the recall-level compliance requirements and the 25% exception rate. The process is not mature or stable enough to trust end-to-end agent autonomy at this stage.

Stay Manual Not recommended
1/10

The current state consumes 325 hours per year, relies on tacit knowledge held by two or three people, and produces rework on roughly a quarter of runs. Staying manual is a fragile and costly baseline with no path to improvement.

04/Process Dimensions

Process Dimensions

Eight dimensions drive the recommendation, scored 0–10 with a note on each.

Data Structure 6/10

Order and address data exists in the MES database and spreadsheets, but it is fragmented across systems and contains quality issues that cause downstream rework.

Rule Clarity 6/10

Standard routing constraints are reasonably well defined, but the exception cases rely on dispatcher experience and are not yet codified, requiring an elicitation phase before automation.

Exception Frequency 4/10

Approximately 25% of runs are non-standard and require human judgement, which is high enough to make a fully automated approach risky without a human review gate.

Integration Readiness 5/10

The MES database is readable and an automation engineer is available, but there are no confirmed modern APIs or webhooks, so integration will require custom database connectors.

Volume / ROI 7/10

260 runs per year at 75 minutes each totals 325 hours annually, representing a meaningful and quantifiable cost that justifies the build investment.

Process Stability 6/10

Delivery constraints and order patterns are relatively stable in manufacturing logistics, though seasonal or customer-driven changes could require periodic model updates.

Human Judgment Required 5/10

The standard case requires minimal judgement and is automatable, but the exception quarter demands experienced human oversight, making a hybrid gate essential rather than optional.

Compliance Requirements 7/10

Product safety and traceability requirements mean every routing decision must be logged and exceptions must carry a human sign-off to support any recall investigation.

05/ROI Estimate

ROI Estimate

£24,375

Current annual cost

65%

Estimated time saved

£15,844

Annual savings

11mo

Payback period

Build cost estimate: £8,000 – £18,000

Current annual cost is calculated as 260 runs x 75 minutes / 60 x GBP 45 per hour = GBP 24,375. A 65% saving reflects full automation of the standard 75% of runs and a reduction in exception handling time; the remaining 35% covers the human review gate and residual coordination effort.

06/Implementation Roadmap

Implementation Roadmap

1
Data Audit and Constraint Elicitation 2-3 weeks

Map all data fields available in the MES database and spreadsheets, clean address data, and run structured interviews with the dispatcher to codify the routing rules and exception criteria. This phase produces a documented constraint model and a labelled dataset of past runs split into standard and exception cases. Effort is primarily the automation engineer plus one dispatcher session per week.

2
Build Core Python Routing Engine 3-4 weeks

Implement a Python-based route optimisation engine using an open-source solver (OR-Tools is recommended) that ingests the morning order pull from the MES database and generates candidate routes for standard cases. Include an automated address validation step to catch data quality errors before they cause rework. The automation engineer owns this build with support from a senior Python developer if needed.

3
Add AI Exception Classifier and Human Review Gate 2-3 weeks

Train or configure a lightweight classifier (rules-based or a small ML model) to flag runs that fall outside the standard constraint envelope and route them to a dispatcher review queue. Build a simple web or email-based interface so the dispatcher can approve, adjust or override the suggested route before it is dispatched. All decisions, automated and human, are logged for traceability.

4
Pilot and Calibration 4 weeks

Run the system in parallel with the existing manual process for four weeks, comparing outputs and measuring exception rate, rework rate and time saved. Use dispatcher feedback to refine the exception threshold and fix edge cases in the optimisation engine. Success criteria: automated routes match or beat manual routes on distance for standard cases, and dispatcher review time for exceptions is under 15 minutes per run.

5
Full Rollout and Knowledge Transfer 1-2 weeks

Decommission the parallel manual process, hand ownership of the system to the automation engineer, and document the constraint model and exception criteria so the solution is not dependent on any single person. Schedule a quarterly review to update constraints as delivery patterns evolve.

07/Risks & Considerations

Risks & Considerations

The biggest risk is that the constraint model captured during elicitation is incomplete. Dispatcher knowledge is tacit and built over years; structured interviews will surface most rules but edge cases will emerge in production. The pilot phase is essential and must not be skipped. If the exception classifier is tuned too aggressively toward automation, non-standard runs will be dispatched without human review, which under the product safety and traceability requirements could contribute to a recall scenario. The human gate must be a hard architectural requirement, not an optional feature.

Data quality in the MES and spreadsheets is a known issue and the root cause of much current rework. If address validation and data cleaning are not built into the first step of the automated pipeline, the optimisation engine will inherit the same errors and produce bad routes with false confidence. The data audit milestone must be completed thoroughly before any routing logic is built on top of it.

AIRIES/Learning recommendation

Train the team, not just the tool.

In partnership with AIRIES, the Swiss AI learning platform. These levels fit your result.

Recommended levels
  1. 3
    Corporate Applied Intelligence & Automation
    Turn your own tasks into AI workflows, build reports and dashboards, set up a personal AI assistant.
  2. 4
    AI Leadership & Scalable Systems
    Design teams of AI agents and automate whole departments.
Why these levels

Level 3 gives the automation engineer and dispatcher the practical skills to map the current process, identify automation opportunities and build the first AI-assisted workflow in Python. Level 4 equips the plant manager and senior dispatcher to design the exception escalation logic, set decision playbooks for non-standard runs, and scale the approach to other logistics processes in the plant. Both levels directly address the hybrid model recommended here, where humans and automated systems share responsibility for routing decisions.

Focus topics
Who should take it

The automation engineer who will build and maintain the system, the dispatcher who will supervise the exception queue, and the plant manager who will own the process.

Explore these levels on AIRIES → The levels come from the AIRIES course catalogue. Opening the link does not commit you to anything.
08/Architecture Overview

Architecture Overview

flowchart TD A(["Morning Order Pull"]) B["MES DB Connector"] C["Address Validation"] D["Python Route Engine\n(OR-Tools)"] E{"Exception\nFlagged?"} F["Dispatcher Review\nQueue"] G["Auto-Dispatch\nRoute"] H["Log & Trace Store"] I(["Routes to Drivers"]) subgraph External Systems MES("MES Database") EMAIL("Email / Spreadsheet") end A --> B MES --> B B --> C C --> D D --> E E -->|"Yes"| F E -->|"No"| G F --> H G --> H H --> I I --> EMAIL

Hover to zoom · click for fullscreen

09/Why This Approach

Why This Approach

The recommended path is Hybrid: a Python-based optimisation engine handles address validation, constraint checking, and route generation for the standard 75% of runs automatically, while a human review gate intercepts the exception quarter before anything is dispatched. This is the right call for several specific reasons, and it is worth being clear about why the alternatives fall short.

A fully automated AI Workflow scores lower because the 25% exception rate is not a fringe problem here. It is a structural feature of the process, and the compliance stakes, recall-level product safety requirements, mean that sending a non-standard run out without human eyes on it is not an acceptable risk. The AI Workflow is a good description of what happens inside the Hybrid for the standard cases, but it cannot be the whole architecture. Traditional Code, meaning a deterministic Python solver like OR-Tools or PuLP without any classification layer, would handle the standard routing well and is absolutely within the automation engineer's reach. The honest limitation is that it offers no intelligent way to catch or classify exceptions; those would still fall back to fully manual handling, which limits how much of the 325 annual hours you actually recover. The Hybrid adds the classifier on top of the solver and that is where the meaningful difference lies.

The client's preferred tech stack is Python against the existing MES database, and this is genuinely a good fit for the recommended approach, not just a convenient alignment. OR-Tools, the open-source combinatorial optimisation library from Google, is well suited to vehicle routing problems with time windows and capacity constraints, and it is written to be used from Python. The MES database, even without modern APIs, can be queried directly through a custom connector that the automation engineer can build and own. This means the organisation keeps full control of the solution and does not take on a subscription dependency or a vendor lock-in risk. The tradeoff is that someone in-house needs to maintain the code; that is manageable given the automation engineer's availability, but it is a real ongoing commitment.

The exception classifier does not need to be a sophisticated machine learning model at the outset. A well-designed rule-based classifier, built from the constraint model produced during the elicitation phase, will handle the majority of flagging correctly and can be upgraded later if the edge cases demand it. What matters architecturally is that the classifier output always routes ambiguous runs to the dispatcher review queue rather than defaulting to automated dispatch. The human gate must be a hard requirement in the system design, not a feature that can be bypassed when the queue is long. This is the point where the compliance and automation engineering decisions converge, and it is worth the dispatcher and plant manager being explicit about this with whoever builds the system.

An AI Agent, meaning an autonomous system that takes end-to-end actions without human gates, scores poorly here and that verdict is deliberate. The process is not mature or stable enough, the exception rate is too high, and the compliance requirements are too serious for autonomous end-to-end dispatch to be appropriate at this stage. That may change in two or three years once the constraint model is well validated and the exception rate is better understood, but it is not the right starting point. The Hybrid path gives the organisation a route to increasing automation confidence over time, because every dispatcher decision in the review queue becomes a labelled data point that could eventually train a more capable classifier.

10/Comparing the Top Approaches

Comparing the Top Approaches

The two closest alternatives to the recommended Hybrid approach are AI Workflow and Traditional Code, both scoring 6 against the Hybrid's 9. It's worth being direct about why neither quite gets there on its own.

Traditional Code, built around a Python optimisation solver like OR-Tools, is genuinely attractive here. The automation engineer can own it, the MES database gives it a readable data source from day one, and deterministic solvers are well understood and auditable, which matters under product safety requirements. The problem is the exception quarter. A rules-based engine has no mechanism for classifying ambiguous runs intelligently; it either forces them through standard logic and produces a bad route, or it rejects them entirely and drops them back into a fully manual queue. You end up automating 75% of the effort and leaving the hardest 25% exactly as it is, with no reduction in the dispatcher's cognitive load on those runs.

AI Workflow closes that gap by adding a classification layer that can recognise when a run falls outside the standard constraint envelope and handle it more gracefully. But running an AI Workflow end-to-end without a human gate introduces a different problem: under the client's product safety and traceability requirements, a miscategorised non-standard run that gets dispatched without review could contribute to a recall scenario. The AI Workflow is the right engine inside the recommended solution; it just cannot be the whole solution on its own. The Hybrid approach takes the optimisation capability of Traditional Code, adds the intelligent exception detection of an AI Workflow, and wraps both in a hard architectural requirement for human sign-off on anything outside the standard envelope. That combination is what makes it the clear recommendation for this specific process.

11/How to Build It

How to Build It

The build starts with a data audit and constraint elicitation phase, and this step should not be rushed. The automation engineer works through the MES database and the existing spreadsheets to map every field that feeds the routing process: order identifiers, delivery addresses, time windows, vehicle capacities, and any customer-specific requirements currently held in the dispatcher's head or in informal notes. Alongside the data mapping, the automation engineer runs structured sessions with the dispatcher to codify the routing rules that currently live as tacit knowledge. The goal at the end of this phase is a documented constraint model and a labelled dataset of historical runs split into standard and exception cases. That labelled dataset becomes the calibration set for everything built afterwards.

With the constraint model in hand, the automation engineer builds the core Python routing engine. OR-Tools from Google is the recommended solver here: it's open source, well documented, handles vehicle routing problems with time windows natively, and is maintained well enough to trust in a production environment. The engine reads the morning order pull directly from the MES database using a Python database connector, runs address validation before any routing logic executes to catch data quality errors at the earliest possible point, and generates candidate routes for runs that fall within the standard constraint envelope. The output at this stage is a structured route object per driver, not yet a finished communication to the driver.

The AI layer sits on top of the routing engine and performs two jobs. First, a classifier, which can start as a rules-based filter and evolve into a lightweight ML model if the labelled dataset supports it, evaluates each run against the constraint model and flags anything that falls outside the standard envelope. Flagged runs are placed in a dispatcher review queue rather than being dispatched automatically. Second, for the standard runs that pass through cleanly, the system formats the route and sends it to drivers via the existing email channel or a simple web interface, whichever the team prefers. The dispatcher review queue is also web or email based, presenting the suggested route alongside the specific constraint that triggered the flag, so the dispatcher can approve, adjust or override in under 15 minutes rather than building the route from scratch. Every decision, automated and human alike, is written to a log table in the MES database with a timestamp and a decision identifier, satisfying the traceability requirement.

The system runs in parallel with the existing manual process for four weeks before the manual process is decommissioned. During the pilot, the automation engineer compares automated route outputs against the dispatcher's manual routes on distance and constraint compliance, tracks the exception flag rate against the expected 25%, and collects dispatcher feedback on the review queue interface. At the end of the pilot, the constraint model is updated to reflect any edge cases that surfaced, the exception classifier threshold is calibrated based on real production data, and the solution is handed to the automation engineer as permanent owner with a documented runbook. A quarterly review is scheduled to update the constraint model as delivery patterns or customer requirements change.

12/Risks in Detail

Risks in Detail

The most significant risk is that the constraint model produced during elicitation is incomplete. The dispatcher's routing knowledge has been built over years and covers a long tail of edge cases that are hard to surface in structured interviews precisely because they feel obvious to the person who holds them. Most of the rules will come out in the elicitation sessions, but some will only appear when the system encounters a real run that doesn't fit. This is not a reason to delay building; it's a reason to treat the four-week pilot as a genuine calibration exercise rather than a formality. If the pilot is shortened or skipped under schedule pressure, those undiscovered edge cases will surface in production instead, and in a process with recall-level compliance stakes, that's the wrong place to find them. The exception classifier must be tuned conservatively during the pilot, meaning it should err on the side of flagging runs for human review rather than passing them through automatically. A dispatcher reviewing a few extra runs per week is a manageable cost; a non-standard run dispatched without review is not.

Data quality is the second honest risk, and it's one that already causes rework in the current manual process. The MES database and the supporting spreadsheets contain address errors and inconsistencies that the dispatcher currently catches and corrects by hand. If the automated pipeline ingests that data without a cleaning step, the optimisation engine will produce routes based on bad inputs and do so with false confidence, meaning errors that a human would have caught on inspection will be dispatched. The address validation and data cleaning step must be the first thing the pipeline executes, before any routing logic runs, and the output of that step must be reviewed during the pilot to confirm it's catching the categories of error the team currently sees. If new categories of data error emerge that the cleaning step doesn't handle, the pipeline should halt and route the affected run to the dispatcher rather than proceeding on incomplete data.

⚡

Claude Code Starter

A scaffolded project ready to open in Claude Code. Unzip, open the folder, and Claude starts building immediately.

Claude Code Starter (.zip)

Your own assessment includes a ready-to-use project scaffold: CLAUDE.md, pyproject.toml, src/agent.py and .env.example. Open the folder in Claude Code and it starts building.

📁 your-process/
📄 CLAUDE.md
📄 pyproject.toml
📁 src/agent.py
📄 .env.example
Start Your Assessment

What's next?

That was someone else's process. Now do yours.

Same seven paths, same eight dimensions, same honest verdict, except scored against how your team actually works. Five to eight questions, about fifteen minutes.

Start Your Assessment
Manufacturing & logistics
Predictive maintenance from sensors and logs AI visual quality control on the line Shipment status updates and customer replies Fault diagnosis from machine logs and technician notes
Illustrative scenario based on how these processes typically run. Not a customer case study. Run this on your own process