Skip to main content

Intelligent Contractor Selection (ICS)

Fully automate contractor assignments to cut costs, meet guarantees, and reward performance, according to your needs

M
Written by Marco Taiocchi
Updated this week

Introduction to ICS

The Intelligent Contractor Selection (ICS) feature is a powerful optimization engine that automates the assignment of Contractors to Routes based on real-time and historical data.

ICS is designed to help logistics operations reduce transport costs, minimize deviations from plan, lower emissions, and fulfill contractor commitments — all without manual intervention.

By intelligently pairing routes with the most suitable contractors, ICS enables seamless logistics execution while balancing key business priorities such as cost, performance, sustainability, and fairness. It integrates with external systems and works autonomously — no planner approval is required before assignments are made.


Why Should I Use the ICS?

ICS addresses critical needs for both Planners and Contractors, making operations more efficient, transparent, and aligned with business objectives.

For Planners

ICS aligns assignments with your Organization's needs, allowing you to select and customize what good looks like for you:

  • Cost Reduction

    One of the most effective ways to drive down the cost of logistics and the risks associated to your last mile operations is to rely on multiple Contractors. This setup is also the most complex to manage manually due to the increase of dependencies.

  • Operational Efficiency
    Automates the entire contractor selection and assignment process in real time, reducing manual workload and Planner decision fatigue.

  • Planning Accuracy
    Helps ensuring alignment to forecasted demand and committed assignments to your contractors, helping reduce missed commitments.

  • Quality and Reliability
    Leverages performance data to favor high-performing contractors, ensuring more consistent service delivery.

For Contractors

  • Incentive-Based Assignment
    High-performing contractors are rewarded with more routes, encouraging sustained service quality.

  • Fair Distribution
    ICS ensures that contractors who are underutilized relative to their monthly guarantees are prioritized.

ICS supports a collaborative, performance-driven ecosystem where all parties benefit from transparency and data-informed decisions.


Prerequisites to Using the ICS

1. One or More Connections Configured

ICS can only assign routes to Contractors that are set up as Connections in your Mover environment. A Connection links your organization with an external contractor, enabling route sharing, execution tracking, and performance-based assignments.

2. Reservations Created

Contractor availability must be represented in the system through Reservations, which define when and how many routes a contractor can handle. ICS uses these reservations to ensure assignments match actual capacity.

3. Routes Created via Route Optimization

ICS only works on routes that have been generated through the Route Optimization engine. Approving the Route Plans acts as a trigger for the ICS, as it ensures that all Routes are created, and the optimization can start.

Once these elements are in place, you’re ready to define ICS rules and run optimizations.


Create the ICS Rule Sets

To create a new rule set, find the Contractor Selection section in the TMS, and navigate to the Rule Sets area.

From there, click on "New rule set".

The Rule Set page is made by different sections, each with its specific purpose:

  1. General: define the name, and whether the approval of the result is manual or automatic

  2. Run schedule: define when the ICS has to run

  3. Optimization: define what should the ICS optimize for, selecting among 7 presets, or finding a customized balanced between 7 optimization parameters

  4. Contractor pricing: define the individual price of one or more of your connections (optional)

  5. Reservation assignment boundaries: define which criteria should be respected when choosing a Reservation

  6. Preferred contractors: define if any of the Contractors' capacity have to be saturated first by the algorithm (optional)

General

  • Define a name for your ICS rule set

  • Define if the ICS result should be automatically assigned (i.e. Routes will automatically be assigned to Reservations and Contractors) or if you want to review it first, and manually select which assignment to approve

When should the ICS run?

The ICS is triggered by a Route Planning job being approved. When you approve the Route Plan (either automatically, or manually), the ICS job is launched, and will produce the assignment plan to the Reservations.

  • In the dropdown you can specify which Route Planning Rule Set should, when they are used to generate a route plan, trigger the ICS run with the present settings

What should the ICS optimize for?

There are 7 variables the ICS can consider:

  • Price

  • CO2 emission

  • Guaranteed utilization

  • Contractor Rating

  • Historical performance

  • Forecast promise

  • Fairness

You can either select from the drop down one of the presets:

  • Electric vehicle utilization: Prioritizes the assignment of the routes to reservations of electric vehicles.

  • Lowest price: Optimizes the assignment of the Route to Contractors having the lowest monetary cost (defined below)

  • Contractor rating: Prioritize the contractors you assigned the highest performance rating.

    • The rating can be customized in the Connection Details

  • Forecast promise: The automation will aim at living up to the Contractors' expectations in terms of promised routes volumes.

    • Reach out to Mover to set up a forecasting tool, or to share your forecasts, so that they can be included in the ICS runs

  • Best contractors' performance: Optimize route assignments to contractors with the highest performance in term of on time deliveries.

  • Fulfill promised guarantees: Prioritize route assignments to meet the contractual obligations in terms of guaranteed amounts with contractors.

    • This can be shared to Mover via API (both the monthly target, and the current level), and will be displayed next in the Connection Details

  • Fair allocation: Distribute routes evenly among the available contractors.

