Writing by Peter Hilton

Deconstructed inventory management

the basis for a home information management project 2025-11-25 #product

  1. Narrative
  2. Details ←
  3. Tooling
  4. Minimum viable solution

Since 2020, I’ve played home inventory management, which makes online orders for supermarket deliveries more satisfying. It also keeps the storeroom, fridge and freezer well-stocked, while minimising cost and waste. This article deconstructs the narrative, to make it look more like a software problem.

Home inventory in November 2024

Photo: twelve of the storeroom shelves in 2024 – some of the unrefrigerated food inventory

Context

Optimisation goals & constraints

  1. Use all inventory before its best before date.
  2. Store each product in a consistent location in the storeroom.
  3. Keep the storeroom tidy, without spreading a stock item across more than one shelf.
  4. Use discounts to minimise each stock item’s moving average price.

Inventory data model

Attribute name Example value Description
product name De Cecco Spaghetti Nr. 12 The name on the supermarket web site
inventory 4 The actual quantity currently in the storeroom
expected inventory 5 Actual inventory plus ordered undelivered stock
shelf C3 Storeroom shelf column and row, fridge, or freezer
maximum inventory 6 The highest quantity to stock for this product
shelf life 12 Months from delivery date to ‘best before’ date
last discount 2025 The year of this product’s last discount

I would absolutely use the supermarket’s unique product SKU codes, but they don’t expose them in the customer-facing interface.

I occasionally append the product weight/volume/quantity to the product name, to choose among alternatives, but not often enough to want a separate attribute.

Example data

Shelf Product name Inventory Maximum Shelf life Last discount
B3 Tortilla wraps 3 6 6 months  
C1 Marmite yeast extract 3 4 13 months 2025
C2 De Cecco Spaghetti no. 12 1 6   2025
D2 Mutti Polpa 5 36   2024
fridge Mozzarella 0 1    

Ordering process

  1. Update inventory levels, by inspecting the storeroom and kitchen.
  2. Start an order on the supermarket web site, using a desktop computer.
  3. Add all items from the weekly predefined shopping list.
  4. Add one of any out-of-stock items.
  5. Browse discounted items in the storeroom shopping list, and in the list of the week’s discounts.
  6. Add discounted items up to their maximum inventory, prioritising bigger discounts.
  7. If necessary, to reach the minimum order value, add never-discounted items.
  8. Place the order (with bonus points for an order value within €1 of the minimum).
  9. For each order line, update expected inventory to actual inventory + order quantity.
  10. After delivery, update actual inventory levels, and clear expected inventory.

Process variation

Step 1 doesn’t happen during travel, in which case step 2 uses a laptop or phone, and steps 4–7 rely on already-accurate inventory levels.

Step 6: a large discount (up to 50%) may justify exceeding the minimum order value, to bet against a large discount returning before using up that stock.

Step 6: a small discount (e.g. 10%) may justify only partially restocking a previously-discounted product, to bet on a larger discount later.

The question

Given this summary of my domestic inventory management, how would you manage the inventory levels? Which kind of software tool do you think I use?

📌 As of November 2025, Peter Hilton is available for a new senior product management role (Europe remote, or Rotterdam), and speaking engagements.

Share on BlueskyShare on LinkedIn