The dispatch team has a fresh extract in practice.dispatch: one row per order with its customer, order date and shipping cost. Build the requested report queries from that extract. A window adds context to each order without collapsing it into a customer summary.
Choose the partition before the ordering. Some customers have several orders on the same day, so include order_id when a task asks for a deterministic row sequence. A date-range frame has a different purpose: all orders on a date should share the same rolling calendar window. When you need customer totals before ranking customers, aggregate first. Otherwise the ranking measures individual dispatches. Keep the requested columns and aliases so the report can consume your result.