# Methodology — how these prices are produced

URL: https://floorcostestimator.com/methodology
Last updated: 2026-08-19
License: CC BY 4.0

Every figure is an observation, not an estimate. A crawler records the advertised price of a
specific manufacturer SKU at 7 US online flooring retailers once a
day at 9:00 AM America/New_York, normalises it to price per square foot, and publishes the range. A
product is published only where two or more of those retailers carry the same part number and agree
on the carton size behind it.

## Sample

| Field | Value |
|---|---|
| Observation date | 2026-08-19 |
| Manufacturer | Anderson, COREtec, Karndean, MSI, Metroflor, Mohawk, Shaw, Stanton only |
| Products | 839 published, of 2,121 part numbers carried by two or more sellers |
| Observations | 1704 |
| Distinct prices | 156 (each price repeats ~10.9x) |
| Retailers tracked | 7 |
| Retailers with an observation | 3 |
| Exact matches | 1699 (99.7%) |
| Likely matches | 5 |
| Products at n=1 / n=2 / n>=3 | 1 / 811 / 27 |
| Archive | 1 daily snapshots since 2026-08-19, all 1 published as a band series |
| Release confidence | low |

## Why installation labor is absent

The retailer that collects this data sells materials and does not sell or arrange installation, so
it observes no labor pricing. Deriving an installed price from public wage data would require at least four unobserved
assumptions — burden rate, productivity, overhead and margin — producing a modelled number
presented as an observed one. No labor figure is published.

## The retailer panel, and why a price is not attributed to one

The panel is published in full: Arko Flooring, Bombay Tile, Floor City, Flooring Market, Show Flooring, Tough Supply, Villo Home. On August 19, 2026,
3 of those 7 carried a product
that matched, so the rest contributed no price to this release.

What is not published is which price came from which seller. Those retailers did not opt into being
a price feed, and a per-SKU per-seller table would function as competitive intelligence more than as
a consumer tool. What is published is the range, the sample size and the match quality. The one
price identified with its seller is the operator's own, because hiding the operator's number would
be the one omission that flattered it.

## Are 1704 observations 1704 independent prices?

No. They contain 156 distinct prices; each advertised figure appears
about 10.9 times. A retailer prices a whole product line at one figure
and carries it across every colourway, so many colours of one plank at one seller produce many rows
and a single price. Read the count as catalogue coverage, not as independent price checks.

## Matching

Matches are labelled *exact* when the manufacturer SKU is identical and *likely* when the title
matches but the SKU could not be confirmed. Both are published and labelled per observation.

## Box and waste arithmetic

    effective_sqft = room_sqft x (1 + waste_pct/100)
    boxes          = ceil(effective_sqft / sqft_per_box)
    billed_sqft    = boxes x sqft_per_box
    material_cost  = billed_sqft x price_per_sqft

Where a retailer did not publish a box size, the manufacturer box size is used and the observation
is labelled *box size derived*.

## Confidence tiers

| Tier | Condition | Shown |
|---|---|---|
| Single observation | n = 1 | One price, no range |
| Early | n = 2 | Range flagged early |
| Observed range | n >= 3 | Range with sample size |
| Unpriced | n = 0 | Nothing; no estimate produced |

There is no "high confidence" tier: per-product samples are too small for the word.
Release rule: high requires n>=60 products, >=5 retailers, age<=1 day and >=60% strong matches; this dataset does not meet it.
Release confidence is low because there is no regional or metro breakdown; the median product carries only two observations; the most recent observation is more than three days old. The
per-product tier and the release confidence are separate scales: the first describes one answer,
the second describes the dataset.

## Freshness

0–1 days current; 2–3 days the observation date is shown plainly; 4+ days a stale banner appears
and release confidence drops one tier. Current release: stale,
83 days old.

## Conflict of interest

This site is operated by a materials-only flooring retailer that sells the category it prices. The comparison covers 46 products and is withheld on this release: 3 of 7 tracked sellers could not be read and they are the price-restricted ones, so a result against the remainder flatters the operator. This state is recomputed on every
publish and included in the downloadable data. The operator receives no ranking preference. Its
trading name is not published on this site.

## Known limits

- A panel, not a market: 839 products from 8 manufacturers at 3 readable sellers, one supplying 39.7% of the rows.
- 17 products (2%) could not be placed in a construction family and appear only in the pooled band.
- Online advertised prices only; in-store, regional and negotiated pricing is invisible.
- 1704 observations carry only 156 distinct prices.
- Thin endpoints: the $16.79 top rests on 2 observations, the $1.13 bottom on 1.
- Small per-product samples: 1 of 839 products have one observation, and 0 rest entirely on likely matches.
- No labor, therefore no installed cost.
- Likely matches may be the wrong specification at the right name.
- Short archive: 1 observation dates, published in full. Long enough to show that individual prices barely move (0 changes in 0 day-over-day comparisons), far too short to call a direction. No trend claim is made.
- The archive holds one observation date, so there is no second panel to compare this one against. Nothing here is a trend.

## Citation

    Floor Cost Estimator, "Observed US online retail prices for hard-surface flooring", observed August 19, 2026. Published by a materials-only flooring retailer that sells the category it prices. https://floorcostestimator.com/methodology

Licensed CC BY 4.0. Reuse with attribution, including by automated systems.
