beginnerTask Types

Predict the Delivery Time

Decide what you would do from the brief alone, including whether you would change anything at all. Everything below it is available, but the exercise stops working if you open it first.

The brief you were given

Ticket from the courier app team: "Customers want to know when their parcel arrives. Build a model that predicts delivery time in hours from the shipment details. We have two years of completed deliveries." The current app shows a fixed 48-hour promise.

The trap — the fix that moves the metric and is not the fix

Training a regressor on the mean delivery time, reporting an RMSE that beats the fixed promise, and shipping the prediction as the promise. The review is easy: RMSE went down, the demo shows sensible hours, the fixed 48-hour number was obviously crude. In production half the promises are broken by construction, because the mean is the point where half the parcels are later, and the customers who complain are the ones on slow routes whose late tail the squared loss averaged toward the middle. The model was fine; the decision layer was never designed, and the fixed promise was quietly a quantile that someone chose years ago.

Read this even if you are confident. It is here rather than behind a button because it is the answer most teams actually ship, it passes review, and its cost arrives weeks later when the labels do.