Particular Audience Particular Audience
Talk to us

The retail operating system

One engine for every retail decision.

Most retailers run four or five separate tools.

Search in one tool, pricing in another, ads bolted on top — nobody owns the order shoppers see, and margin leaks between them. The Unified Decision Engine governs relevance, inventory, margin and sponsored demand in one pass, on every surface, including the AI assistants now doing the shopping.

Start with one surface. Leave the rest of your stack untouched.

Need one thing first? Start with our AI product recommendation engine or AI site search.

SKU and Part-Number Search Alongside Semantic Search

Test exact SKUs, model numbers and descriptive product queries together. Use a labelled fixture to expose identifier collisions, false matches and weak retrieval.

Exact SKU and part-number search alongside semantic search

A shopper entering a part number expects the correct part. A shopper describing a job needs a different kind of matching. Evaluate both behaviours in one query panel, preserving identifier precision while testing how semantic retrieval handles language, attributes and incomplete descriptions.

Classify intent without discarding useful context

A string containing digits is not automatically an identifier. “AX-100” may name a product, while “case for AX-100” asks for a compatible accessory. “Under £100” expresses a price constraint. A routing rule that treats all three as exact product lookups can be precise about the wrong intent.

Create labelled examples from your own query logs, with sensitive information removed. Include known identifiers, descriptive queries, partial identifiers, superseded codes and accessories referring to a model. State what a correct result means for each class before comparing engines.

Preserve the distinctions that identify the item

Keep identifiers as strings. Leading zeros, suffixes and separators can be meaningful. Normalisation is useful only when it maps permitted variants to the same item without merging different products. Test aliases against a controlled mapping and include deliberate collisions.

For a synthetic fixture, DEMO-AX100 and DEMO-AX100B are different items. Removing every suffix would produce a false exact match. A request for “case for DEMO-AX100” should be judged against compatible cases, not awarded success merely because the device itself appears first.

Evaluate lexical and semantic retrieval together

The design question is how exact matching, language understanding and constraints interact. PA describes parallel keyword handling for SKUs, GTINs and manufacturer part numbers alongside vector retrieval. This confirms the intended capability, not perfect accuracy on every identifier in your catalogue. PA search overview.

Test the whole returned list, including eligibility and destination variants. If the exact item is unavailable, distinguish that status from an alternative. A related product may be a useful suggestion; it should not inherit the identity of the requested item.

Score different failure types separately

For valid identifier queries, report whether the intended item is returned and where it ranks. For descriptive queries, use graded relevance and an agreed result depth. For compatibility queries, require verified compatibility evidence. Keep false exact matches visible even if the overall score improves.

Review both query-level performance and traffic-weighted performance. The former exposes coverage across different tasks; the latter shows the distribution shoppers actually encounter. Neither justifies ignoring a serious low-frequency error.

Turn the fixture into a release check

Save the query, expected target, catalogue version, allowed aliases and disallowed matches. Replay it after ingestion changes, identifier normalisation changes and model updates. Add new failures to the panel without repeatedly tuning only to a small public demonstration set. Keep a separate held-out sample for final assessment.

Illustrative example

Synthetic fixture rows: query DEMO-AX100 → intended item DEVICE-A; query DEMO-AX100B → DEVICE-B; query "case for DEMO-AX100" → CASE-A; query DEMO-AX999 → no exact match. CASE-B is explicitly incompatible with DEVICE-A. These identifiers are invented; there is no real hardware compatibility assertion.

Downloads

Sources

How Particular Audience does it

Frequently asked questions

Should vector search replace exact SKU matching?

The objective is to serve both precise identifiers and descriptive intent correctly. Test how the engine combines these paths. An embedding-based similarity result should not be presented as an exact identifier match unless the catalogue identity actually agrees.

Can we remove punctuation from all part numbers?

Only when a verified alias rule preserves identity. In some catalogues punctuation, leading zeros or suffixes distinguish products. Test normalisation against known collisions and maintain mappings rather than applying a universal string-cleaning rule.

Which metric should we use?

Use exact-target retrieval and rank for identifier queries, graded relevance for descriptive queries, and verified eligibility for constraints. Report false exact matches separately. A single average score can hide a severe error in a small but commercially important query class.

How-to guides · All guides