
Some products are sold under a brand and an article number. Others are sold on a specification. An industrial hose, a beam of timber or a length of cable is defined by its pressure rating, its species or its cross-section, and two listings that look alike in a photo can be different products with different prices.
That is why a price comparison based on names and article numbers breaks down in these categories. The specification is the identity of the product, and the benchmark has to be built on it.
Spec-driven products rarely share a reliable identifier such as an EAN, and one product line can be sold in dozens of variants. Matching on category or headline description will happily compare a 10-bar hose with a 40-bar one, or construction-grade timber with a decorative grade. A comparison is only valid if the attributes that define the product are captured and enforced. We describe the general approach in Matching without a barcode: How to compare prices when there's no EAN. This article goes into what is specific to spec-driven products.
That differs per category, and you need to decide it before you collect anything. A few examples:
Ask the people who sell and buy these products which attributes decide whether a customer sees two items as equivalent. That list is the foundation of the benchmark.
The attributes are rarely in a clean field. They sit in product titles, specification tables and downloadable datasheets, written in different units and notations: millimetres and inches, bar and psi, a nominal size or an exact measurement. Extraction has to read all of these sources and convert the values to one standard. Rules catch impossible values, and listings where the system is not sure go to a person for review instead of being forced into a match.
Split the attributes into two groups. Hard filters must match for a comparison to make sense: for hose, the pressure rating and the material; for timber, the species and the treatment. Other attributes can differ within a tolerance and contribute to a similarity score, such as a length or dimensions that are close enough for the same use. Set a threshold per category. A strict threshold gives fewer but safer matches; a loose one gives more coverage and a higher risk of comparing items that only resemble each other.
Convert every price to a common unit, such as price per metre, per piece, per cubic metre or per kilogram. Take pack sizes, cut-to-length options, minimum order quantities and volume discounts into account, and be clear about whether prices include delivery and VAT. A lower price per piece can hide a higher minimum order, so compare what a buyer actually pays for an equivalent quantity.
Many B2B suppliers show prices only after login, or on request. Monitoring only works for prices that are publicly available, so those sources fall outside what can be benchmarked automatically. List prices, webshop prices and published price lists can still give a useful picture of the market. Be explicit about which part of the market your benchmark covers.
Catalogues change: new variants appear, specifications are corrected and suppliers rename products. Treat the matching model as something that needs periodic recalibration, not a one-time setup. Check match rates per category, review borderline matches and re-tune thresholds when the data shifts. The same trade-off between coverage and accuracy is explained in Why EAN matching is giving you few or wrong matches.
Defining which attributes matter is expertise you already have. Turning it into a rules engine that runs reliably per category, and stays accurate as suppliers change their catalogues, is harder to sustain.
At Competify, we work this way for products and services without an EAN, including spec-driven products such as hose and timber. We define with you which attributes matter and how they are weighted, build the matching and keep it current, and deliver the data through a dashboard, API or file transfer. If you would rather not own that part yourself, please plan an introduction meeting.
Want to know how we work?
We build and maintain custom webscrapers that turn any website into structured data and insights.



