# An aged inventory playbook: when to mark down, move or clear slow stock

> Slow stock needs a decision, and blanket discounts are a poor one. Use age bands and a real price floor to decide what to reprice, relist or clear.

Canonical URL: https://stackknack.com/blog/aged-inventory-markdown-playbook
Published: 2026-10-31
Author: StackKnack Team
Tags: Pricing, Inventory decisions

Most stores handle slow stock in one of two ways. Some leave it alone and hope. Others run a storewide sale and give away margin on items that would have sold at full price next week.

A better method treats each aged item as its own small decision, with a known floor and a next step set by its age.

## Start with the price floor

Before you discount anything, work out the lowest price that still returns what the item cost you. Here is an illustrative item that cost $120 and is listed at $220, assuming 13% in selling fees.


Listed at $220
Marked down to $180
Marked down to $150
Break-even at $138


| Sale price | Fees (13%) | You receive | Profit after item cost |
| --- | --- | --- | --- |
| $220 | $28.60 | $191.40 | $71.40 |
| $180 | $23.40 | $156.60 | $36.60 |
| $150 | $19.50 | $130.50 | $10.50 |
| $138 | $17.94 | $120.06 | $0.06 |

For this item, break-even is about $138 before shipping and handling. Anything below that needs a deliberate reason, such as freeing up cash or shelf space you can use more profitably.

To find your own floor, divide the item's full cost by one minus your fee rate. Here that is $120 ÷ 0.87.

A floor is only as good as the cost behind it. If your costs are store averages, some items will look safe to discount when they are already selling at a loss.

## Give every age band a default action

Your first question is how old the item is, because the right response changes with age. Adjust these bands to your category. Sneakers and fashion often move faster than collectibles or used equipment.


Leave it alone
Fix the listing
First markdown
Second markdown or new channel
Clear it


| Days in stock | Default action |
| --- | --- |
| 0 to 30 | Leave it alone. It has not had a fair chance yet. |
| 31 to 60 | Fix the listing: photos, title, condition notes, size or spec details. |
| 61 to 90 | First markdown, usually modest, and well above the floor. |
| 91 to 120 | Second markdown, or move it to another channel. |
| 121 and over | Clear it: bundle, wholesale, or sell near the floor. |

The middle band matters more than people expect. An item that has sat for 45 days often has a listing problem rather than a price problem, and cutting the price will not fix a bad photo.

## Check three things before cutting a price


Views with no sales suggest that price or trust is the problem. No views suggest that the listing, the category or the channel is wrong.
If the item is consigned, the price may not be yours to change. Check the owner's minimum price and terms first. A markdown that breaks an agreement costs more than the item is worth.
A discount makes sense when the money it releases has a better use, such as restocking a fast seller. If nothing better is waiting, a little more patience may cost you nothing.


## Keep a record of what you tried

Teams repeat the same failed markdowns because nobody wrote down the last one. For every action, record what changed, why, who approved it and what happened in the following weeks. Within a few months you will know how your own customers respond to a 10% cut on a 90-day-old item, which beats any general rule, including the bands above.

## How StackKnack helps

[StackKnack Pulse](/pulse) brings this work into a daily decision brief, using [Console](/console) records and Shopify order data.

- The brief surfaces the items that need attention today, so nobody has to build the aged-stock report first.
- Each recommendation shows the cost, age, ownership and sales facts behind it.
- Proposed changes stay inside the limits you set, and if your policy says no, Pulse tells you why.
- You approve a specific action, and Pulse checks the relevant data again before it runs.
- The recommendation, approval and action stay on record, so you can review them next to what sold afterward.

Pulse never changes a price without your approval. It currently needs Console and Shopify as its data sources.


- Work out each item's floor from its real cost before you discount it.
- Use age bands to set the next step. Early on, fix the listing before the price.
- Record every markdown and its result, so your own data can replace general rules.


Have a pricing decision your team keeps making by hand? [Bring it to us](/contact), and we will show how Pulse would support it.
