Skip to content
Price IntelligencePrice Intelligence home

Product

Repricing rules that cannot quietly break your margin

Repricing rules are the conditions that decide when and how a price changes: which products a rule covers, which competitor listings it reads, what target it aims for, and the floors it can never cross. This module builds those rules, sends each change to a review queue, a CSV export or a connected store, and logs every one.

Start free trialOpen the live demo14 days, no credit card, cancel in one click.

A repricing rule has five parts: the products it covers, the competitor listings it is allowed to read, the target it aims for, the floors it can never cross, and where the resulting price is sent. The floors are the part that matters. A rule without a margin floor, a cost floor and a MAP floor is a way to lose money quickly and consistently, and every rule here carries all three.

What repricing rules are made of

Rules are built from named parts rather than a formula box, so anyone on the team can read a rule six months later and know what it does.

The anatomy of a repricing rule
PartWhat you setExample
ScopeWhich products the rule covers: a category, a brand, a saved group, a tag from your store, or a list of SKUsAll power tools except clearance
Competitor setWhich matched listings count, plus filters for stock, match confidence, freshness and seller typeIn-stock authorized retailers only, high-confidence matches
TargetWhat the rule aims at: match the lowest, beat it by an amount or percent, sit at the market average, index against it, or hold a fixed marginBeat the lowest in-stock competitor by $0.01
GuardrailsMargin floor, cost floor, MAP floor and a price ceilingNever below 28 percent gross margin
Change limitsMaximum change per run and per day, in percent or dollars, plus a minimum change worth makingNo more than 5 percent per day, ignore moves under $0.25
CadenceWhen the rule evaluates, tied to your refresh rateAfter each of the four daily collection runs
DestinationReview queue, CSV export, or push to the connected storeReview queue until the rule has earned trust

Rules are ordered. Where two rules cover the same product, the higher-priority rule wins and the losing rule is recorded on the change so you can see why it did not apply.

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.

RuleScopeSKUsStatus
Beat market low on AudioCategory: Audio7Active
Hold MSRP on protected brandsBrand: Ironside, Granite6Active
Recover margin on Home & kitchenCategory: Home & kitchen7Awaiting review
Clear slow moversTag: aged-90d4Paused
A rule in the Northline Supply demo tenant, with its competitor set, target, guardrails and destination shown together.

Guardrails: the floors a rule can never cross

Guardrails are evaluated after the target, and the most restrictive one wins. That is the entire safety model, and it is worth walking through with numbers because it is where most repricing accidents happen.

Take a product currently listed at $89.99 with a landed cost of $62.00. The lowest in-stock matched competitor is $84.99, and the rule says to beat the lowest by a cent, so the target price is $84.98. Four constraints now apply.

Worked example: four guardrails on one price change
ConstraintSettingMinimum price it allowsArithmetic
Cost floorNever below landed cost$62.00The cost itself
Margin floor28 percent gross margin$86.1262.00 / (1 - 0.28) = 86.11, rounded up so the floor is actually cleared
MAP floorMAP price of $87.99$87.99The MAP itself
Max daily change5 percent of the current price$85.5089.99 x 0.95 = 85.49, rounded up for the same reason

The rule proposes $87.99, not the $84.98 it wanted. The binding constraint is recorded on the change, so the queue shows MAP floor rather than leaving you to work out why the rule stopped short.

That last detail matters more than it sounds. A rule that silently fails to reach its target looks identical to a rule that is working, until margin erodes somewhere else. Every proposal carries the constraint that bound it. If a whole category is repeatedly held by its margin floor, the answer is usually that you are not competitive on cost in that category, and no repricing rule fixes that.

Where a repricing rule is allowed to move a priceA vertical price scale showing the bands a repricing rule operates within. Below the cost floor and the margin floor the rule may never go. Above the MAP floor and below MSRP is the permitted zone. A maximum daily change limits how far a price can move in one run, and every proposed change outside the permitted zone is blocked rather than applied.A RULE THAT CAN BREACH ITS OWN FLOOR WILL EVENTUALLY BREACH ITNever — below cost or below margin floorcost $128.00 · 22% margin floor $164.10Permitted zone$164.10 – $229.00max change 6% per day, so today the rule may reach $187.06Above MSRP $229.00 — held$229.00 MSRP$199.00 current$164.10 floor$128.00 costBlocked today3 of 12 proposedchanges would havecrossed the floor
Guardrails are hard limits, not suggestions. A rule cannot override its own floor.

How repricing consumes matched competitor data

A repricing rule is only as good as the observations feeding it, so the rule engine is deliberately picky about what it will read. Data has to clear five filters before it can move a price.

  1. 1Match confidence. Only matches above the confidence threshold you set are eligible. Low-confidence candidates never move a price, they go to review. The waterfall behind those scores is described in the product matching guide.
  2. 2Stock status. Out-of-stock listings are excluded by default. Chasing a price nobody can buy is the most common way an automated rule gives away margin for nothing.
  3. 3Freshness. An observation older than the window you set is ignored. If a source has not returned a good price for two refresh cycles, its last known price stops counting rather than quietly anchoring the rule.
  4. 4Validation. Prices quarantined by plausibility checks never reach a rule. A $0.00 reading or a shipping fee misread as a price is held back at collection, which is covered in price monitoring.
  5. 5Seller filters. You can restrict a rule to authorized retailers, exclude specific marketplace sellers, or exclude anyone currently in violation, so a rule does not chase a price that MAP protection is actively enforcing against.

Product matching — confirmation queue

