SLA-based optimization
A Service Level Agreement (SLA) defines when an order needs to reach the customer. By default, IBM Sterling Fulfillment Optimizer with Watson optimizes orders based on the SLA that is requested for them in the carrierServiceCode attribute.
Fulfillment Optimizer relies on the commitment that was made for each order to decide how to fulfill it.
- carrierServiceCode on the order line
- expectedDeliveryDate on the assignments available
When Fulfillment Optimizer optimizes orders, it considers the SLA or carrierServiceCode as the number of days that determine the delivery timeline, and evaluates all possible combinations to meet that timeline. However, the SLA days are not taken directly as-is to determine the number of days to deliver the order. Instead, the node capacity backlog, the node shipping calendar, the node shipping cutoff time, and the order creation date are used to determine the final number of days to deliver the order.
The node shipping calendar defines which days are considered non-business days at the ship node. For more information, see Fulfillment network non-working calendar data type (NC). The node cutoff time defines the start of non-business hours at the shipping node, indicating that the next business day is considered the start of the commitment for that node.
When an order is placed on a business day and before the node cutoff time, the current day is considered the starting point toward the net SLA days calculation. However, when an order is placed on a non-business day or after the node cutoff time on a business day, the next business day is counted toward the net SLA days.
When an order is optimized on a business day and before the node cutoff time, the current day is considered the starting point toward the net SLA calculation. However, when an order is optimized on a non-business day or after the node cutoff time on a business day, the next business day is counted toward the net SLA calculation. The difference in business days, from when an order was created to when the order is optimized, drives the net SLA days that remain for the order to be delivered.
See the following table for an example of the SLA days calculation. In this example, the ship node cutoff is every weekday at 14:00:00 EST, and the ship node calendar is configured to consider Saturdays and Sundays as non-business days.
Sample order 1 is being retried for optimization every few hours. The order was placed before the node cutoff time on a business day.
| Date | Thursday | Friday | Saturday | Sunday | Monday | Tuesday | SLA days | Difference in business days | Net SLA days |
|---|---|---|---|---|---|---|---|---|---|
|
Order date Optimization date |
10:00:00 EST 11:00:00 EST |
6 | 0 | 6 | |||||
|
Order date Optimization date |
10:00:00 EST 19:00:00 EST |
6 | 1 | 5 | |||||
|
Order date Optimization date |
10:00:00 EST – |
– 10:00:00 EST |
6 | 1 | 5 | ||||
|
Order date Optimization date |
10:00:00 EST – |
– 19:00:00 EST |
6 | 1 | 5 | ||||
|
Order date Optimization date |
10:00:00 EST – |
– 13:00:00 EST |
6 | 1 | 5 | ||||
|
Order date Optimization date |
10:00:00 EST – |
– 10:00:00 EST |
6 | 1 | 5 | ||||
|
Order date Optimization date |
10:00:00 EST – |
– 19:00:00 EST |
6 | 2 | 4 |
Sample order 2 is being retried for scheduling every day. The order was placed after the node cutoff time on a business day.
| Date | Thursday | Friday | Saturday | Sunday | Monday | Tuesday | SLA days | Difference in business days | Net SLA days |
|---|---|---|---|---|---|---|---|---|---|
|
Order date Optimization date |
19:00:00 EST 20:00:00 EST |
6 | 0 | 6 | |||||
|
Order date Optimization date |
19:00:00 EST – |
– 11:00:00 EST |
6 | 0 | 6 | ||||
|
Order date Optimization date |
19:00:00 EST – |
– 11:00:00 EST |
6 | 0 | 6 | ||||
|
Order date Optimization date |
19:00:00 EST – |
– 11:00:00 EST |
6 | 0 | 6 | ||||
|
Order date Optimization date |
19:00:00 EST – |
– 11:00:00 EST |
6 | 1 | 5 |