Write SQL and Python, run instantly in your browser, and track your progress.
You are a Logistics Analyst at Amazon. The operations team is conducting a quarterly review of shipping performance and needs a normalized list of all delivered shipments from the last 120 days. This data will be used to analyze carrier performance and identify areas for improvement.
Your task is to create a clean dataset by joining the shipments and orders tables. The dataset should include standardized carrier names and service levels, along with key dates and shipping weights.
| Column Name | Type |
|---|---|
| shipment_id | INTEGER |
| order_id |
You are a Logistics Analyst at Amazon. The operations team is conducting a quarterly review of shipping performance and needs a normalized list of all delivered shipments from the last 120 days. This data will be used to analyze carrier performance and identify areas for improvement.
Your task is to create a clean dataset by joining the shipments and orders tables. The dataset should include standardized carrier names and service levels, along with key dates and shipping weights.
| Column Name | Type |
|---|---|
| shipment_id | INTEGER |
| order_id |
| INTEGER |
| INTEGER |
| warehouse_code | TEXT |
| warehouse_code | TEXT |
| carrier_name | TEXT |
| carrier_name | TEXT |
| service_level | TEXT |
| service_level | TEXT |
| tracking_number | TEXT |
| tracking_number | TEXT |
| ship_date | TEXT |
| ship_date | TEXT |
| est_delivery_date | TEXT |
| est_delivery_date | TEXT |
| delivery_date | TEXT |
| delivery_date | TEXT |
| status | TEXT |
| status | TEXT |
| weight_kg | REAL |
| weight_kg | REAL |
| shipping_fee_charged | REAL |
| shipping_fee_charged | REAL |
| shipment_id | order_id | warehouse_code | carrier_name | service_level | tracking_number | ship_date | est_delivery_date | delivery_date | status | weight_kg | shipping_fee_charged |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
| shipment_id | order_id | warehouse_code | carrier_name | service_level | tracking_number | ship_date | est_delivery_date | delivery_date | status | weight_kg | shipping_fee_charged |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 |
| Column Name | Type |
|---|---|
| order_id | INTEGER |
| order_number | TEXT |
| customer_id | INTEGER |
| order_datetime | TEXT |
| status | TEXT |
| fulfillment_type | TEXT |
| Column Name | Type |
|---|---|
| order_id | INTEGER |
| order_number | TEXT |
| customer_id | INTEGER |
| order_datetime | TEXT |
| status | TEXT |
| fulfillment_type | TEXT |
| order_id | order_number | customer_id | order_datetime | status | fulfillment_type | ship_city | ship_state | ship_country | shipping_service_level | subtotal | shipping_fee | tax | discount | total_amount |
|---|
| order_id | order_number | customer_id | order_datetime | status | fulfillment_type | ship_city | ship_state | ship_country | shipping_service_level | subtotal | shipping_fee | tax | discount | total_amount |
|---|
| shipment_id | order_id | carrier_upper | service_level_upper | ship_date | delivery_date | weight_kg_rounded |
|---|---|---|---|---|---|---|
| 240 | 310 | DHL | STANDARD | 2025-08-28 | 2025-09-02 | 4.26 |
| 275 | 358 | USPS | STANDARD | 2025-08-26 | 2025-09-02 |
| shipment_id | order_id | carrier_upper | service_level_upper | ship_date | delivery_date | weight_kg_rounded |
|---|---|---|---|---|---|---|
| 240 | 310 | DHL | STANDARD | 2025-08-28 | 2025-09-02 | 4.26 |
| 275 | 358 | USPS | STANDARD | 2025-08-26 | 2025-09-02 |
Showing first 3 of 44 rows.
Showing first 3 of 44 rows.
1. Output Columns:
shipment_id: The shipment's unique identifierorder_id: The order's unique identifiercarrier_upper: The carrier name, converted to all uppercaseservice_level_upper: The service level, converted to all uppercaseship_date: The date the shipment was shippeddelivery_date: The date the shipment was deliveredweight_kg_rounded: The shipment weight in kilograms, rounded to two decimal places1. Output Columns:
shipment_id: The shipment's unique identifierorder_id: The order's unique identifiercarrier_upper: The carrier name, converted to all uppercaseservice_level_upper: The service level, converted to all uppercaseship_date: The date the shipment was shippeddelivery_date: The date the shipment was deliveredweight_kg_rounded: The shipment weight in kilograms, rounded to two decimal places| W3-Atlanta |
| W3-Atlanta |
| UPS |
| UPS |
| economy |
| economy |
| TRK100002 |
| TRK100002 |
| 2025-02-25 |
| 2025-02-25 |
| 2025-03-04 |
| 2025-03-04 |
| 2025-03-05 |
| 2025-03-05 |
| delivered |
| delivered |
| 3.04 |
| 3.04 |
| 5.99 |
| 5.99 |
| 2 | 3 | W4-Dallas | USPS | expedited | TRK100003 | 2025-02-15 | 2025-02-18 | in_transit | 9.2 | 14.99 |
| 2 | 3 | W4-Dallas | USPS | expedited | TRK100003 | 2025-02-15 | 2025-02-18 | in_transit | 9.2 | 14.99 |
| 3 | 4 | W2-Chicago | USPS | standard | TRK100004 | 2025-02-07 | 2025-02-12 | picked_up | 7.17 | 5.0 |
| 3 | 4 | W2-Chicago | USPS | standard | TRK100004 | 2025-02-07 | 2025-02-12 | picked_up | 7.17 | 5.0 |
| 4 | 5 | W3-Atlanta | UPS | standard | TRK100005 | 2025-06-26 | 2025-07-01 | return_to_sender | 6.35 | 5.0 |
| 4 | 5 | W3-Atlanta | UPS | standard | TRK100005 | 2025-06-26 | 2025-07-01 | return_to_sender | 6.35 | 5.0 |
| 5 | 6 | W3-Atlanta | UPS | standard | TRK100006 | 2025-04-08 | 2025-04-13 | 2025-04-12 | delivered | 4.66 | 9.99 |
| 5 | 6 | W3-Atlanta | UPS | standard | TRK100006 | 2025-04-08 | 2025-04-13 | 2025-04-12 | delivered | 4.66 | 9.99 |
| ship_city | TEXT |
| ship_city | TEXT |
| ship_state | TEXT |
| ship_state | TEXT |
| ship_country | TEXT |
| ship_country | TEXT |
| shipping_service_level | TEXT |
| shipping_service_level | TEXT |
| subtotal | REAL |
| subtotal | REAL |
| shipping_fee | REAL |
| shipping_fee | REAL |
| tax | REAL |
| tax | REAL |
| discount | REAL |
| discount | REAL |
| total_amount | REAL |
| total_amount | REAL |
| payment_status | TEXT |
| payment_status | TEXT |
| created_at | TEXT |
| created_at | TEXT |
| payment_status |
|---|
| payment_status |
|---|
| created_at |
|---|
| created_at |
|---|
| 1 | ORD-10001 | 46 | 2025-08-20 07:01:34 | shipped | pickup | pickup | 50.96 | 0.0 | 4.36 | 0.0 | 55.32 | captured | 2025-08-20 07:01:34 | |||
| 2 | ORD-10002 | 19 | 2025-02-24 04:56:03 | delivered | ship |
| 1 | ORD-10001 | 46 | 2025-08-20 07:01:34 | shipped | pickup | pickup | 50.96 | 0.0 | 4.36 | 0.0 | 55.32 | captured | 2025-08-20 07:01:34 | |||
| 2 | ORD-10002 | 19 | 2025-02-24 04:56:03 | delivered | ship |
| 1.84 |
| 1.84 |
| 215 | 274 | USPS | STANDARD | 2025-08-21 | 2025-08-27 | 1.9 |
| 215 | 274 | USPS | STANDARD | 2025-08-21 | 2025-08-27 | 1.9 |
2. Filtering:
2. Filtering:
status = 'delivered'delivery_dateweight_kg (> 0)shipping_fee_charged (> 0)status = 'delivered' or 'shipped'status = 'delivered'delivery_dateweight_kg (> 0)shipping_fee_charged (> 0)status = 'delivered' or 'shipped'3. Ordering:
3. Ordering:
delivery_date (descending, most recent first)shipment_id (ascending)delivery_date (descending, most recent first)shipment_id (ascending)| Austin |
| Austin |
| TX |
| TX |
| US |
| US |
| economy |
| economy |
| 601.53 |
| 601.53 |
| 5.99 |
| 5.99 |
| 54.96 |
| 54.96 |
| 0.0 |
| 0.0 |
| 662.48 |
| 662.48 |
| partial_refund |
| partial_refund |
| 2025-02-24 04:56:03 |
| 2025-02-24 04:56:03 |
| 3 | ORD-10003 | 21 | 2025-02-13 17:43:43 | shipped | ship | London | ENG | UK | expedited | 68.26 | 14.99 | 5.41 | 0.0 | 88.66 | captured | 2025-02-13 17:43:43 |
| 3 | ORD-10003 | 21 | 2025-02-13 17:43:43 | shipped | ship | London | ENG | UK | expedited | 68.26 | 14.99 | 5.41 | 0.0 | 88.66 | captured | 2025-02-13 17:43:43 |
| 4 | ORD-10004 | 8 | 2025-02-07 13:00:50 | shipped | ship | Calgary | AB | CA | standard | 290.99 | 5.0 | 26.88 | 0.0 | 322.87 | captured | 2025-02-07 13:00:50 |
| 4 | ORD-10004 | 8 | 2025-02-07 13:00:50 | shipped | ship | Calgary | AB | CA | standard | 290.99 | 5.0 | 26.88 | 0.0 | 322.87 | captured | 2025-02-07 13:00:50 |
| 5 | ORD-10005 | 8 | 2025-06-24 03:59:58 | packed | ship | Edmonton | AB | CA | standard | 569.61 | 5.0 | 54.73 | 0.0 | 629.34 | captured | 2025-06-24 03:59:58 |
| 5 | ORD-10005 | 8 | 2025-06-24 03:59:58 | packed | ship | Edmonton | AB | CA | standard | 569.61 | 5.0 | 54.73 | 0.0 | 629.34 | captured | 2025-06-24 03:59:58 |