Your productMatched atMethodConfidenceAction
Aurora H7 Noise-Cancelling Headphones — SandGTIN 009100010713VoltbayGTIN exact
94%
Confirm or correct
Aurora Buds ProGTIN 009100014284HarborlineTitle + attributes
97%
Auto-confirmed
Aurora Buds Pro — BlackGTIN 009100017855PrimeDeckImage + title
94%
Confirm or correct
Aurora Buds Pro — Midnight BlueGTIN 009100021426Casa & KinGTIN exact
99%
Auto-confirmed
Aurora Buds Pro — SandGTIN 009100024997Belmont DirectTitle + attributes
90%
Confirm or correct

Matches at or above 95% confidence are applied automatically. Anything below is queued, and every correction you make is fed back into matching.

Match confidence in the demo tenant. Only matches above the threshold set on a rule are eligible to move a price.

Variants are priced individually. A rule evaluates the 5Ah battery against 5Ah listings, not against the 2Ah on the same competitor page, and pack sizes are compared on unit price where they differ.

Review queue, CSV export, or push to your store

Every rule sends its output to exactly one destination, chosen per rule. Auto-push is off by default on every account and every rule. Nothing is written to a connected store until you turn that on for a specific rule, and turning it off again takes one click.

Three destinations for a price change
DestinationWhat happensLatencyBest for
Review queueProposals collect with old price, new price, the competitor observation that triggered it and the binding constraint. You approve, edit or reject, singly or in bulkAs fast as someone reviewsNew rules, high-value SKUs, and any category where a human should look
CSV exportApproved or proposed changes export on a schedule to CSV over SFTP, or pull through the REST APIYour own import cycleTeams whose ERP or PIM owns price, not the storefront
Push to storeThe new price is written to the connected store through its API, only for rules where you have enabled itMinutes after the rule runsProven rules on a defined subset, with tight daily change limits

Pushes are supported for Shopify, WooCommerce, BigCommerce and Adobe Commerce. See integrations for what each connection reads and writes.

Push results are recorded, not assumed. If a store rejects a write, the change is marked failed with the error returned, and it is not counted as applied. A rule cannot report success for a price that never landed.

Change history and rollback

Every change is logged, whether it was proposed, approved, rejected, pushed, failed or rolled back. History is append-only, so nothing in it can be edited after the fact.

  • Timestamp, and whether the actor was a rule or a named user.
  • The rule that produced it, its target and its guardrail settings at that moment, so a later edit to the rule does not rewrite the reason for an old change.
  • Product and variant, old price, new price, and the change in dollars and percent.
  • The competitor observations that triggered it, each with its source URL and capture time.
  • The constraint that bound the price, where the rule did not reach its target.
  • The destination and the result, including any error a store returned.

Rollback restores the previous price for one change or a whole batch, and it is written as a new entry rather than erasing the original. That matters when someone asks in October why a price moved in July: the record shows both the move and the reversal, with the reasoning attached to each. Rules can also be paused, which stops new proposals without discarding the queue.

A rollout that does not frighten anyone

  1. 1

    Week one, watch only

    Point a rule at one category with the review queue as its destination, and approve nothing. Read the proposals daily. You are testing whether the rule reaches sensible numbers, not repricing yet.

  2. 2

    Week two, approve in batches

    Approve the obvious ones, reject the rest, and note why. Rejection reasons almost always point at a filter that needs tightening rather than a target that needs changing.

  3. 3

    Week three, narrow the guardrails

    Set the maximum daily change to something conservative, 3 to 5 percent is a common starting point, and confirm the binding constraint on rejected proposals is one you agree with.

  4. 4

    Week four, enable push on a subset

    Turn on store push for a defined group of products where the rule has been right consistently. Keep the review queue for everything else. Expand only when the change history gives you a reason to.

Strategy choices, such as when to match, when to hold and when to ignore a competitor entirely, are covered in repricing strategies. This page is about the machinery.

Write a rule against your own catalogue

Connect a store, build one rule, and watch it propose prices into a review queue before anything is ever pushed. Fourteen days, no credit card.

Frequently asked questions

What are repricing rules?

Repricing rules are the conditions that decide when a price changes and what it changes to. Each rule names the products it covers, the competitor listings it may read, a target such as beating the lowest in-stock competitor, guardrails such as margin and MAP floors, limits on how far a price may move in a day, and where the resulting change is sent.

Will repricing change prices in my store automatically?

Only if you turn that on. Auto-push is off by default on every account and every rule. A rule sends its output to a review queue, a CSV export, or a connected store, and store push is enabled per rule. Every change is logged either way, and pushes that a store rejects are marked failed rather than counted as applied.

What guardrails can I set on a repricing rule?

A cost floor, a gross margin floor, a MAP floor, a price ceiling, and maximum change limits per run and per day. Guardrails are evaluated after the target and the most restrictive one wins. The constraint that bound a price is recorded on the change, so you can see why a rule stopped short of its target instead of guessing.

Can I undo a price change?

Yes. Rollback restores the previous price for a single change or a whole batch, and it is recorded as a new history entry rather than erasing the original. History is append-only and holds the rule, its settings at the time, the triggering competitor observations, the binding constraint and the result returned by the store.

Which competitor data does a repricing rule use?

Only observations that clear five filters: match confidence above your threshold, in stock unless you allow otherwise, fresh within the window you set, passed plausibility validation at collection, and from a seller type the rule permits. Low-confidence matches and quarantined prices never move a price; they go to review instead.

Which stores can repricing push prices to?

Shopify, WooCommerce, BigCommerce and Adobe Commerce. Teams whose ERP or PIM owns price usually take a scheduled CSV over SFTP or pull changes through the REST API instead, then import on their own cycle. Both routes produce the same change history.

Is repricing included on every plan?

Yes. The rule builder, guardrails, review queue, change history and rollback are on all four plans, starting at $99 per month. Plans differ only by how many products you monitor and how often prices refresh, and refresh rate is what limits how often a rule can evaluate.

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.