Industry
Price monitoring for home improvement retailers, normalised to a comparable unit
Price monitoring for home improvement retailers converts every competitor listing to a comparable unit price, adds delivery and freight to reach an effective price, and pins each source to a market or ZIP code, because a tile listed per box, a spool of wire and a freight-delivered vanity are not comparable at their shelf prices.
In home improvement the number on the page is rarely the number that matters. The same product is sold per piece, per foot, per box and per pallet, delivery can add more than the discount you were worried about, and the shelf price changes by market. Useful monitoring in this category is three normalisations stacked on top of collection: unit, delivery and location.
Price monitoring for home improvement retailers starts with the unit
Two listings for the same tile can differ by fifty percent and be identical in price. One retailer quotes $2.49 per square foot, another quotes $26.80 for a box, and the box covers 10.76 square feet. Divide and both are $2.49. Without that division your feed reports a competitor ten times more expensive, your analyst loses an hour to it, and any rule reading it does something stupid.
Normalisation is a property of the product, not of the scrape. You set the comparison unit once per category, and every observation is converted before it is stored, so market average, price index and repricing rules all read the same unit.
| Category | How competitors list it | Compare on | Worked conversion |
|---|---|---|---|
| Wall and floor tile | Per square foot, per box, occasionally per pallet | Price per square foot | A box covering 10.76 sq ft at $26.80 is $2.49 per sq ft |
| Fasteners and hardware | Box of 100, box of 500, contractor pail | Price per 100 | A 500-count box at $18.95 is $3.79 per 100 |
| Paint and coatings | Quart, gallon, five-gallon pail | Price per gallon | A five-gallon pail at $174.75 is $34.95 per gallon |
| Electrical wire and cable | Per foot at the cut counter, 250 ft spool, 500 ft spool | Price per foot | A 250 ft spool at $89.50 is $0.358 per foot |
| Dimensional lumber | Per piece, per linear foot, sometimes per board foot | Price per piece at a stated length | A 2x4 at 8 ft for $4.28 is $0.535 per linear foot |
Store the raw listing as well as the normalised figure. When a competitor changes pack size rather than price, which happens quietly and often, the raw history is the only place that shows up.
Competitor prices — Audio & Small appliances
| Product | You | Voltbay | Harborline | PrimeDeck | Casa & Kin | Belmont Direct | Position |
|---|---|---|---|---|---|---|---|
| Aurora H7 Noise-Cancelling HeadphonesNL-1000 | $249.00 | $254.75 | $257.46 | $263.24 | $260.16 | — | Lowest |
| Aurora H7 Noise-Cancelling Headphones — BlackNL-1007 | $275.83 | $255.57 | $295.14 | $273.40 | $261.36 | $274.54 | Above |
| Aurora H7 Noise-Cancelling Headphones — Midnight BlueNL-1014 | $275.90 | $243.97 | $299.78 | $294.42 | $280.25 | $272.53 | Above |
| Aurora H7 Noise-Cancelling Headphones — SandNL-1021 | $273.31 | $265.33 | $265.90 | $247.33 | $259.81 | $288.91 | Above |
| Aurora Buds ProNL-1028 | $149.00 | $162.74 | $169.34 | $159.11 | $167.18 | $154.28 | Lowest |
| Aurora Buds Pro — BlackNL-1035 | $165.68 | $165.93 | $187.17OOS | $173.29 | $174.95 | $177.90 | Matched |
| Aurora Buds Pro — Midnight BlueNL-1042 | $165.19 | $148.24 | $183.85 | $161.72 | $162.17 | $167.73 | Above |
Out-of-stock listings are struck through and excluded from position and repricing decisions.
Delivery is part of the price, and often the larger part
Freight decides more competitive outcomes in this category than list price does. Worked example on a 36 inch vanity. You list $549 with $129 curbside freight, which is $678 delivered. A competitor lists $589 with free delivery over $499, which is $589 delivered. On the shelf you are $40 cheaper. At the door you are $89 more expensive, and the customer only ever sees the second number.
So effective price is what gets compared: item price plus the shipping the page states for a representative destination, with the free-shipping threshold recorded as its own field. Two threshold effects are worth watching. A competitor moving a threshold from $499 to $299 is a price cut across their whole freight range without touching a single price. And thresholds interact with basket size, which is why a monitored threshold change belongs in the weekly review rather than in an automated rule.
Trade pricing you can see, and trade pricing you cannot
Half of this industry runs on pro and contractor accounts with negotiated rates, volume breaks and quoted jobs, all of it behind a login. None of that is visible to any monitoring tool that respects a login wall, and a vendor claiming otherwise is describing something you should ask hard questions about.
What is visible is still enough to run a pricing program. Public shelf price is the anchor every negotiation starts from. Published quantity breaks, pro pallet pricing shown without a login, and public bulk SKUs give you the shape of the volume curve. Advertised trade promotions tell you when a competitor is buying share from contractors. Combine those with your own quote win and loss data and you get the trade picture from two directions: the public price from monitoring, the negotiated gap from your own history.
- Effective price
- The number a customer actually pays to get the goods where they need them: normalised unit price, plus stated delivery or freight for a representative destination, minus any advertised discount visible on the page. In home improvement it is the only price worth comparing, because shelf price and effective price routinely rank competitors in the opposite order.
Regional pricing: an unpinned price means nothing
Large chains price by market, and availability differs store to store, so the same URL can return different prices depending on the location assumed. A national average built from unpinned observations is a number with no referent. Each source is pinned to a market or ZIP code, and the practical setup is a small set of representative markets rather than one national figure: one for each region where you genuinely compete, plus any market where a competitor has a distribution advantage on freight.
Store pickup and ship to home also carry different prices at some retailers, and clearance is often store-specific. Record which fulfilment path a price belongs to, or you will end up comparing your delivered price to their pickup price and concluding you are uncompetitive in a market where you are not.
Commodity SKUs need a cost-aware rule, not a competitor-aware one
Lumber, copper wire, PVC, insulation and steel move with input costs on a weekly rhythm. A rule that reads only competitor prices will happily follow a competitor still selling through cheap stock bought two months ago, and you will discover the problem at the end of the quarter. The fix is a cost floor updated from your own cost feed, so when landed cost moves the floor moves with it and no competitor observation can push a price under it.
Worked example. A stud sells at $4.28 against a landed cost of $3.05, so margin is $1.23 or 28.7 percent. Set an 18 percent margin floor and the lowest price a rule may reach is 3.05 divided by 0.82, which is $3.72. A competitor at $3.55 is below your floor, so the rule stops at $3.72 and files an exception. Next week landed cost rises to $3.30 and the floor rises automatically to $4.02. Nothing about the competitor changed; your permitted range did.
Repricing — rule builder
Beat market low on Audio
Active- Scope
- Category: Audio
- Strategy
- Match lowest in-stock competitor − $1.00
- Guardrail
- Never below 22% gross margin
- Excludes
- Out-of-stock competitors, unauthorised sellers
- Max change
- 6% per day
- Apply
- Review queue, then push to store
Simulated impact — next 30 days
- Products in scope7SKUs
- Price changes proposed12this run
- Blocked by margin floor3held
Three changes were blocked because they would have taken gross margin below 22%. The rule never overrides its own floor.
| Rule | Scope | SKUs | Status |
|---|---|---|---|
| Beat market low on Audio | Category: Audio | 7 | Active |
| Hold MSRP on protected brands | Brand: Ironside, Granite | 6 | Active |
| Recover margin on Home & kitchen | Category: Home & kitchen | 7 | Awaiting review |
| Clear slow movers | Tag: aged-90d | 4 | Paused |
$299/mo
Growth: 2,500 products, twice-daily refresh
$699/mo
Scale: 10,000 products, four-times-daily refresh
14 days
Free trial, no credit card
Daily refresh suits most of this category, since hardware and building materials move on weekly cost cycles rather than intraday. Guardrails are covered in repricing software, the wider category in retail price monitoring, and the other verticals on the industries hub.
Normalise one category and see what changes
Pick tile, fasteners or wire, set the comparison unit, add delivery, and compare the ranking you get to the one you had. 14 days, no credit card. Or walk the demo tenant first.
Frequently asked questions
How do you compare prices when competitors sell different pack sizes?
You set a comparison unit per category, such as price per square foot for tile or price per 100 for fasteners, and every observation is converted before it is stored. The raw listing is kept alongside the normalised value, so a competitor who quietly shrinks a pack from 500 to 400 pieces shows up as the price increase it actually is.
Can it include shipping and freight in the comparison?
It captures the shipping cost and free-shipping threshold stated on the product page and compares effective price, which is normalised item price plus stated delivery. What it cannot do is complete a checkout to obtain a ZIP-specific freight quote. For heavy goods where the real cost only appears at checkout, treat freight as an assumption you set per category.
Does it see contractor or pro account pricing?
No. Prices behind a login are never read, and negotiated contractor rates live there. What is monitored is public shelf price, publicly published quantity breaks, bulk and pallet SKUs, and advertised trade promotions. Most pricing teams pair that public picture with their own quote win and loss data to understand the negotiated layer.
How do you handle retailers that price differently by region?
Every source is pinned to a market or ZIP code, and prices are stored against that location rather than as a national number. The usual setup is a handful of representative markets covering the regions where you genuinely compete. Comparing an unpinned national average against your own local price is the most common way this category produces misleading results.
How should repricing work on commodity-linked products like lumber?
Anchor the rule to your own cost rather than to competitors. A cost floor fed from landed cost, plus a margin floor, means the permitted price range moves when input costs move. Competitor prices then decide where you sit within that range, not how low it goes. Otherwise a rule will follow a competitor selling through older, cheaper stock.
How many competitors should a hardware or building materials retailer track?
Three to five per product, chosen as the ones you actually lose orders to in each market, is usually right. Adding distant sellers whose freight makes them irrelevant to your customer drags the market average away from reality. Starter allows 10 competitor URLs per product and Growth and above are unlimited, so the constraint is judgement rather than plan.
Keep reading
- All industriesHow the same stack is configured for electronics, apparel, auto parts, beauty and sporting goods.
- Retail price monitoringMulti-store pricing, promotional cadence, private label comparison and in-stock weighting.
- Repricing softwareCost floors, margin floors and max daily change, and where an approved price change lands.
- Ecommerce margin calculatorRun the floor arithmetic on your own landed costs before you write a single rule.
- Competitor price analysisTurning a normalised price feed into category-level decisions rather than a spreadsheet nobody opens.
- Data qualityCoverage, freshness and self-healing extraction, so a source that stopped is visible the same day.
Start monitoring in the next ten minutes
Connect your store, match your catalogue and get your first competitor comparison in the same session.
14 days, no credit card, cancel in one click.