Category: Analytics
The Anatomy of a Price Change: Why Price History Is Never Deleted
Why is price history never deleted? How Senkrondata’s archiving "current price" model works, and the price intelligence it unlocks.
A competitor's product was 199 yesterday, it's 179 today. It sounds like a trivial update: write the new number over the old one, done. But that "overwrite" approach throws away the most valuable asset in price intelligence: history.
At Senkrondata, when a price changes, the old price is not deleted — it's archived as part of the product's price history. Understanding how the data is stored is understanding why competitor price tracking is a "movie," not a "snapshot."
The example above shows four weeks of price history for a single product: the first three observations sit in the archive, only the newest is flagged "current" — but none of them are deleted.
"Current price" isn't a row — it's a flag
In a naive model, each product has a single price field, and a new price overwrites it. That model can answer "what is the product's price?" but never "when did the product's price change last month?"
Senkrondata's model works differently: each product has a history made of price rows. Only one is flagged "current." When a new price arrives:
- The current row's flag is cleared (but the row is not deleted — it stays in the archive).
- The new price is added as a new row and receives the "current" flag.
The result: "what's the price right now?" is answered instantly by a single flagged row, while the entire price history of that product is protected from loss.
What a row stores
Each price row carries more than a single number:
- List price and, if present, a separate discounted/special price — the distinction is the foundation of promotion analysis.
- Unit price (per kilogram/liter) — to compare different pack sizes fairly.
- Stock status — was the product on sale at that moment, or sold out?
- Promotion flag — was this price part of a campaign?
- Timestamp — exactly when was this price observed?
So each row is a photograph of "that product's full commercial state at that moment."
Why this matters: the questions history unlocks
Archiving instead of overwriting enables analyses that are impossible in a single-row model:
- Price change frequency: Does a competitor change price weekly or monthly? A frequent changer is doing dynamic pricing, and you approach them with a different strategy.
- Discount depth and rhythm: How often and how deep do campaigns run? Is a product perpetually "on sale" (meaning the discount is actually the real price)?
- Positioning over time: When you raised a price, did the competitor follow, or hold steady and take share?
- Seasonal patterns: Price movements that recur in specific periods.
None of this shows up in a momentary table — it all lives on the time axis.
The principles that keep it trustworthy
- No price is ever lost. Even a price that looks wrong or temporary isn't deleted; the only way to later say "it really was that on that day" is to keep the record.
- "Current" is always singular. A product can't have more than one current price at once; the old flag is cleared atomically as the new price arrives.
- The timestamp matters as much as the price. The answer to "how much" is incomplete without "when."
The bottom line
A price change looks like a single number changing on screen. Behind it, a history accumulates — the old price archived, the new one flagged "current," each row carrying its list/discount/stock/time context. Your competitor price data being a "movie" that feeds your decisions rather than a "snapshot" — that's the difference this model makes.
If you want to use your competitors' price history as an asset, talk to the Senkrondata team.
Emre
Price Intelligence & Data Engineering
Emre writes about the machinery behind competitor price data: product matching, normalization, collection at scale and the analytics layer on top.
More from EmreContact Us
Leave your email address for a detailed demo or overview session, and we will get back to you shortly.
