> ## Documentation Index
> Fetch the complete documentation index at: https://developers.perform.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Shipment EDD

> Estimated delivery date for a shipment after the order is placed, updated as it moves and shown on the Tracking Page, in notifications and Shipment Overview.

**Available to all Checkout customers.** Shipment EDD assumes you are onboarded to Post-Purchase, because it predicts against your shipment data.

## Summary

Shipment EDD is the delivery date for an order that already exists, updated as the parcel moves through the delivery journey. Checkout EDD answers “when will it arrive if I buy now?”; Shipment EDD answers “when will it arrive now?” and changes the answer when the network does, on the surfaces Post-Purchase owns: the Shipment Overview your customer service team reads, the notifications a shopper receives and the Tracking Page.

## Who it’s for

Customer service and operations teams who want shoppers to know the expected delivery date before they ask, and to hear about a delay from the brand rather than discovering it. It also serves e-commerce and CX teams who want the date in the order confirmation to match the date shown at checkout.

## Key benefits

* **The question is answered before it is asked.** A date in the order confirmation and on the Tracking Page from the start reduces “where is my order” contacts.
* **The brand speaks first when a parcel runs late or early.** The date updates as the network moves, and notifications can carry the update.
* **Support reads the same date the shopper sees.** The same date appears in Shipment Overview, in notifications and on the Tracking Page.
* **The checkout promise is carried forward.** Passing the checkout reference at shipment creation ties the date shown at checkout to the shipment, so the confirmation email and the Tracking Page do not show a different date minutes later.
* **Every shipment carries a date.** Where a lane has too little volume to predict, the source priority falls through to a nominated source or to a default you supply.

## How it works

### Where the date comes from

Several estimated delivery dates can exist for one shipment.

| Source | How it reaches Perform.AI |
| - | - |
| Perform.AI prediction | A model set up per scope: the lanes it covers, the carriers, any further filters such as shipping service, and the monthly volume behind it. It updates through the journey rather than being calculated once. |
| Carrier-provided EDD | Many carriers include an estimated delivery date in their tracking updates. Availability depends on the carrier’s data sharing policy and on the type of integration Perform.AI has with that carrier. |
| Your own EDD | Sent when you create or update a shipment through the API, a file upload or SFTP, in the fields `expected_delivery_from` and `expected_delivery_to`. If you have a single expected date, use `expected_delivery_from` only. |
| Custom EDD | A calculation based on shipment and event information, configured with your account team for specialised business rules or delivery commitments. |

Your own EDD fields accept `YYYY-MM-DDThh:mm:ss` (stored as UTC) or a value with an offset such as `2021-01-15T10:35:55+08:00`.

### Where the date starts

