Spensara Spensara Knowledge Base & Documentation Repository

Repository Docs & Knowledge Base

Consolidated Spensara documentation repository (722 Markdown & architecture documents in ../repository)
Built Word Documents (.docx): Spensara Overview (.docx) Capability Assessment (.docx) Brink POS Ingestion Analysis (.docx) The Borg Ingestion Architecture (.docx)

Monitor Specs (29)

Operational monitoring, alerting, anomaly detection, and health specifications.
monitor-specs/backend/Kds.Ai.Data/MonitorSpecs/pricing-recommendations.md 3,545 bytes · Updated Oct 23, 2026 10:44 AM EDT
Raw File

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
  1. Identify top-performing and underperforming items:
  2. high-demand items (top revenue / volume)
  3. low-demand items (low volume or declining trends)
  1. Analyze time-based demand patterns:
  2. sales by hour of day (peak vs off-peak)
  3. sales by day of week
  4. detect recurring demand spikes and slow periods
  1. Segment performance by revenue center (if applicable):

Identify items that perform differently across locations or service types.

  1. 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.

  1. Estimate price sensitivity (proxy-based):
  2. Compare demand stability vs price levels (if price variation exists)
  3. Assume:
  4. stable demand → low sensitivity (pricing power)
  5. fluctuating demand → higher sensitivity
  1. Detect contextual opportunities:
  2. time-based pricing (lunch vs dinner vs late hours)
  3. weekday vs weekend pricing
  4. revenue center-specific pricing differences
  1. Exclude items with fewer than 30 total units sold during the analysis window.
  1. Generate recommendations as clear pricing actions, such as:
  2. percentage price increases during peak demand
  3. off-peak discounts
  4. simple dynamic pricing rules
  5. 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).