WooCommerce variation price outliers

A large price difference can be a typo or an intentional choice. CatalogLift flags variations that stand far from their siblings and shows their attributes and the comparison price. Check pack size, size and specification before deciding whether to change the price.

Variations Medium severity Fix in CatalogLift

When a price difference needs attention

An import or edit can turn 29 into 290 or 2.90. If that is an error, it can deter a purchase or sell the product below its intended price. The same ratio can also be correct for a pack of ten. The price difference alone cannot distinguish these cases.

For example, four single mugs at 30 and one six-pack at 180 trigger this check. Each mug still costs 30. Keep the six-pack price and dismiss the finding if that is the intended offer. A premium material, capacity or specification may also explain a price difference.

How to find variation price outliers manually

Variations are rows in wp_posts with post_type = 'product_variation', and the regular price sits in wp_postmeta under _regular_price. This WP-CLI query lists variations priced at least three times above or below the average across the product, including the target variation:

wp db query "SELECT v.post_parent AS product_id, v.ID AS variation_id,
       v.post_title, m.meta_value AS regular_price, s.avg_price
FROM wp_posts v
JOIN wp_postmeta m ON m.post_id = v.ID AND m.meta_key = '_regular_price'
JOIN (
  SELECT v2.post_parent, AVG(m2.meta_value + 0) AS avg_price
  FROM wp_posts v2
  JOIN wp_postmeta m2 ON m2.post_id = v2.ID AND m2.meta_key = '_regular_price'
  WHERE v2.post_type = 'product_variation' AND v2.post_status = 'publish'
    AND m2.meta_value + 0 > 0
  GROUP BY v2.post_parent
) s ON s.post_parent = v.post_parent
WHERE v.post_type = 'product_variation' AND v.post_status = 'publish'
  AND m.meta_value + 0 > 0
  AND (m.meta_value + 0 >= s.avg_price * 3 OR m.meta_value + 0 <= s.avg_price / 3)
ORDER BY v.post_parent;"

Adjust the table prefix if yours isn't wp_. The + 0 casts the text meta value to a number.

This works, with two gaps. It compares against an average, and a single misplaced decimal drags the average so far that the outlier can hide behind it — or a normal sibling gets flagged instead. And it answers once: the next import can reintroduce the same slip the day after you fix it.

How CatalogLift finds it

The scan walks every published variable product in the synced catalog and reads the regular price of each of its published variations — variations that are drafts, stale, or priced at zero do not take part, because a sibling priced at nothing would drag the median and invent outliers. At least five published variations with positive regular prices must remain before the product is checked.

Instead of a mean, CatalogLift uses the median and the median absolute deviation of the product's prices, including the target variation. A price must be at least three times above or below the median and have a modified z-score above 3.5. When the median absolute deviation is zero, a ratio of at least five is required instead. These limits reduce small differences; they do not identify pack quantities or distinguish a premium from an error. Each finding is raised at medium severity and carries the parent product, the variation's attributes, its price, the sibling median, the number of siblings and how many times away from the median it sits.

Check the offer before entering a price. Dismiss an intentional difference with a reason. For a confirmed error, supply the correct price and authorize the change through the panel or a connected agent. CatalogLift writes it to WooCommerce and re-scans. AI does not choose the price, and the comparison median is not a recommended selling price.

Fair questions, straight answers.

What is a variation price outlier?

A variation whose regular price sits far from the prices of the other variations of the same product. This is a statistical signal for review, not proof of a wrong price. A typo, a larger pack or a different specification can all produce a large difference.

Does CatalogLift compare prices across categories or against other stores?

No. The comparison stays inside a single variable product, because its variations are a closed set that one person priced together. Comparing across a category would flag legitimate premium items and a false alarm costs more than a missed one.

Will a bulk pack or a premium size be flagged?

It can be. With four single units at 30 and a six-pack at 180, the six-pack is flagged even though its price per unit is unchanged. The scan compares recorded regular prices; it does not calculate a price per unit or establish whether a premium is justified. Review the variation attributes and dismiss intentional differences.

How is the price corrected?

First verify whether the price is wrong. If it is intentional, dismiss the finding with a reason. For an actual error, supply the correct regular price through the panel or a connected agent and authorize the change. CatalogLift applies it to WooCommerce and checks it again. AI does not set the price.

See it on your own catalog.

Create a free account, connect your WooCommerce store and this check runs on your real products, along with the rest.

No card required. The free plan never writes to WooCommerce.