* For brands running [Checkout EDD](https://developers.perform.ai/products/checkout/checkout-edd-widget.md) too, the date exists from order confirmation, provided the `checkout_id` returned by the widget or the API is passed in `additional_info` when the shipment is created.
* For brands running Shipment EDD alone, the date starts at carrier pick-up confirmation.

### Source priority and fallbacks

The sources are ranked, and the shipment displays the date from the highest-priority source that has one. The usual pattern is to start on the Perform.AI prediction and hand over to the carrier’s date when it arrives, because carrier dates land later in the journey and are reliable on some lanes. Which carriers those are depends on your lanes and services and is assessed per brand rather than from a standing list.

* Priority is configured at Tracking Page scope. Where one Tracking Page covers several carriers, for example one page per country, the source cannot be differentiated per carrier within that scope.
* Where a lane has insufficient volume to predict, the priority chain falls through to a nominated source or to a default value you provide.

### Where the date appears

| Surface | Behaviour |
| - | - |
| Shipment Overview | Customer service teams see the date and the same information shared with the shopper. |
| Notifications | Including the date in outgoing notifications is recommended, not automatic. It is configured per account. |
| Tracking Page | The date can be shown or hidden, and the priority between sources is set here. |

### Buffer and accuracy

A buffer exists between the predicted date and the expected delivery. A larger buffer makes the date more conservative and produces more early deliveries; a smaller one makes it more aggressive and increases the likelihood of late deliveries. For shipment use cases the recommended default is conservative, which is the opposite of the instinct at checkout, where a nearer date wins the order. The trade-off is agreed with you and configured by Perform.AI.

Accuracy is measured against the first delivery attempt using two definitions:

* **Non-late accuracy** counts a prediction as accurate if the shipment is delivered, or has its first delivery attempt, on or before the predicted date.
* **Adjusted non-late accuracy** counts it as accurate only if the shipment arrives on the predicted date or shortly before it, because arriving much earlier than promised is also a broken promise to a shopper who planned around the date.

The accuracy report runs at carrier and lane level and is reviewed before a model is deployed.

### Brands new to Post-Purchase

For brands not yet onboarded to Post-Purchase, the model starts trained on data from other customers and is refined once your own data accumulates. Shopper-facing display in notifications and on the Tracking Page stays off until the setup is validated, so the timeline for shopper-visible dates is longer than for an existing Post-Purchase customer.

## Set up in the portal

* To include the date in notifications, add the expected delivery placeholders to your notification templates. See [Delivery Notifications](https://developers.perform.ai/products/post-purchase/delivery-notifications.md).
* To show or hide the date on the Tracking Page and set the priority between sources, contact your account team. See [Tracking Page](https://developers.perform.ai/products/post-purchase/tracking-page.md).

## Use via API and MCP

* Retrieve the displayed date for a shipment with [Retrieve shipment details](https://developers.perform.ai/api-reference/v5/shipments/retrieve-shipment-details.md) or the [v5.2 variant](https://developers.perform.ai/api-reference/v5/shipments/retrieve-shipment-details-v52.md); the guide is [Retrieve a shipment](https://developers.perform.ai/guides/retrieve-shipment.md).
* Receive updates as they happen through [webhooks](https://developers.perform.ai/guides/webhooks.md). The `expected_delivery` object is carried in format [5.2](https://developers.perform.ai/api-reference/webhooks/shipment-update-v5-2.md) as a single window and in format [5.3](https://developers.perform.ai/api-reference/webhooks/shipment-update-v5-3.md) separated by source (`merchant`, `carrier`, `predict_engine` and `display`, where `display` follows your account’s EDD display priority).
* MCP: `get_shipment_details` returns the shipment including its expected delivery. Documented on [MCP tools](https://developers.perform.ai/mcp/tools.md).

## FAQ

### Our carrier already sends tracking updates. What does Shipment EDD add?

The carrier sends its own date, on its own page, per carrier, from collection onwards. Shipment EDD is one date across every carrier, on your own surfaces, from the order onwards where you also run Checkout EDD.

### Why does the date in the confirmation email differ from the one shown at checkout?

The checkout reference was not passed at shipment creation. Send the `checkout_id` in `additional_info` when you create the shipment so the same date is carried forward.

### Won’t an updated date draw attention to delays?

The delay happens either way. The choice is whether you tell the shopper or the shopper discovers it, and the second usually arrives as a support ticket.

### Can shoppers reschedule a delivery?

Where the carrier offers rescheduling, the option can be surfaced in the notification. Perform.AI does not provide the rescheduling itself.

### How do we know the date is accurate?

Accuracy is reported at carrier and lane level using the non-late and adjusted non-late definitions, and a model is deployed only after that report is reviewed. Ask your account team which definition a figure uses.

## Troubleshooting

| Symptom | Cause | Fix |
| - | - | - |
| Shipments carry no date until pick-up | You run Shipment EDD without Checkout EDD, or the `checkout_id` is not passed at creation | Pass the `checkout_id` in `additional_info` when creating the shipment, or run Checkout EDD to start the date at order confirmation. |
| The Tracking Page shows the carrier’s date instead of the prediction, or the reverse | The source priority on that Tracking Page ranks the other source higher | Ask your account team to review the priority for that Tracking Page scope. |
| A lane shows a default date rather than a prediction | The lane has too little volume for the model and falls through to the default | Expected behaviour. Scope widens as data accumulates; confirm the lanes in scope with your account team. |
| Your own EDD is not shown | `expected_delivery_from` or `expected_delivery_to` is missing or malformed, or the priority ranks another source higher | Check the field format, send `expected_delivery_from` alone for a single date, and review the priority. |
| Notifications do not mention the date | The date is not included in the template | Add the expected delivery placeholders to the notification template. |

## Related

* [Checkout EDD Widget](https://developers.perform.ai/products/checkout/checkout-edd-widget.md)
* [EDD Prediction Model](https://developers.perform.ai/products/checkout/edd-prediction-model.md)
* [Tracking Page](https://developers.perform.ai/products/post-purchase/tracking-page.md)
* [Delivery Notifications](https://developers.perform.ai/products/post-purchase/delivery-notifications.md)
* [Shipment Overview](https://developers.perform.ai/products/post-purchase/shipment-overview.md)
* [Checkout overview](https://developers.perform.ai/products/checkout/overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.