Two prices worth watching, and the one nobody watches
Ask a merchandiser what price monitoring means and the answer is almost always competitor pricing: what the market charges for the same or a comparable product, checked often enough to react before a customer notices you're the expensive option. That side gets attention because it's visible — a competitor's price sits right there on their storefront, and losing a sale to someone charging less stings in a way that's easy to point at.
The other side gets far less attention, and it usually matters more. Supplier costs move too, and they rarely move with an announcement. A component costs a little more this quarter than last. A freight surcharge gets folded into the unit price instead of listed separately. A supplier raises prices across a whole category by an amount nobody flags as worth a conversation, because on any single invoice it barely registers. Spread that quiet increase across every SKU it touches and every order placed since, and the number stops being small — it was just invisible the entire time, because nobody was comparing this month's cost against last month's for every line, every order. Margin erodes without a single dramatic event to blame it on. That's the failure mode this page is really about: not the competitor undercutting you in public, but the supplier quietly recalculating your margin in private, order by order, until someone finally runs the comparison and finds out how long it's been happening.
Watching only the competitor side answers "are we priced right against the market." Watching only the supplier side answers "is our cost base still what we think it is." A business that tracks only one of those is missing half the picture that actually decides whether a product is still worth selling at its current price.
The manual way vs. the automated way
The manual version of this job depends on someone remembering to check, and checking takes real time even when they do. A spot check of a handful of competitor prices before a big promotion. A supplier price list compared against memory rather than the actual last invoice. A margin review that happens on a calendar cadence rather than the moment a cost actually changes. None of it is wrong, exactly — it's just infrequent, manual, and easy to skip when everyone is busy with something more urgent, which in most businesses is most of the time.
The automated version runs continuously instead of in bursts. It reads competitor prices from legitimate sources on a schedule, reads supplier costs the moment a new price list or invoice lands, matches everything against your own catalogue, and surfaces only what actually moved and what it's worth. Nobody has to remember to check, because the checking never stops.
| Manual | Automated | |
|---|---|---|
| Frequency | Whenever someone has time | Continuous, on a schedule |
| Coverage | A sample of SKUs, usually the obvious ones | The full catalogue, matched product by product |
| What gets flagged | Whatever catches someone's eye | Changes that actually move margin |
| Supplier costs | Reviewed on a calendar cadence | Compared the moment a new cost lands |
| Who has to remember | A person, under time pressure | Nobody — the system is always watching |
Product matching is the genuinely hard part
Everything above sounds straightforward until you try to build it, and the difficulty has nothing to do with reading a price — pulling a number off a page or an invoice is the easy part. The hard part is knowing, with confidence, that the price on the other end belongs to the same product you sell.
The same item routinely turns up under different names, different pack sizes, and different unit-of-measure conventions depending on the source. A competitor lists a "family size" pack where your catalogue calls it a "12-pack." A supplier invoice prices a case where your system tracks cost per unit. A near-identical product from a different brand looks close enough to compare at a glance and isn't actually the same item at all. A comparison built on a wrong match is worse than no comparison, because it doesn't just fail to help — it actively misleads whoever trusts it. A false "competitor undercutting you" alert built on a mismatched product sends someone chasing a problem that doesn't exist, and a missed match on a genuine price change means the real problem goes unflagged entirely. Getting the matching right — pack size, unit of measure, brand and variant, not just a similar-looking title — is most of the actual engineering work in a system like this, even though it's the part that never shows up in a demo.
A real price change, or just a promotion
Not every price move means what it looks like. A competitor's price dropping for a weekend flash sale is a different fact than a competitor's price dropping and staying there. React to the first one as though it were the second and you'll cut your own price in response to a promotion that was already ending by the time you noticed it — and now you're the one who's left it too low.
Telling the two apart means watching the shape of the change, not just its size: how long has the new price held, does it match a pattern this competitor has run before, is it tied to a visible sale badge or a limited-time flag on the listing itself. A price that holds steady for a while looks like the new normal. A price that spikes down and disappears within days looks like a promotion, and the right response to a promotion is usually to note it and wait, not to react as though your own pricing were suddenly wrong.
Margin impact, not price movement
The last piece is knowing which changes are worth anyone's attention at all. A competitor undercutting you on something you barely sell does not matter, even if the price gap looks dramatic on paper — there's no meaningful margin at stake, so reacting spends attention on a product that was never going to move the business either way. A small move on your highest-volume, highest-margin line matters far more than a large move on something that sells rarely.
That's why a system built around raw price movement alone produces the wrong kind of noise — plenty of alerts, most of them not worth acting on — while a system built around margin impact stays quiet on the SKUs that don't matter and speaks up on the ones that do. The question worth asking about every price change isn't "did something move." It's "does this change what we should be doing about margin on this specific product, at this volume, right now." Alerting on what's material, rather than on everything that technically changed, is what keeps the alerts trusted long enough that someone actually reads them.
How a build actually works
Matching products across every source
Before anything else, the system has to build and maintain a confident map between your catalogue and what shows up in competitor listings and supplier price lists — accounting for pack size, unit of measure, brand, and variant, not just a similar product title. Where a match is uncertain, it gets flagged for a person to confirm rather than guessed at, because a wrong match does more damage than no match at all.
Separating a real move from a promotion
The system tracks how a price has behaved over time, not just its latest value, and weighs whether a change looks like a promotion — steep, sudden, often tagged as a sale — against a change that looks like the new baseline: smaller, sustained, matching how this source has repriced permanently before. That history is what turns a single data point into a defensible judgment call.
Weighing every change by what it does to margin
Every flagged change gets sized by what it actually means for your margin on that product, at the volume you actually move, not just how far the number moved. A workflow automation layer like this is what lets the alerting stay quiet on low-stakes movement and loud on the handful of changes genuinely worth a decision.
Monitoring and recommending — never repricing on its own
This is worth stating plainly: what Calfy builds here is monitoring and recommendation, not automatic repricing. The system can tell you a competitor has moved, tell you what that does to your margin at current pricing, and recommend a response — but it does not change your prices on its own. Automated systems that reprice against each other, reacting to a competitor's own AI agent that is itself reacting to you, is how a category ends up in a race to the bottom nobody chose and everybody loses. A person should decide what happens to a price. That's the same human-in-the-loop principle behind most of what Calfy builds — the system does the watching and the math, a person makes the call.
Respecting where the data actually comes from
Collecting competitor pricing has to respect the source's terms of service and applicable law, and that isn't a footnote — it shapes how a build gets sourced from day one. Some sources publish pricing data openly, through a feed or an interface meant to be used this way. Others don't, and a listing being visible in a browser is not the same thing as it being fair game to collect at scale. The sensible approach is building on legitimate feeds and published sources rather than assuming that anything visible on a page can be taken, and that's the standard a build is held to regardless of what a shortcut might technically get away with.
What it connects to
A price monitoring system earns its keep by sitting inside the systems that already carry your costs and your catalogue:
- Your ecommerce platform or POS, for the product catalogue, current pricing, and sales volume that margin calculations depend on.
- Your supplier or purchase-order system, for actual cost data as it changes, rather than a price list nobody's revisited in months.
- Legitimate competitor pricing sources — published feeds, interfaces, or price-comparison data your business already has a right to use — matched against your own catalogue rather than collected indiscriminately.
- Wherever your pricing or merchandising lead actually works, so a material change and its recommended response land somewhere it will genuinely get read, not a report nobody opens.
For ecommerce businesses, this usually sits alongside the broader back-office automation that keeps catalogue and order data in sync across channels, and it pairs naturally with inventory alerts built on the same underlying discipline — reading a system's own numbers continuously and surfacing only what's actually worth a person's time.