Or you can select custom settings, and manually edit the weight of each one of the above mentioned variables, to produce an optimal plan, based on what is relevant for your organization.

What is the pricing for contractors?

Here you can define and customize the price per hour and price per km for each of your contractor, so that the ICS can take these data in input to compute the lowest price for the Reservations utilization.

  • Add a new contractor

  • Define the price per hour

  • Define the price per km

  • Add a higher price for all the Contractors not defined

How should routes be assigned to Reservations?

Customize the assignment logic, by defining:

  • Which Reservations should be considered based on their tags:

    • "Reservations must have at least one of these tags" will make sure that all Reservations which have at least one of the tags defined will be considered by the ICS

    • "Reservations must have all of these tags" will make sure that all of the Reservations which have all of the tags defined will be considered by the ICS

  • How many Routes can a Reservation have: this is in case your routes are on average shorter, and a Resource might be utilized for more than a route per day. Here you can define how much.

Which contractors should be preferred?

This configuration allows you to saturate first the capacity of the preferred contractors, in order.

  • Select "Add preferred contractor"

  • Select the contractor

  • Repeat, until your preferred Contractors have been selected

  • Then re-rank them by using the up/down arrows next to each contractor.

  • Contractors can have the same priority: if two contractors have the same priority, they will be utilized equally.

Assignment logic

  • When assigning routes, each route will be assigned to the highest priority contractor in this list, that has a reservation where the route will fit, without overlapping other routes.

  • If none of the contractors listed here have a reservation where the route will fit, your other contractors will be considered, with equal priority.

  • If a route can be assigned to multiple contractors with the same priority, the assignment will be based on which contractor best satisfies the optimization goal.


Run and approve an ICS Job

Once your Route Plan gets approved, an ICS job will be launched, and will appear in status "Processing" after some time.


When the job is completed, it will change status to "Done". At that point, you'll be able to open the details and check the results.

Explore the Jobs list

In the list of jobs you can have a quick summary of:

  • How many Reservations got used

  • How many Reservations were unused

  • How many Routes got assigned, and how many did not

  • How many Route assignment to a Reservation have been approved yet

  • When the job was created

Explore the Job details

The job details page is organized in three tabs:

  • Result

  • Metrics

  • Rule set used

Result

In the Result tab, is organized in 3 sub-sections, showing:

  1. Summarized statistics about:

  • the used Reservations

  • the assigned Routes

  • the approval status of the assignment

2. Unassigned Routes

  • the list of the Routs which were not assigned, so that you can take care of them manually.

  • Clicking on each one, will open the Route Details, and from there you can select Assign > Assign to a Reservation

3. Assigned Routes

  • Shows the details of all the Reservations included in the ICS job in a timeline view

  • For each reservation also includes the detail of the Route assigned to it.

If the Route is represented in color lilac, and has dotted lines, it means it has not ben approved yet. If the Route is in blue, with continuous line identifying its boundary, it has already been approved.

You can easily filter the timelines view to only return a subset of result, matching:

  • Reservation Reference

  • Contractor

  • Route Slug

Or you can select only the Reservations containing Routes not yet approved.

You can also increase or decrease the zoom level.

Metrics

The metrics page shows a recap of the optimization variables, together with the relative weight defined in the rule set:

  • Carbon emission

  • Price

  • Performance

  • Guarantee utilization

  • Priority category

  • Fairness

Rule set used

The third tab shows you the detail of the Rule Set that has been used to obtain the ICS result, making sure you can always explain the result you obtained.

Approve the ICS job

If you have selected the option to manually approve the ICS job, you will still have to do this last step before concluding the assignment process.

If the job has already been approved, your job is done.

Unlike the Route Plans, in the ICS it is possible to approve all the assignments or just some.

  • You only have to select the Reservations you want to approve, by clicking on the checkbox next to each one

  • Or select all of them with the checkbox in the header row

  • And proceed to approve the selected reservations with the button in the top right part of the screen

As soon as a Route is assigned to a Reservation, if no Contractor has been previously assigned (i.e. make sure you do not have any Auto Contractor assignment rules or any other ICS job), the Reservation's Contractor will be automatically assigned to the Route

The Routes you decide not to approve will not be assigned to any Reservation, and therefore not assigned to any Contractor.


Conclusion

ICS represents a leap forward in last-mile logistics optimization. By automating contractor assignments based on utilization, cost, performance, and sustainability, ICS empowers planners to focus on strategic work while ensuring that operations stay efficient, fair, and reliable.

Whether your goal is to reduce costs, meet service-level agreements, or support sustainable logistics, ICS is the intelligent and scalable solution to help you get there.

Did this answer your question?