This page describes how every number on DatacenterDisk is produced. It is written so that a reader, a journalist or a language model can check our working rather than take our word for it. If a rule here stops being true of the site, this page is the bug.
Prices come from Amazon US through the catalogue API, not from scraping a rendered product page. That distinction matters more than it sounds. A scraper reads whatever text a page happened to show; an API response identifies a specific product by ASIN and returns its current offer. It means a price on this site is attached to an identified item rather than to a string.
In-stock gating. Only in-stock offers are displayed and only in-stock offers count toward any statistic. An out-of-stock listing is not a price - it is the memory of one - and including them would flatter every floor and median on the site. When stock disappears, the row disappears with it.
Condition is recorded, never merged. New and refurbished stock are tracked as separate observations and are never averaged into a single price. A refurbished floor sitting well below a new one is the ordinary state of enterprise storage rather than a bargain signal, and blending them would manufacture a discount that does not exist. Where a table shows one row per product, it shows that product's best price and labels the condition it came from.
Identity checks. An automated check runs over the catalogue looking for rows whose parts disagree with each other - a slug claiming one capacity while the capacity column says another, a brand in the URL that the record does not support, in-stock prices attached to a deactivated product. This exists because a product page once sent hundreds of readers to an ASIN that was not the drive named on the page. Every check on the site until then had asked whether a record was internally valid; none had asked whether its parts agreed. Retired product URLs redirect to the relevant category rather than returning a dead end.
Specifications are taken from manufacturer datasheets, with the source URL logged against the model. Where a figure cannot be established from a maker's own documentation it is rendered as unverified. We do not infer specifications from marketplace titles: sellers copy each other's text, and the attribute most often wrong is the one that matters most.
The clearest case is recording technology. Whether a drive is CMR or SMR determines whether it belongs in a RAID array, and it is routinely absent from listings. Our CMR-or-SMR resolver answers per model number from recorded data, and says so plainly when a model cannot be resolved.
Where a claim cannot come from a datasheet - compatibility of aftermarket parts, noise levels, whether a controller works in a given server - the site labels the claim with where it came from instead of laundering it into fact:
VENDOR FACTPublished by the manufacturer or OEM in its own documentation.
SELLER CLAIMAsserted by a seller in a listing. Often true, occasionally aspirational, never checked by the seller against the buyer's hardware.
COMMUNITYReported by users in forums and homelab communities. Frequently the only source for whether something actually works, and labelled so the reader can weigh it.
This is where most price-tracking sites go wrong, so it is worth being precise.
A level - the cheapest listing per terabyte today, the median across in-stock stock - is a plain observation and we report it as one. A level can move because a single cheap listing appeared or vanished, without any seller changing a price.
A change is a different measurement and needs a different instrument. Every percentage on this site comes from a matched-model index: each listing is compared only against its own prior price, and those per-listing changes are averaged. Comparing one day's median to another's measures catalogue churn and calls it price movement. We know the size of that error because we made it: adding thirty-one NAS drives in a single week moved a raw median by 53% while no seller changed anything, and on one occasion the naive method put server memory at +7% when the matched-model figure was −20%. Two of three categories had the wrong sign. Percentages are always published with the number of listings they matched.
Every series states the date its history begins and the date it ends. A trend without its window is not checkable. Where a window is short, the page says it is short rather than presenting a fortnight as though it were a year.
Price history is classified by what is displayed, not by what a number was derived from. Aggregate statistics we compute across a population - category medians, floors, $/TB trend series, in-stock rates, index series - are our own measurements and are shown, always with the window and a timestamp. Historical prices attributed to a specific listing are not shown. A verdict computed from a listing's own record may be shown as a qualitative badge beside the current price, because it prints no historical figure. The only price displayed anywhere on the site is the current one.
Price-driven pages carry four freshness signals - the structured-data modified date, two metadata tags, and a visible timestamp - and all four are bound to the same instant: the most recent successful price refresh for the data on that page. None of them is ever a request-time clock dressed up as an update. A page that has not changed says so.
The scraper runs every thirty minutes and works through the catalogue in slices, so any individual listing is re-checked every few hours rather than every few minutes. The visible "last price refresh" stamp is the newest observation in the dataset behind that page, which is the honest reading of it.
Pages with too little in-stock data to be useful are marked noindex and removed from the sitemap until stock returns, rather than published thin to catch search traffic.
When something is wrong we change the page and say what changed, on the page, rather than editing quietly. Corrections reported by readers are the most useful mail this site gets; send them to hello@datacenterdisk.com with the URL and what looks wrong.
The worked example is the identity-drift incident described above. A product page carrying a Toshiba 8TB name, slug and part number was linked to an ASIN that was a different manufacturer's 1TB drive. It was the site's highest-converting outbound link. The response was to retire the URL and redirect it to the category rather than re-point it at a replacement product, because the record's parts already disagreed with each other and re-keying it would have invented a fourth identity for it; and then to write the automated check that makes the whole defect class detectable, which now runs against the catalogue after every catalogue change. Fixing the instance without building the check would have left the next one to be found by a reader.
We do not currently maintain a public log of past corrections. When one exists it will be linked from here.
The site earns affiliate commission on qualifying purchases made through its links, and this is disclosed in the footer of every page. Rankings are computed from price alone. No product, brand or seller can pay for placement, for a verdict or for removal of an unfavourable one. Where a refurbished unit beats a new one on cost per terabyte, it ranks above it.
Price data is licensed for display on this site only. There is no public API and no feed, and we cannot grant reuse rights over the data or the series derived from it. Cite figures with a link in the ordinary way.