=== Report 1: Purchase order replenishment performance by supplier, 2025 (written by Felix) === Engineer's note: pct_received_late and avg_days_late are computed only over POs that have both expected_at and received_at populated (per the request's definition); POs missing either timestamp are excluded from those two measures but still count toward pos_ordered/pos_received. REPORT: Purchase order replenishment performance by supplier, 2025 QUESTION: Which suppliers are chronically slow to deliver against purchase orders, relative to what they've promised? supplier_name | lead_time_days_contracted | pos_ordered | pos_received | avg_actual_lead_days | pct_received_late | avg_days_late ---------------------------------+---------------------------+-------------+--------------+----------------------+-------------------+-------------- Dalsgaard Roasters GmbH | 8 | 52 | 51 | 7.5 | 52.9 | 0.9 Hanbury Textiles Inc. | 7 | 52 | 51 | 7.5 | 52.9 | 1.2 Kuntai Textiles Co., Ltd. | 34 | 52 | 47 | 37.0 | 55.3 | 9.2 Norvik Roasters Ltd | 6 | 52 | 51 | 6.2 | 43.1 | 0.5 Tessaro Roasters GmbH | 8 | 52 | 51 | 7.7 | 47.1 | 0.8 Tessaro Textiles GmbH | 15 | 52 | 50 | 16.9 | 64.0 | 2.8 Weiyang Roasters Co., Ltd. | 37 | 52 | 45 | 40.6 | 46.7 | 12.0 Castelo Roasters GmbH | 14 | 51 | 50 | 16.4 | 56.0 | 3.6 Kuntai Roasters Sp. z o.o. | 12 | 51 | 49 | 14.3 | 46.9 | 3.0 Kuntai Textiles S.p.A. | 15 | 51 | 49 | 18.2 | 55.1 | 2.2 Weiyang Textiles Inc. | 4 | 51 | 50 | 4.8 | 74.0 | 0.8 Castelo Roasters B.V. | 8 | 50 | 48 | 8.6 | 60.4 | 0.8 Weiyang Textiles Co., Ltd. | 37 | 50 | 43 | 42.5 | 46.5 | 5.9 Oakmere Roasters Inc. | 7 | 48 | 47 | 6.9 | 55.3 | 0.5 Dalsgaard Textiles S.p.A. | 8 | 47 | 46 | 8.7 | 43.5 | 2.7 Tessaro Textiles Ltd | 9 | 47 | 46 | 8.6 | 50.0 | 0.8 Vireo Textiles Co., Ltd. | 28 | 47 | 40 | 39.9 | 80.0 | 16.0 Oakmere Cosmetics Ltd | 5 | 46 | 45 | 5.3 | 53.3 | 0.5 Tessaro Roasters Co., Ltd. | 43 | 46 | 38 | 52.8 | 39.5 | 11.2 Vireo Cosmetics Co., Ltd. | 42 | 46 | 39 | 50.0 | 41.0 | 8.1 Vireo Textiles Sp. z o.o. | 15 | 46 | 43 | 16.8 | 46.5 | 3.0 Dalsgaard Cosmetics GmbH | 14 | 45 | 44 | 14.7 | 50.0 | 3.5 Dalsgaard Textiles Ltd | 8 | 45 | 44 | 8.1 | 59.1 | 0.3 Montval Pet Foods Co., Ltd. | 31 | 45 | 40 | 35.5 | 42.5 | 7.6 Hanbury Roasters Co., Ltd. | 42 | 44 | 39 | 43.1 | 41.0 | 7.7 Oakmere Textiles B.V. | 4 | 44 | 44 | 4.4 | 40.9 | 0.8 Weiyang Cosmetics Ltd | 6 | 43 | 42 | 6.4 | 35.7 | 0.9 Haizhou Pet Foods GmbH | 9 | 42 | 42 | 11.0 | 52.4 | 1.6 Norvik Industrial Co., Ltd. | 32 | 42 | 38 | 37.7 | 52.6 | 5.4 Haizhou Roasters Co., Ltd. | 28 | 40 | 34 | 37.9 | 76.5 | 13.7 Hanbury Roasters B.V. | 15 | 40 | 37 | 16.6 | 48.6 | 2.1 Lucerna Pet Foods Ltd | 8 | 40 | 39 | 6.8 | 51.3 | 0.5 Lucerna Roasters Co., Ltd. | 35 | 40 | 35 | 41.7 | 51.4 | 6.8 Selwyn Homeware Co., Ltd. | 35 | 40 | 33 | 43.6 | 84.8 | 11.1 Tanaka-Ri Industrial S.p.A. | 16 | 39 | 37 | 18.4 | 45.9 | 2.8 Lucerna Textiles Co., Ltd. | 34 | 38 | 32 | 43.6 | 40.6 | 13.3 Oakmere Office Products B.V. | 11 | 38 | 36 | 14.1 | 77.8 | 4.7 Oakmere Homeware Co., Ltd. | 31 | 37 | 31 | 34.2 | 51.6 | 6.9 Tessaro Electronics GmbH | 6 | 37 | 37 | 7.0 | 70.3 | 1.0 Vireo Office Products Sp. z o.o. | 14 | 37 | 34 | 19.1 | 55.9 | 3.3 Weiyang Outdoor Gear Sp. z o.o. | 8 | 37 | 36 | 8.4 | 38.9 | 1.9 Dalsgaard Industrial Sp. z o.o. | 12 | 36 | 35 | 12.7 | 42.9 | 2.6 Selwyn Industrial Ltd | 5 | 36 | 35 | 4.5 | 42.9 | 0.9 Brenholt Textiles GmbH | 8 | 35 | 35 | 9.3 | 40.0 | 3.9 Vireo Homeware GmbH | 12 | 35 | 33 | 12.3 | 57.6 | 1.4 Dalsgaard Outdoor Gear Co., Ltd. | 28 | 34 | 31 | 34.1 | 51.6 | 4.4 Haizhou Textiles B.V. | 4 | 34 | 34 | 4.4 | 44.1 | 0.4 Hanbury Electronics Co., Ltd. | 43 | 34 | 28 | 48.1 | 67.9 | 11.2 Lucerna Roasters B.V. | 13 | 34 | 32 | 16.8 | 75.0 | 5.6 Vireo Office Products Ltd | 4 | 34 | 34 | 4.3 | 38.2 | 0.7 (50 rows) === Report 2: Purchase order replenishment performance by quarter, 2025 (written by Grace) === Engineer's note: pos_still_open_at_cutoff for Q4 (and especially POs placed in December) will be inflated by right-censoring: there simply hasn't been enough elapsed time before the 2025-12-31 cutoff for those POs to be received, independent of any real backlog. Read Q4 alongside Q1-Q3 as a baseline rather than as a standalone signal of slowdown. REPORT: Purchase order replenishment performance by quarter, 2025 QUESTION: Did supplier replenishment slow down or back up around peak season, and did it clear by year-end? quarter | pos_ordered | pos_received | avg_actual_lead_days | pct_received_late | avg_days_late | pos_still_open_at_cutoff --------+-------------+--------------+----------------------+-------------------+---------------+------------------------- 2025-Q1 | 1183 | 1183 | 22.4 | 52.9 | 6.1 | 0 2025-Q2 | 1209 | 1209 | 20.0 | 47.4 | 3.8 | 0 2025-Q3 | 1238 | 1238 | 20.7 | 54.0 | 4.8 | 0 2025-Q4 | 1588 | 1170 | 15.8 | 57.7 | 3.1 | 418 (4 rows) === Report 3: Current stockout exposure by warehouse, as of 2025-12-31 (written by Bea) === Engineer's note: This is a point-in-time snapshot of current stock_items (as replicated, effectively as of 2025-12-31), not a trend over the year, since there is no reliable historical stockout event log. For variants held at multiple locations within a warehouse, quantity, reserved_quantity and reorder_point were all summed to one on-hand figure and one reorder threshold per variant-warehouse before applying the out-of-stock and reorder-point tests. REPORT: Current stockout exposure by warehouse, as of 2025-12-31 QUESTION: As of now, how exposed are our fulfillment sites to stockouts, and how many SKUs are already at or below their reorder point? warehouse_name | tenant_name | variants_tracked | variants_out_of_stock | pct_out_of_stock | variants_at_or_below_reorder_point | pct_at_or_below_reorder --------------------------------------+-------------------------------+------------------+-----------------------+------------------+------------------------------------+------------------------ Köln Fulfilment Centre | Brennquell Kaffee | 854 | 127 | 14.9 | 244 | 28.6 San Francisco Fulfilment Centre | Honeycomb Larder | 255 | 28 | 11.0 | 59 | 23.1 Newcastle upon Tyne Fulfilment Centre | Deskline Supplies | 191 | 18 | 9.4 | 21 | 11.0 San Antonio Fulfilment Centre | Castell Fasteners | 314 | 29 | 9.2 | 32 | 10.2 Oslo Fulfilment Centre | OfficeHub Nordic | 352 | 31 | 8.8 | 37 | 10.5 Liège Fulfilment Centre | Spice Route Box | 397 | 32 | 8.1 | 61 | 15.4 Manchester Fulfilment Centre | Grind Collective | 411 | 33 | 8.0 | 68 | 16.5 Galway Fulfilment Centre | Ballycorran Industrial Supply | 806 | 59 | 7.3 | 66 | 8.2 Hannover Fulfilment Centre | Hanse Industriebedarf | 286 | 21 | 7.3 | 26 | 9.1 Berlin Fulfilment Centre | Kontor24 Bürobedarf | 373 | 27 | 7.2 | 29 | 7.8 Dublin Fulfilment Centre | Sourdough Club | 287 | 18 | 6.3 | 57 | 19.9 Berlin Fulfilment Centre | Wiesgrund Wohnen | 681 | 36 | 5.3 | 102 | 15.0 Uppsala Fulfilment Centre | Juniper Apothecary | 416 | 22 | 5.3 | 54 | 13.0 Amsterdam Fulfilment Centre | Linden & Loom | 750 | 39 | 5.2 | 118 | 15.7 Lund Fulfilment Centre | Saffron & Sage | 257 | 13 | 5.1 | 46 | 17.9 Liverpool Fulfilment Centre | Fennel & Flint | 904 | 42 | 4.6 | 121 | 13.4 Leeds Fulfilment Centre | The Balm Room | 308 | 14 | 4.5 | 37 | 12.0 Oslo Fulfilment Centre | Purrfect Pantry | 155 | 7 | 4.5 | 20 | 12.9 Houston Fulfilment Centre | Tail Wag Supply | 196 | 8 | 4.1 | 20 | 10.2 Paris Fulfilment Centre | Mirelle | 294 | 12 | 4.1 | 27 | 9.2 Rotterdam Fulfilment Centre | Midland Safety Wear | 460 | 19 | 4.1 | 21 | 4.6 Manchester Fulfilment Centre | Willow & Wren | 460 | 18 | 3.9 | 56 | 12.2 Bromley Fulfilment Centre | Petalcourt Beauty | 920 | 35 | 3.8 | 118 | 12.8 Innsbruck Fulfilment Centre | Buchstabe | 260 | 10 | 3.8 | 19 | 7.3 Liège Fulfilment Centre | Polder Packaging | 234 | 9 | 3.8 | 11 | 4.7 Odense Fulfilment Centre | Nordic Bloom Cosmetics | 468 | 18 | 3.8 | 62 | 13.2 Amsterdam Fulfilment Centre | Whisker Works | 272 | 10 | 3.7 | 35 | 12.9 Nürnberg Fulfilment Centre | Wohnglück | 557 | 20 | 3.6 | 56 | 10.1 Göteborg Fulfilment Centre | Coastline Interiors | 550 | 19 | 3.5 | 65 | 11.8 Bromley Fulfilment Centre | Kibblewick | 522 | 18 | 3.4 | 101 | 19.3 Charlotte Fulfilment Centre | Roast Republic | 212 | 7 | 3.3 | 31 | 14.6 Bordeaux Fulfilment Centre | Chocolaterie Mireille | 157 | 5 | 3.2 | 18 | 11.5 Köln Fulfilment Centre | Pfotenglück | 242 | 7 | 2.9 | 33 | 13.6 Hamburg Fulfilment Centre | Ampfeld Elektronik | 1515 | 39 | 2.6 | 171 | 11.3 Berlin Fulfilment Centre | Kaffeekontor Nord | 83 | 2 | 2.4 | 2 | 2.4 Amsterdam Fulfilment Centre | Ampere & Co. | 441 | 10 | 2.3 | 38 | 8.6 Augsburg Fulfilment Centre | Hautnah | 345 | 8 | 2.3 | 35 | 10.1 Houston Fulfilment Centre | Feather & Fin | 386 | 9 | 2.3 | 66 | 17.1 Zaandam Fulfilment Centre | Sorella Skin | 260 | 6 | 2.3 | 33 | 12.7 Bergen Fulfilment Centre | Hus & Hem | 274 | 6 | 2.2 | 30 | 10.9 Preston Fulfilment Centre | Rosehip Lab | 193 | 4 | 2.1 | 8 | 4.1 Dublin Fulfilment Centre | Basecamp Nord | 658 | 11 | 1.7 | 27 | 4.1 Amersfoort Fulfilment Centre | Kettle & Key | 310 | 5 | 1.6 | 17 | 5.5 Orlando Fulfilment Centre | Stoneware Studio | 378 | 6 | 1.6 | 16 | 4.2 Atlanta Fulfilment Centre | Cragsley Outfitters | 16301 | 251 | 1.5 | 1045 | 6.4 Eindhoven Fulfilment Centre | Hound Hamper | 200 | 3 | 1.5 | 19 | 9.5 Göteborg Fulfilment Centre | Paperplane Press | 265 | 4 | 1.5 | 28 | 10.6 Birmingham Fulfilment Centre | Folio & Fern | 309 | 4 | 1.3 | 30 | 9.7 Exeter Fulfilment Centre | Kayak Corner | 1598 | 21 | 1.3 | 65 | 4.1 Stockholm Fulfilment Centre | Barkley & Co. | 149 | 2 | 1.3 | 15 | 10.1 (50 rows)