Link Rot: Measuring How Fast Lists Decay
Sample construction
Link rot is the rate at which the rows on a curated list stop pointing at what they claimed. Measuring it requires a list that dates its rows, because a row without a publication date cannot decay in a measurable way. The desk therefore measures decay on its own tracked rows and on dated rows quoted in public threads, and it says plainly that this is a convenience sample rather than a random one.
Sample construction starts with a definition. A row counts as alive when the link resolves to a page whose title and gallery still describe the same item. It counts as drifted when the link resolves but the item has changed. It counts as dead when the link does not resolve, and as replaced when a working substitute can be identified for the same item. Those four states are recorded by hand for every row in the pool.
Every row enters the pool with four attributes: the date it was first seen, the category, the region the list addressed and whether the row was a single-item page or one of the shell forms. Nothing else is collected, so the pool stays small enough to re-check by hand. Rows whose first-seen date cannot be established are excluded rather than estimated, because a guessed start date would corrupt the only axis the measurement depends on.
The pool is deliberately mixed. It contains rows the desk selected itself and rows that somebody else published, which means it carries a maintainer's bias and a stranger's bias at the same time. Rows published by others are more likely to be stale, because a stranger has no reason to update them, while rows tracked by the desk are more likely to be refreshed, because they are swept on a schedule. Reporting the two groups separately is the honest way to handle that, and the two groups are never pooled into one headline figure.
Crawl schedule
The crawl schedule is deliberately slow. The desk re-checks a share of the pool every fortnight rather than the whole pool every quarter, so that the interval between observations stays short enough to place a failure inside a two-week window. A quarterly sweep would produce the same totals with a much wider error bar on the timing, and timing is the part readers act on.
Each visit records the four states plus the date, and any change is written as a note rather than as a silent edit. When a row drifts, the note records which attribute moved: the title, the gallery, the option list, the price band or the storefront name. Drift is more common than death in every sweep so far, and a measurement that only counted deaths would miss most of what happens to a list.
The schedule costs about an hour per sweep for a pool of a few hundred rows. That figure is stated because it explains why a personal list decays: a pool large enough to be useful is large enough that a monthly sweep competes with everything else, and a list that stops being swept does not stop changing. The cost is the mechanism behind the curve, not a footnote to it.
Sweeps are logged even when nothing changed. An empty sweep is a data point, because it establishes that a row was still alive on that date and narrows the window in which it later failed. Logs that record only changes cannot distinguish a row that was stable for six months from a row that was never checked at all, and that distinction is the entire value of keeping a schedule rather than checking a list when it starts to look suspicious. A log with visible gaps is still useful, provided the gaps are visible in it.
Decay curve results
The recorded curve has a shape worth describing even though the numbers are bands rather than rates. Rows fail slowly at first, then faster through the middle of the first year, then more slowly again as the survivors settle. The middle of the curve is where most of the damage happens, and it is the part a reader never sees, because a list presented in one undated block gives no clue which rows are new and which are eight months old.
The early part of the curve is dominated by drift rather than death. A row three months old usually still resolves; roughly what changes is the option list or the price band, and a buyer who checks only that the link works will not notice. This is the strongest argument for dating rows individually, because a single date in the header of a list cannot distinguish a row that drifted last week from one that has been stable since spring. The description on a drifted page usually survives even when the photographs do not, which is why the gallery has to be compared rather than the text.
The later part of the curve is dominated by replacement rather than removal. Rows that survive a year often survive because the seller relisted them under new identifiers, and a list that keeps the old identifier will show a dead row beside a live item. Recording replacements as a distinct state rather than as a death changes the shape of the measurement and makes the list more useful than an honest failure count would be.
What the curve does not do is predict any individual row. A row that has survived nine months is not safer than a row published last week; it is simply a row whose seller has not reorganised. Survival is a property of a seller's listing habits, and a single relist can end a nine-month run in a day. The curve describes the pool, and the pool is not a forecast.
Regional variance
Regional variance shows up mostly in the replacement rate rather than in the failure rate. Rows addressing European destinations were replaced more often and recovered at a similar rate, which is consistent with sellers reorganising listings to present tax-inclusive pricing. The observation is about listing behaviour and should not be read as a statement about customs rules, which change on their own schedule.
Rows addressing North American destinations failed more often without replacement in the recorded pool. The most common follow-up in the reading was a storefront that had been emptied or renamed rather than an item that had moved. That pattern matters because it changes the recovery advice: searching the storefront is the first move for a European failure, while searching photographs is the first move for a North American one.
Destination is not the only axis, and it is probably not the strongest. Category moved the replacement rate more than region did in the same reading, with electronics recovering least often at the same price band and footwear most often. The desk records both axes and reports them separately, because a single combined figure would average away the difference readers actually care about.
Treat the regional split as a lead rather than as a result. The pool is not balanced across destinations, since European rows outnumber the others by a wide margin, and a difference measured on unequal groups is easier to produce than to explain. The desk reports the split because readers ask about it directly, and marks this as the least reliable column in the table for exactly that reason. A balanced pool would need a different collection method.
Limitations
Three limitations apply to everything above and should be read before the bands are used. The pool is a convenience sample drawn from dated public lists and the desk's own tracked rows, so it is not representative of the catalogue and cannot be extrapolated to it. Rows that were never dated are absent entirely, and undated rows are exactly the ones most likely to be stale.
The second limitation is the observer. Every state is assigned by hand by the same desk that maintains the pool, and a different reader applying the same four definitions could classify a drifted row as dead or as replaced. The definitions are published for that reason, so that the disagreement can be located rather than hidden inside a total. No inter-observer check has been run.
The third limitation is timing. A fortnightly sweep places a failure inside a two-week window and cannot date it more precisely, so any statement about whether decay accelerates in a particular season is beyond what this method supports. The desk publishes the observation dates with the bands and updates the whole table on the review schedule rather than editing individual rows, so a change in the table always corresponds to a fresh sweep. A reader who needs a number for one particular row is asking a different question from the one this measurement answers.
One further gap bounds every figure above and deserves naming. The pool measures rows rather than purchases, so it says nothing about whether a row that drifted ended up costing anybody money. A drifted row can be harmless when the substitute is equivalent and expensive when it is not, and the four state definitions used here cannot tell those two cases apart. Answering that question needs a different study, and the desk has not run one.
Row state recorded by months since first seen
Editorial classification, bands only. The desk swept a pool of dated rows every fortnight and assigned each row one of four states by hand; the table reports which state dominated each month band in that reading. It is not a survival rate and no percentage is published, because the pool is a convenience sample of dated public lists plus the desk's own tracked rows and cannot be normalised. Last checked 2026-09-26.
| Item | Reading |
|---|---|
| Months since first seen | State that dominated the band |
| 0 to 2 | Alive; changes limited to option lists and prices |
| 3 to 5 | Drifted; page resolves but the item has changed |
| 6 to 8 | Drifted or dead in similar numbers |
| 9 to 11 | Replaced; a working substitute usually identifiable |
| 12 and beyond | Small surviving set, mostly relisted under new identifiers |
Sources and checks
- Editor analysis — Sweep method and four-state definition written by the deskno sample
- Public community thread — Same reading pool used for the category recovery table in the dead-link dispatchn=214
Last checked · next review due · status current.