All Drafts

My system checks competitors' prices twice a day. Sometimes its best advice is not to cut

A price comparison tool that matches a Chilean eCommerce catalog against the competition's, adds sales, real costs and Google's suggestions, and delivers a list of which price to touch first, without ever breaking the minimum margin.

Daniel Flores Osses
Daniel Flores Osses
Oct 20, 2026 · 6 min read

Imagine you have over a thousand products listed and a dozen stores selling many of the same ones. One Tuesday, one of them cuts the price of your best seller. Nobody finds out. On Thursday someone spots the drop in a report. You've already lost three days of sales.

Or the other way around: a product where you're quite a bit cheaper than everyone else without knowing it, leaving margin on the table every day.

Both things were happening to a Chilean eCommerce I work with. Checking prices by hand at that scale is impossible, so I built a price comparison tool that does that check on its own, twice a day, and turns it into a work list.


Every screen ends in a decision

The design rule was that everything that shows up on the dashboard ends in a possible action: raise, lower, negotiate with the supplier or add a product to the assortment. And what it doesn't do is just as important: it doesn't change prices in the store. It recommends; a person decides.


How the analysis is built

Public catalogsspecialist stores and marketplacesMatch with our catalogsame product, same brand and sizeSales and costsfrom the store and the ERPGoogle suggestionsMerchant Center, every morningA single analysisthe market snapshot at that momentThe dashboardwhat to touch, in what order and at what priceRepeats twice a day
The engine reads, matches, adds sales, costs and Google, and leaves a single market snapshot for the dashboard.

A process reads the competition's public catalogs and splits them into specialists (stores fighting for the same customer, the ones that set our position) and marketplaces (where anyone sells, measured separately). It matches them against our catalog, adds sales and costs from the ERP and the suggestions from Google Merchant Center, and leaves a single snapshot of the market.

The match: making sure it's the same product

Comparing a 1 kg jar with a 2 kg one can lead you to cut a price that didn't need touching. That's why the match is strict:

Our productProtein 2 kgvanilla flavorRival storeProtein 4.4 lbchocolate flavorSame brandyesCompatible size2 kg ≈ 4.4 lb (±5%)Matching nameno words that tell them apartFlavordoesn't count: it doesn't change the priceMatch scorethreshold 0.75Match confirmed
Brand, size and name add up to a score; only above 0.75 does the match enter the calculation.
  • Same brand and compatible size, normalized to grams, ml or units with 5% tolerance.
  • Matching name; flavor doesn't count because it doesn't change the price.
  • Only a match with a score of 0.75 or higher gets in; if the price differs by more than three times, it drops to medium confidence.
  • Our clearance items and bundles are left out; the rival's are flagged.

What to do today: the work list

This is the main section. It shows products outside the price norm, sorted by revenue at stake, not by percentage: 4% on the best seller matters more than 15% on one that barely sells.

The rule: on focus brands, up to 3% above the best specialist is tolerated; on the rest, up to 8%. When the cap is exceeded, the product goes on the list with a suggested price.

best rivalcap 8%floor: 30% margintodayExceeds the cap: goes into "What to do today"The proposal stops at the floorWhat's left is a conversation with the supplier.suggested priceFocus brands: 3% cap. Rest of the catalog: 8%.
The suggested price moves down toward the rival, but stops at the floor that protects the minimum margin.

And here's what I like most: the suggested price never drops below the floor that protects a 30% minimum margin. If matching the rival would break that margin, the proposal stops and what's left becomes a conversation with the supplier.

How the margin is calculated

The website price includes VAT and the cost doesn't, so VAT comes off first. And the cost includes getting the product to the warehouse and shipping it: the real cost of getting it into the customer's hands.

Website price (with VAT)119÷ 1.19 = price without VAT100Product cost55+ getting it to the warehouse8+ shipping it to the customer7= Cost delivered to the customer70Margin = (100 − 70) ÷ 10030 %Minimum price = cost ÷ 0.70 × 1.19Below that price, the system doesn't propose selling.
A simple example with round numbers: the margin is measured on the price without VAT.

Each row has what you need to decide:

  • Today / proposed / rival comparison, with margin and 90-day revenue.
  • How many stores back the reference: if it's just one, the dashboard flags it.
  • Filters by focus brand, high sales, capped by cost or no cost in the ERP.
  • Marks for done, dismissed or postponed that the whole team sees.
  • Excel download of what's filtered.
Today's AI summaryUrgentOpportunityContextWhat to do today · sorted by moneyProduct Ahigh revenue at stakedoneProduct BGoogle also recommends itpostponedProduct Cno cost in the ERPdismissedProduct Dfocus brandWhat one person marks, the whole team sees.
The AI summarizes the day and the team works the list from top to bottom.

Two extra opinions: Google and the AI

Google sees how many people buy each product on Google Shopping at its price, and suggests a price that would sell more. The dashboard shows that suggestion with its confidence level and flags when it would break the margin, because Google doesn't know our costs. When Google and the competition point at the same product, the signal is stronger.

The AI daily summary is a language model that reads the analysis and writes what changed since yesterday, in Urgent, Opportunity or Context cards, each with a suggested action. The golden rule: the AI writes, but doesn't invent figures; the numbers come from the real data.


The rest of the dashboard

  • Price position: where we're more expensive, cheaper or on par, with links to both listings.
  • Price changes: who's raising and who's cutting, measured with a fixed basket so new products don't look like increases.
  • Head to head: in how many products we win or lose against each store.
  • Money at stake: margin that can be recovered and sales at risk today.
Margin to raisewe're 8% or more belowUsBest rivalroomAt risk todayOpportunitywe're more expensiveUsBest rivalin stocksold outThe sale goes to the rival today.Their stockout leaves the demand with nowhere else to go.
Above, margin that can be recovered. Below, an at-risk product that becomes an opportunity when the rival runs out of stock.
  • Categories and brands: where we compete and which brands the specialists sell and we don't.
  • Competitors: profiles with their threat level, and to add a new one you just paste its address.
  • Price ranges: where our price falls among all the stores selling the same thing.
Product 1I'm expensiveProduct 2In the middleProduct 3I'm cheap0 = we're the cheapest · 100 = the most expensive
The percentile says what share of stores sell the product cheaper than we do.
  • Rival stockouts: what the competition has sold out and we don't. This is the moment to give it visibility.

What the business gains

  • Reaction in hours, not days.
  • Cutting the price stops being a reflex: the margin floor protects profitability.
  • Recovered margin where we were far below the market.
  • Better conversations with suppliers, backed by data.

The key figures can also be seen in the business's metrics center .

Any system tells you you're expensive. This one also tells you when not to cut.

Want a system like this for your business? Let's talk.

Contact me