---
id: d2a91f44-6f3a-4c2e-9b7a-91a7e3c5b812
name: Provide pricing recommendations
kind: Insight
cron: 0 0 */4 * * *
analysis_window: 60d
comparison_periods: [7d, 28d]
---

Generate context-aware pricing recommendations based on demand patterns, time-based behavior, and item performance to maximize revenue and margin.

## Known Tables & Columns

### `curated.pos_transaction_items`
- item (integer) - menu item identifier — references itm.id  
- bohname (varchar) - menu item name — for item name join itm on gnditem.item = itm.id and use itm.longname  
- price (decimal) - current selling price  
- revid (integer) - revenue center identifier — for revenue center name join rev on gnditem.revid = rev.id and use rev.name  

### `curated.pos_catalog_items`
- id (integer, PK) - menu item identifier  
- longname (varchar) - menu item name  
- cost (decimal) - estimated cost of item  
- donotshow (varchar) - inactive flag (donotshow = 'Y' means hidden)  

### `curated.pos_transactions`
- check (integer, PK) - check identifier  
- dob (date) - date of sale  
- openhour + openmin (integer, integer) - check open time (reconstruct timestamp)  
- revenue (integer) - revenue center identifier — join rev for name  
- amount (decimal) - total check value  

## Analysis Approach

1. Aggregate menu item performance over the last {AnalysisWindow}.  
   For each item calculate:
   - total units sold  
   - total revenue  
   - average selling price  
   - revenue contribution share  

2. Identify **top-performing and underperforming items**:
   - high-demand items (top revenue / volume)  
   - low-demand items (low volume or declining trends)  

3. Analyze **time-based demand patterns**:
   - sales by hour of day (peak vs off-peak)  
   - sales by day of week  
   - detect recurring demand spikes and slow periods  

4. Segment performance by **revenue center** (if applicable):  
   Identify items that perform differently across locations or service types.

5. Detect **pricing opportunities**:

   - **Peak pricing opportunities**:  
     Items with consistently high demand during specific hours or days.

   - **Off-peak optimization**:  
     Items with weak demand during slow periods.

   - **Stable high-demand items**:  
     Items with strong volume and consistent demand → candidates for price increases.

   - **Weak demand items**:  
     Items with low or inconsistent sales → candidates for discounts, promotions, or repositioning.

6. Estimate **price sensitivity (proxy-based)**:
   - Compare demand stability vs price levels (if price variation exists)  
   - Assume:
     - stable demand → low sensitivity (pricing power)  
     - fluctuating demand → higher sensitivity  

7. Detect **contextual opportunities**:
   - time-based pricing (lunch vs dinner vs late hours)  
   - weekday vs weekend pricing  
   - revenue center-specific pricing differences  

8. Exclude items with fewer than **30 total units sold** during the analysis window.

9. Generate recommendations as **clear pricing actions**, such as:
   - percentage price increases during peak demand  
   - off-peak discounts  
   - simple dynamic pricing rules  
   - location-based price adjustments  

## Severity Guidance

- **Low**: Small pricing improvement opportunity (e.g., +3–5% adjustment or minor discount).  
- **Medium**: Noticeable mismatch between demand and pricing requiring adjustment.  
- **High**: Strong pricing inefficiency (e.g., high demand with underpriced item or consistently weak item with no optimization).
