How Amazon estimates delivery dates in real time
How Amazon calculates delivery promises using inventory location, fulfillment center proximity, carrier capacity, route optimization, and real-time demand signals.
The Problem Statement
Interviewer: "You are on Amazon, looking at a product page. It says 'Get it by Wednesday.' How does Amazon calculate that date? What systems are involved, and what happens when the actual routing changes after you place the order?"
This question tests three things: your understanding of real-time estimation systems that combine multiple data sources under latency constraints, your knowledge of logistics networks and fulfillment operations, and whether you can reason about re-promising (when the estimate changes after the customer sees it).
Most candidates describe a simple "warehouse to truck to door" model. Strong candidates talk about the Promise Engine, multi-FC inventory optimization, cut-off times, carrier SLA modeling, and the difference between the customer-facing promise and the internal routing decision.
Clarifying the Scenario
You: "Before I start, I want to scope this properly."
You: "When you say 'estimates the delivery date,' are we talking about the promise shown on the product detail page before the customer adds to cart, or the final delivery estimate at checkout?"
Interviewer: "Both. They can actually differ. Walk me through why."
You: "Interesting. And should I cover the re-estimation that happens after purchasing, when real-world events like weather or FC delays shift the actual delivery?"
Interviewer: "Yes, cover the full lifecycle from browsing to delivery."
You: "Got it. I will structure my answer around four systems: the Promise Engine that generates the customer-facing date, the inventory placement strategy that determines which fulfillment center ships the item, the transportation network model that computes transit times, and the re-promising system that adjusts estimates after order placement."
My Approach
I break this into five layers, each contributing to the delivery estimate:
- The Promise Engine: The centralized service that combines all signals to produce a delivery date shown to the customer
- Inventory placement and FC selection: Which fulfillment center has the item, and which one should ship it for this specific customer
- Cut-off times and processing capacity: The time-of-day deadlines that determine whether an order ships today or tomorrow
- Transportation network modeling: How Amazon calculates transit time from FC to the customer's door using carrier SLAs and route optimization
- Re-promising and demand forecasting: How the estimate adjusts after purchase and how demand spikes affect future promises
The mental model I use: think of the Promise Engine as a real-time bidding system. When a customer views a product, the engine "solicits bids" from every FC that has the item in stock. Each FC bid includes: "I have 47 units, I can pick and pack by 3pm, the nearest carrier hub is 12 miles away, and UPS Ground from here to the customer's zip code takes 2 days." The Promise Engine picks the best bid and shows the resulting date.
Each layer of the system has a different latency budget. The Promise Engine must respond in under 100ms total (this is a real-time page load). Inventory lookups take 5-10ms (pre-cached). FC scoring takes 10-20ms. Transit time lookup takes 5-10ms (pre-computed tables). The remaining budget covers network overhead and header serialization.
The key insight most candidates miss: the delivery date is not a single calculation. It is the output of a multi-stage optimization pipeline that runs thousands of times per second, once for every product page view. Amazon sees hundreds of millions of product page views per day. Each one triggers a Promise Engine call.
Amazon calls this the "delivery experience" (DEX). The promise date is not just an estimate. It is a contract with the customer. Amazon tracks "Promise Kept" as a top-level metric, and missing a promise triggers automatic concessions (refunds, credits). This is why the system is conservative: it is better to say "Thursday" and deliver Wednesday than to say "Wednesday" and deliver Thursday.
The Architecture
The delivery date estimation system has four major components that work together in a pipeline. The Promise Engine orchestrates the flow, calling downstream services for inventory, FC scoring, cut-off evaluation, and transit time calculation. Each service is independently scalable and cached aggressively.
The critical design constraint is latency. Every product page view triggers a Promise Engine call. With hundreds of millions of product page views per day, the engine must respond in under 100ms at P99. This rules out any synchronous database queries or cross-service RPCs in the hot path. Everything the engine reads must be pre-computed, cached, and refreshed asynchronously.
Here is the full architecture:
Here is how the system produces "Get it by Wednesday" in under 100ms:
Step 1: Customer views product page. The product detail page calls the Promise Engine with the ASIN (product ID) and the customer's delivery address (zip code, or full address if logged in).
Step 2: Inventory lookup. The Promise Engine queries the Inventory Service to find all FCs that currently have the item in stock. For a popular item like AirPods, this might return 15-20 FCs across the country. For a niche item, it might return just 1-2.
Step 3: FC selection. The FC Selector evaluates each FC against the customer's location. It considers: geographic distance, current FC workload (how backed up is the packing operation), carrier pickup schedules at that FC, and shipping cost. The selector produces a ranked list of candidate FCs.
Step 4: Cut-off time evaluation. For each candidate FC, the Cut-off Calculator determines whether the order can still make today's shipment. If the customer is browsing at 2pm and the FC's cut-off for next-day air is 1pm, that option is gone. Cut-off times vary by FC, carrier, and shipping speed.
Step 5: Transit time calculation. The Transit Time Service computes how long the package takes from the FC to the customer's zip code. This is not a simple lookup. It uses historical delivery data, carrier SLAs, and current conditions (holiday surge, weather disruptions) to produce a probabilistic estimate.
Step 6: Promise assembly. The Promise Engine takes the best combination (FC + carrier + speed) and computes the delivery date: today's date + processing time + transit time. If the fastest option gives Wednesday, that is what the customer sees.
The entire flow runs in under 100ms. This is only possible because most data (inventory, cut-offs, transit models) is pre-computed and cached. The Promise Engine does not query databases in real-time per request. It reads from in-memory caches that are refreshed by background streaming pipelines.
The product page promise and the checkout promise can differ. On the product page, the system does not know the full order (maybe the customer adds 3 more items from different FCs). At checkout, the system re-evaluates with the full cart, potentially splitting into multiple shipments with different dates.
The delivery tier hierarchy
Amazon presents delivery options as tiers, each backed by different FC + carrier combinations:
| Tier | Promise | Typical cost to Amazon | How it works |
|---|---|---|---|
| Same-day | By 9pm today | $8-12 | Local delivery station, AMZL fleet, 2-4 hour window |
| One-day | By 9pm tomorrow | $4-6 | Regional FC, next-day air or AMZL overnight |
| Two-day | By 9pm in 2 days | $2-4 | Any FC within ground transit range, UPS/FedEx Ground |
| Standard | 5-7 business days | $1-2 | Cheapest FC + slowest carrier, often consolidated shipments |
Prime members see same-day and one-day as the default. Non-Prime members see two-day or standard as the default, with faster options available for an additional fee.
How the Promise Engine Picks the Best Fulfillment Center
This is the core optimization problem, and it is the section that separates a good interview answer from a great one. Amazon does not simply pick the nearest FC. The selection algorithm balances speed, cost, and reliability across a network of 200+ fulfillment centers.
The FC selection problem is NP-hard in the general case (it is a variant of the facility-location problem). Amazon solves it approximately using a greedy heuristic with pre-computed cost matrices. For a single-item order, the algorithm evaluates 3-20 candidate FCs (after filtering). For multi-item orders, the combinatorial space grows quickly, which is why shipment planning runs as a separate, slightly slower optimization.
Understanding FC selection is essential because it explains behaviors that seem paradoxical to customers: why Amazon sometimes ships from 500 miles away when there is a warehouse in your city, why the same product has different delivery dates at different times of day, and why adding an item to your cart can change the delivery estimate for existing items.
The FC selection algorithm runs in three phases:
Phase 1: Filter. Eliminate FCs that cannot meet any viable delivery tier. If a customer is in Miami and an FC in Seattle has a 4-day ground transit, and there is no air option available, that FC is filtered out. FCs with zero stock, FCs past their cut-off time for all carriers, and FCs under capacity embargo (temporarily shut down for maintenance) are all removed.
Phase 2: Score. Each remaining FC gets a composite score:
- Speed score: How fast can this FC get the package to the customer? Same-day scores highest, 5-day scores lowest.
- Cost score: Shipping from a nearby FC via ground is much cheaper than air freight from across the country. Amazon optimizes for margin.
- Reliability score: Based on historical delivery performance for this FC-to-zip route. If UPS Ground from FC-Phoenix to Miami has a 97% on-time rate but AMZL from FC-Atlanta to Miami has 99.5%, the reliability score favors Atlanta.
- Demand forecast: If the Demand Forecast model predicts a stock-out in the next 24 hours at a given FC, the algorithm deprioritizes that FC to preserve inventory for customers who cannot be served from elsewhere.
Phase 3: Rank. The algorithm produces the best FC for each delivery tier: same-day, one-day, two-day, and standard. The customer sees the fastest tier as the default promise, with slower (often free) tiers as alternatives.
The cost of getting FC selection wrong
Getting FC selection wrong has cascading consequences. If the system always picks the nearest FC, it drains local inventory, causing stock-outs for same-day customers who have no alternative. If the system always picks the cheapest option, customers get slower deliveries and conversion drops. If the system ignores workload, orders pile up at already-overloaded FCs, causing missed promises.
Amazon reportedly spends over $60 billion per year on shipping. Even a 1% improvement in FC selection efficiency saves $600 million. This is why the optimization is multi-objective and continuously tuned.
Inventory pre-positioning: the strategy behind FC selection
FC selection is not just a reactive decision. Amazon proactively positions inventory to make future FC selection easier. The demand forecasting model predicts which products will sell in which regions and pre-moves inventory accordingly.
For example, if the model predicts that wireless earbuds will spike in demand in the Southeast next week (maybe a new product launch or a viral social media trend), Amazon pre-ships additional inventory to FCs in Georgia, Florida, and the Carolinas. When the demand arrives, the FC Selector has local stock ready, enabling faster and cheaper delivery.
This pre-positioning happens via a system called "Inventory Placement Service" (IPS). IPS runs daily, analyzing demand forecasts and current stock distribution to generate transfer orders between FCs. It is a massive logistics optimization problem: moving inventory costs money, so IPS must balance the cost of transfers against the expected savings in shipping costs and delivery speed improvement.
The interplay between pre-positioning and real-time FC selection is what makes Amazon's delivery network so effective. Pre-positioning ensures the right inventory is in the right place before the customer even searches. Real-time FC selection then picks the optimal FC from the pre-positioned set. Neither system works well alone.
Transportation Network Modeling and Transit Times
The transit time from FC to customer doorstep is not a static lookup table. This is one of the most common misconceptions candidates have. They assume Amazon has a simple matrix: "FC-Seattle to Zone 5 = 3 days." In reality, Amazon maintains a probabilistic model of transit times that updates continuously based on historical performance, live disruptions, and carrier-specific conditions.
The transit time calculation is the second-most important component after FC selection, because it directly determines the date the customer sees. A 1-day error in transit estimation means the customer either gets a promise that is too optimistic (leading to a broken promise) or too conservative (leading to lost conversion because the competitor shows a faster date).
Here is how the model resolves a single transit time query:
The Transport Network Model combines three data sources:
Historical delivery data. For every FC-to-zip-code pair, Amazon has millions of past delivery records. The model computes percentile distributions: P50 (median), P90, and P99 transit times. The promise uses the P80-P90 range, providing padding for reliability without being overly conservative.
The choice of percentile is critical. Using P50 would mean 50% of packages arrive late. Using P99 would give overly pessimistic estimates that hurt conversion ("5 days" when most packages arrive in 2). The P80-P90 range provides the right balance: approximately 85% of packages arrive on or before the promised date. The remaining 15% trigger re-promising notifications.
Amazon continuously recalibrates these percentile targets. If a specific route consistently delivers in P80 time, the model tightens the estimate. If a route's P90 time has been creeping up (due to carrier degradation), the model loosens the estimate proactively.
Live disruption signals. Weather events, carrier strikes, natural disasters, and road closures all affect transit times. Amazon ingests these signals in near real-time and adjusts the transit model. During the 2021 Texas ice storm, for example, the system automatically extended delivery promises for all orders routed through Texas by 2-3 days.
Disruption signals come from multiple sources: National Weather Service APIs, carrier status feeds (UPS and FedEx publish service disruption alerts), Amazon's own delivery network telemetry, and even social media signals (detecting regional disruptions from trending topics). The system classifies disruptions by severity and automatically applies transit time adjustments to affected routes.
Carrier capacity. Each carrier (UPS, FedEx, USPS, Amazon Logistics) has finite daily capacity. During peak season, carriers impose volume caps. If UPS Ground is maxed out on a given lane, the Transport Network Model knows to route via AMZL or FedEx instead, potentially changing the transit time.
Amazon negotiates capacity commitments with each carrier at the annual level, broken down by lane (origin region to destination region). During peak events, these commitments can be exceeded, triggering surcharges or outright refusals. The Transport Network Model tracks real-time utilization against these commitments and adjusts routing accordingly.
The model also accounts for carrier-specific quirks. USPS does not deliver large packages to PO boxes. FedEx has different residential surcharges than UPS. AMZL has limited coverage in rural areas. These constraints affect which carrier options are viable for each order.
Amazon Logistics (AMZL) now handles over 50% of Amazon's last-mile deliveries in the US. Because AMZL is vertically integrated, Amazon has much more granular data about its own delivery network: driver schedules, van capacity, route density. This is why AMZL deliveries often have tighter, more accurate delivery windows (e.g., "between 3pm and 7pm") compared to UPS or FedEx.
Cut-off times and the "ship by" deadline
Cut-off times are the hidden constraint that most candidates miss. Every FC has multiple cut-off times per day, one for each carrier and shipping speed:
| FC | Carrier | Speed | Cut-off | Ships by |
|---|---|---|---|---|
| FC-Seattle | AMZL Same-Day | Same-day | 11:00 AM | 1:00 PM |
| FC-Seattle | UPS Next Day Air | 1-day | 2:00 PM | 4:00 PM |
| FC-Seattle | UPS Ground | 2-5 day | 5:00 PM | 7:00 PM |
| FC-Phoenix | AMZL Same-Day | Same-day | 10:30 AM | 12:30 PM |
| FC-Phoenix | FedEx Ground | 2-5 day | 4:00 PM | 6:00 PM |
If a customer in Seattle orders at 11:15 AM, the same-day cut-off at FC-Seattle has already passed. The Promise Engine cannot offer same-day from that FC. But it might find another FC (maybe a local delivery station) with a later same-day cut-off.
This is also why the delivery estimate changes throughout the day. At 9 AM, you might see "Get it today." By noon, that shifts to "Get it tomorrow." The underlying inventory and FC have not changed. The cut-off time passed.
The "order within X hours" countdown
The countdown timer you see on product pages ("Order within 3 hours 22 minutes for Wednesday delivery") is computed directly from the cut-off time. The Promise Engine calculates the latest cut-off time across all carrier options at the selected FC that can still achieve the displayed delivery date. The countdown is the time remaining until that cut-off.
This countdown creates urgency and drives conversion, but it must be accurate. Showing a countdown that expires and then still offering the same delivery date erodes trust. The Promise Engine refreshes this calculation in real-time, accounting for the customer's current time zone and the FC's local time.
How same-day delivery works
Same-day delivery is fundamentally different from standard delivery. It does not use the traditional FC-to-carrier-to-door model. Instead:
- Local delivery stations. Amazon operates hundreds of delivery stations (smaller than FCs) in metro areas. Popular items are pre-positioned here.
- Later cut-off times. Delivery stations can accept orders as late as noon for same-day delivery because the entire fulfillment-to-delivery loop is local.
- AMZL fleet. Amazon's own delivery fleet (Delivery Service Partners, or DSPs) handles last-mile same-day delivery. Each DSP van covers a tight geographic area.
- Dynamic route optimization. Unlike standard delivery where packages follow fixed carrier routes, same-day packages are assigned to vans in real-time as orders come in. The route optimizer rebalances continuously.
The capacity constraint for same-day is not inventory or FC throughput. It is van capacity and driver hours. Each delivery station has a finite number of vans and drivers for each time slot. Once those are committed, same-day delivery disappears for that area and time slot.
Re-Promising: What Happens After You Click "Buy"
The promise shown at checkout is a contract, but the real world does not always cooperate. Weather events, FC equipment failures, carrier delays, and demand spikes can all invalidate the original routing plan. The re-promising system continuously monitors every order and adjusts when needed.
The re-promising pipeline has three triggers:
FC-level disruptions. If the selected FC cannot fulfill the order (damaged item during pick, equipment breakdown, staffing shortage), the Order Management System detects the delay and triggers re-planning. The Re-Planning Engine re-runs FC selection for just this order, finding the next-best FC. If the new FC can meet the original promise via a faster carrier, the customer sees no change. If not, a re-promise notification is sent.
Carrier-level disruptions. Once the package is handed to a carrier, the system monitors carrier tracking data. If the carrier reports a delay (weather diversion, sort facility backup, missed connection), the system updates the estimated delivery date. For packages still at the FC, the system might switch carriers. For packages already in transit, it can only update the estimate and notify the customer.
Demand-driven re-routing. During extreme demand events (Prime Day, Black Friday), some FCs fall behind on processing. The system may preemptively re-route orders from overloaded FCs to less busy ones before any individual order is delayed. This "proactive re-routing" happens in aggregate: the system identifies 5,000 orders at FC-Phoenix that are at risk of missing their promise and transfers them to FC-Las Vegas, which has spare capacity.
The "Promise Kept" metric
Amazon tracks "Promise Kept" as one of its most important operational metrics. It measures the percentage of orders delivered on or before the promised date. The target is above 95%. When Promise Kept drops below threshold for a specific route, FC, or carrier, it triggers operational investigations.
Promise Kept is also why Amazon uses conservative estimates. A system that promises Thursday and delivers Wednesday has a 100% Promise Kept rate. A system that promises Wednesday and delivers Thursday has a 0% Promise Kept rate, even though the delivery was only one day later. The asymmetry is intentional: customers remember broken promises far more than they appreciate early deliveries.
Demand forecasting and its impact on promises
The Demand Forecast model is not just a background optimization. It directly affects what promise the customer sees today. Here is how:
Inventory availability. If the model predicts that AirPods demand will spike next week in the Northeast, the Inventory Placement Service pre-moves stock from underutilized FCs (say, Texas) to high-demand FCs (say, New Jersey). Next week, when a customer in New York searches for AirPods, the FC Selector finds local stock and offers one-day delivery. Without pre-positioning, the closest stock might be in Texas, yielding a 3-day promise.
Capacity reservation. During predicted demand spikes, the Promise Engine reserves some same-day and one-day capacity for high-value customers (Prime members who buy frequently). The remaining capacity is offered to standard customers. This means during expected high-demand periods, non-Prime customers might see slower default promises even though FC inventory is adequate.
Stock-out prevention. When the model predicts a specific FC will run out of an item within 24 hours, the FC Selector deprioritizes that FC for new orders. This preserves the remaining stock for customers who cannot be served from any other FC (e.g., rural areas with only one FC within ground transit range). A customer in a metro area might get route
How the Promise Differs Across Shopping Channels
The delivery estimate is not just a product page feature. It appears in multiple places, each with different accuracy levels and recalculation triggers.
Product detail page (PDP)
The PDP shows the earliest possible delivery date based on a single item, the customer's default address (or geo-IP approximation if not logged in), and the current time. This is the broadest estimate. It assumes the customer will buy only this item, with no cart interactions. The PDP promise refreshes on page load and may include a countdown timer for time-sensitive options.
Search results page
Amazon also shows delivery estimates in search results. This is computationally harder because the system must compute estimates for dozens of products simultaneously. The solution is aggressive caching: the search results page uses a pre-computed delivery tier (same-day, one-day, two-day) per ASIN per region, updated every 15-30 minutes. It does not run the full Promise Engine per search result.
Cart and checkout
At cart, the system recalculates with the full order context. Multiple items may require split shipments. The customer's exact address is known. The system evaluates shipment groupings: which items can ship together from the same FC? This is the most accurate promise because all variables are resolved.
Post-purchase tracking
After purchase, the delivery estimate continues to evolve. The order tracking page shows real-time status ("Shipped," "Out for Delivery") plus an updated delivery window. This is powered by carrier tracking data merged with Amazon's own telemetry. For AMZL deliveries, the tracking includes live driver location and a delivery window narrowed to 2-4 hours.
The Tricky Parts
-
Multi-item cart optimization. When a cart has 5 items from 3 different FCs, the system must decide: ship each from its optimal FC (3 shipments, faster per item) or consolidate into fewer shipments (cheaper, but the slowest item delays the entire shipment)? This is a bin-packing problem with SLA constraints. Amazon typically favors splitting shipments for speed, which is why you often receive 3 boxes from one order.
-
Third-party seller inventory. Not all products are fulfilled by Amazon. Marketplace sellers may ship from their own warehouses with unknown processing times. The Promise Engine must estimate seller processing time from historical data (this seller usually ships within 1-2 days) and add that to carrier transit time. The accuracy is much lower than for Amazon-fulfilled items.
-
Address ambiguity. Before login, Amazon only has the user's IP-derived location, which can be wrong by 50+ miles. The delivery estimate on the product page might say "Tuesday" based on a Seattle IP, but the customer's actual address is in rural Eastern Washington, which adds 2 days of ground transit. This is why the estimate can change dramatically at checkout.
-
Seasonal model drift. The transit time model is trained on historical data, but delivery patterns shift dramatically during peak seasons. A route that takes 2 days in March might take 4 days in December due to carrier volume overload. The model must detect this drift in near real-time and adjust, which requires comparing predicted vs actual delivery times on a rolling basis.
-
Returns and replacement orders. When a customer returns an item and requests a replacement, the Promise Engine must generate a new delivery estimate without double-counting inventory. The returned item is not available for re-sale until it is received and inspected, but the replacement should ship immediately from available stock. This creates inventory accounting complexity.
-
Hazardous materials routing. Items classified as hazmat (batteries, chemicals, pressurized containers) have carrier restrictions. UPS and FedEx limit hazmat to ground transportation only, no air freight. USPS has different hazmat thresholds. The Promise Engine must know the item's hazmat classification and filter carrier options accordingly, which can add days to the delivery estimate.
-
Address-type detection. Residential and commercial addresses have different delivery characteristics. Commercial addresses often have staffed receiving areas (faster delivery confirmation), but are only open during business hours (no weekend delivery). Residential addresses accept weekend delivery but have higher "not home" rates requiring redelivery. The Promise Engine factors address type into transit time estimates.
What Most People Get Wrong
| Mistake | What they say | Why it is wrong | What to say instead |
|---|---|---|---|
| Static lookup | "It is a table mapping ZIP to transit days" | Transit varies by carrier, season, weather, and FC workload | "Probabilistic model using P80-P90 of historical transit data, adjusted for live disruptions" |
| Single FC | "Ship from the nearest warehouse" | Ignores cost, workload, inventory preservation, and carrier capacity | "Multi-objective FC selection balancing speed, cost, reliability, and demand forecasting" |
| No re-promising | "Show the estimate at checkout and hope it is right" | Real-world disruptions invalidate 5-15% of original routing plans | "Continuous monitoring with proactive re-promise notifications when delays are predicted" |
| Ignoring cut-offs | "The order ships whenever it is placed" | Every FC has hard cut-off times per carrier per speed tier | "Cut-off times determine whether an order ships today or tomorrow, and the estimate reflects this" |
| One estimate for all | "Everyone sees the same delivery date" | Prime vs non-Prime, address type, cart composition all change the estimate | "The promise is personalized: customer tier, exact address, full cart context, and current time of day" |
| Ignoring AMZL | "UPS and FedEx handle everything" | Amazon Logistics handles over 50% of US last-mile deliveries | "AMZL enables same-day and tighter delivery windows through vertically integrated route planning" |
| No capacity limits | "Same-day is always available" | Van capacity, driver hours, and delivery station throughput are finite | "Same-day availability depends on remaining capacity at the local delivery station for this time slot" |
How I Would Communicate This in an Interview
Here is how I would actually walk through this:
"The delivery date estimate is the output of a real-time optimization pipeline called the Promise Engine. When a customer views a product, the engine runs in under 100ms and combines four signals: which fulfillment centers have the item in stock, which FC is optimal for this customer based on speed, cost, and reliability, what the carrier transit time is from that FC to the customer's address, and whether the order can still make today's shipment cut-off.
The FC selection is the most interesting part. It is not 'pick the nearest warehouse.' It is a multi-objective optimization that balances shipping cost against delivery speed against inventory preservation. Sometimes shipping from 500 miles away is better because the local FC's stock needs to be preserved for same-day customers who have no alternative.
Transit times are probabilistic, not static. Amazon uses the P80-P90 percentile of historical delivery performance for each FC-to-ZIP route, adjusted for live disruptions like weather or carrier delays. Conservative enough to keep the 'Promise Kept' metric above 95%, but not so conservative that customers see artificially slow estimates.
After the customer buys, the system keeps monitoring. If a disruption is detected, the re-promising engine finds alternative routing or proactively notifies the customer before the original promise date, rather than waiting for a confirmed delay.
The key tradeoff everywhere is accuracy vs conservatism. A system that promises too aggressively has great conversion but terrible customer trust when promises break. A system that promises too conservatively loses sales to competitors showing faster dates. The P80-P90 percentile approach with proactive re-promising is the balance Amazon has landed on."
Interview Cheat Sheet
- "How does Amazon calculate the delivery date?" -> Promise Engine combines FC inventory, FC selection, cut-off times, and carrier transit models in under 100ms
- "Why not just pick the nearest warehouse?" -> Multi-objective optimization: speed, cost, reliability, and inventory preservation. Nearest is often not best.
- "What if the estimate is wrong?" -> Continuous monitoring with proactive re-promising. Notify customers before the promise date, not after.
- "How does transit time work?" -> Probabilistic model using P80-P90 of historical delivery data per FC-to-ZIP route, adjusted for live disruptions
- "What about same-day delivery?" -> Local delivery stations + AMZL fleet + later cut-off times + dynamic route optimization. Capacity-limited by van/driver availability.
- "Why does the estimate change during the day?" -> Cut-off times pass. At 9 AM you might qualify for same-day; by noon, the cut-off has passed.
- "How does it handle multi-item orders?" -> Shipment grouping optimization at checkout. Trade off between fewer shipments (cheaper) and split shipments (faster).
- "What is the 'Promise Kept' metric?" -> Percentage of orders delivered on or before the promised date. Target > 95%. Drives conservative estimation.
- "How does pre-positioning help?" -> Demand forecasting predicts regional demand spikes; Inventory Placement Service pre-moves stock to reduce transit distance before orders arrive.
- "What about third-party sellers?" -> Estimated processing time from seller history + carrier transit. Less accurate than Amazon-fulfilled; FBA sellers get Promise Engine treatment.
Test Your Understanding
Quick Recap
- The Promise Engine generates delivery estimates in under 100ms by combining pre-cached inventory data, FC scoring, cut-off evaluation, and probabilistic transit time models.
- FC selection is a multi-objective optimization balancing speed, cost, reliability, and inventory preservation, not a nearest-warehouse lookup.
- Transit times use the P80-P90 percentile of historical delivery data per route, adjusted for live weather, carrier, and capacity disruptions.
- Cut-off times determine whether an order ships today or tomorrow, which is why promises change throughout the day.
- Re-promising monitors every order and proactively notifies customers of delays before the original promise date passes.
- Same-day delivery uses a separate infrastructure: local delivery stations, AMZL fleet, dynamic routing, and capacity-limited time slots.
- Demand forecasting drives inventory pre-positioning, which ensures local stock exists before demand materializes.
- The "Promise Kept" metric (>95% target) creates a structural bias toward conservative estimates over aggressive ones.
Related Concepts
- Inventory management and stock-out prediction: The demand forecasting model connects to broader inventory management theory, including safety stock calculations, reorder points, and the newsvendor problem.
- Vehicle routing problem (VRP): The last-mile route optimization for AMZL vans is a variant of the capacitated VRP with time windows, a classic operations research problem.
- Real-time bidding systems: The Promise Engine's "solicit bids from FCs" model is architecturally similar to ad tech RTB systems, where multiple candidates are evaluated in real-time under tight latency constraints.
- Probabilistic SLA estimation: The P80-P90 percentile approach to transit times connects to SLA engineering more broadly, including how cloud providers calculate uptime guarantees.
- Event-driven architecture: The re-promising pipeline is an event-driven system where state changes (FC delay, carrier disruption) trigger downstream recalculations and customer notifications.