# Price sensitivity and the price response

Source: https://docs.tightly.io/help/engines/price-response
Reviewed: 2026-09-26

## What it is

Price sensitivity is the pricing engine's tier for one variant: how far sales move when the price moves. The tier is one of High, Moderate, Low, Inconsistent or Still learning, and a variant the engine holds no tier for reads Not scored. Beside the tier the engine prints a Confidence and a Basis. The tier is read from the price response of the variant's pool, the same price response Markdowns and every discount figure use, so the three cannot disagree about one product. The basis is read from the prices customers actually paid for this variant. It is part of [the pricing engine](../engines/pricing).

## How the tier is measured

The tier is set inside every sync for every variant that sold in the last two years. It never measures anything itself: it reads the price response already held for the variant's pool, which is its product family where the family has two or more variants, else its category where that has two or more, else the whole book. That price response is measured by a scheduled job from the prices paid and the units sold across the pool, and served for up to seven days.

- The pool could not identify a price response of its own: Still learning, with no confidence.
- The price response's range reaches zero, so the history cannot confirm that price moves sales at all: Inconsistent.
- Otherwise the size of the price response decides: a 1% price move changing units by more than 2%, High; by less than 1%, Low; in between, Moderate.

Confidence is High for a price response measured on the pool's own history with a tight range, Medium for any other measured one, and Low where the pool was too thin and its price response was drawn toward a wider pool's.

A pool with no price response held yet is asked for one, at most ten pools each sync and the ones with the most variants first, and until it has one its variants keep the tier they were showing, with its own date, so the column never goes blank while the job catches up. A variant that was showing no tier stays Not scored. A tier whose variant has not sold in two years is removed on the next run. A failed pass never fails the sync.

## How the basis is decided

The basis is measured on each view of the variant, from the price actually paid per selling week, weighted by quantity, in one currency. It asks whether there is enough price variation, for this variant's own swing in weekly units, to measure a price response to within a set precision.

- Measured on this item: the variant's own weeks carry it.
- From its cohort: the variant is too thin, and every variant of the same product pooled together carries it instead, so the figure describes the product.
- Not enough price history: neither can.

An item that sold in fewer than two weeks, sold at one price throughout, or sold the same quantity every week cannot be measured, and the section says which in a sentence of its own, for example:

> Sold in 1 week. A price response needs at least 2 selling weeks before there is anything to compare.

## The words in the Price section

On a variant's Price section the rows read Tier, Confidence, Basis, Price changes in 12 months and Sales through. Confidence reads High confidence, Medium confidence, Low confidence, or Not stated. Where the basis is not measured, a Category reference row gives a published starting point, worded like 2.0% fewer units for 1% on the price, with a hover saying whether it is published for this category, extrapolated from the nearest category, or a general default, not measured for this category. Apparel has no published figure and takes the default.

Where the tier is measured, the section's one sentence names the pool it belongs to, for example:

> Across this category, a 10% cut moves sales about 17%. High confidence.

Where the tier is missing or from its cohort, the evidence sentence takes its place. If the read fails the section says The price read did not answer. with Try again.

## Where you see it, and what you can do

Every plan sees the Price section and the Price sensitivity column and filter on Sales performance, where a line with no tier reads Not scored. Nothing is pressed to measure a tier: the pool's price response is measured by the scheduled job, and the next sync reads it. Read the Basis before acting on a tier, and use Ask Tightly beside the section's title to ask what to do about it.

## Glossary line

Price sensitivity: the pricing engine's tier for how far sales move when the price moves, read from the variant's pool.
