Competitive Shopping: Tracking Competitor Pricing
Retailers do not operate in a vacuum. If a competitor drops the price of a flagship television by $100, you must know about it instantly to protect your market share. Learn how Oracle RMS stores competitor pricing data, links competitor stores to your own, and drives automated price matching strategies.
In highly commoditized retail sectors (like electronics, groceries, or basic apparel), consumers are extremely price-sensitive. A difference of a few dollars can shift massive amounts of volume from one retailer to another.
Oracle Retail provides a Competitive Shopping module to track rival pricing. While modern retailers often use advanced third-party web-scraping tools, that data eventually must flow back into the core ERP to drive actual price change events. This guide explains the data model used to house this competitive intelligence.
1. Competitor and Store Setup
Before you can track prices, you must define who you are tracking. RMS allows you to create Competitors (e.g., Target, Walmart, Best Buy).
Because pricing is hyper-local, RMS also requires you to define Competitor Stores. You then link a specific Competitor Store to one of your own Stores. This creates a 1-to-1 or 1-to-Many mapping.
- My Store 200 (Downtown) is linked to Competitor Store 99 (Target Downtown).
- If Target Downtown drops their price on milk, the pricing analyst knows to evaluate a price drop specifically for My Store 200 to defend that local market.
2. Competitive Shopping Lists
Retailers carry millions of items, but they only competitively shop a small subset—known as KVIs (Key Value Items) or Traffic Builders. These are the items consumers know the price of by heart (e.g., gallons of milk, 65-inch TVs, diapers).
In RMS, these KVIs are grouped into Competitive Shopping Lists. These lists are generated and assigned to store associates or third-party auditors. The auditors walk the competitor's store, find the items on the list, and record the prices.
3. Capturing Competitor Prices
When the auditor returns, the observed prices are uploaded into RMS (often via an integration layer processing the third-party data).
The data captured includes:
- The Item.
- The Competitor Store.
- The Date of observation.
- The Regular Retail Price.
- Any Promotional Price (and the promotion type, like BOGO or % Off).
Once this data is housed in RMS, it is fed into the Pricing engine (RPM) or an advanced analytics platform. RPM allows analysts to write rules such as: "If Competitor X drops the price of KVI Item Y by more than 5%, automatically generate a Regular Price Change in RPM to match it."
4. Core Tables Reference
Competitor Price Intelligence (COMP_PRICE)
| Column | Type | Description |
|---|---|---|
COMP_STORE | NUMBER(10) | The specific competitor location. |
ITEM | VARCHAR2(25) | The item being shopped. |
SHOP_DATE | DATE | When the price was observed. |
REG_RETAIL | NUMBER(20,4) | The competitor's standard shelf price. |
PROMO_RETAIL | NUMBER(20,4) | The competitor's promotional price (if active). |
MULTI_UNITS | NUMBER(4) | If the price requires bulk purchase (e.g., 2 for $5). |
5. SQL Deep Dives
Finding Instances Where We Are Being Undersold
This query compares your current UNIT_RETAIL against the most recently observed competitor price for linked stores, highlighting items where you are priced higher than the local rival.
6. Official Oracle Resources
For further reading, consult the official Oracle documentation:


