Skip to content

Data requirements & thresholds — reference

The home of record for what the engine needs and the numbers it runs on. The how-tos and Troubleshoot suggestions link here.

What the catalogue needs

RequirementEffect
Module enabled for the tenantNo suggestions until on
Name + brand on productsThe minimum — the engine works from these alone
Dosage form, cost price, strengthOptional, but make suggestions more accurate; never blocks on a missing field
Cost price (for up-sell)Drives margin ranking. Products with no cost, zero cost, or cost ≥ selling price are treated as unknown margin — never ranked top, never claimed “higher margin”
~90 days of sales (for cross-sell)Needed so basket affinities can form

This is graceful degradation by design — the engine never over-restricts on missing optional fields. Why: How it stays safe & self-improving.

Classification scope & timing

BehaviourValue
In scopeEvery SKU in stock (qty > 0) or sold in the last 90 days is classified; the dead catalogue is skipped
Restock sweepA 30-minute background sweep enqueues newly in-stock products
ThroughputThe classifier processes ~1,500 products/hour — a restocked item is suggestible within the hour; a 3,000-SKU catalogue is covered in ~2 hours
Shared cacheProducts already seen elsewhere on the platform classify near-instantly

Thresholds

ThresholdValue
SuppressionA suggestion is auto-suppressed tenant-wide once ≥ 2 distinct cashiers flag the same pair (tunable; default 2)
Cross-sell affinityA pair must co-occur in ≥ 3 baskets to be considered
Cross-sell cacheRebuilt nightly per enabled tenant