Skip to content

Pricing Agent (Profasee: Oracle)

Sets the price that maximizes profit at each moment. Not rule-based repricing; it weighs demand, margin, and competition. Highest write-risk agent (it changes live prices), so it ships last and most cautiously.

Data we have

  • agg.profit_daily (real per-day margin and units), agg.sales_daily_unified (demand history).
  • forecasts.predictions (demand sensitivity context from the lifecycle model).
  • raw.product_skus, raw.products (catalog, cost basis).

Data we likely need to add

  • Current Buy Box price + competitor prices per ASIN (SP-API Product Pricing / competitive pricing). Not currently pulled; add a pull_pricing.py into raw.pricing_daily.
  • Price-change history + elasticity signal. We have not run price experiments, so elasticity must be estimated from natural price variation and, later, deliberate small tests.

Recommends (for the brief)

  • ASINs priced below profit-maximizing point (leaving margin on the table) and above it (suppressing volume).
  • Competitor stockout opportunities: raise price to capture the gap (Profasee's signature demo move).
  • Suggested price with expected margin/volume impact and confidence.

Actions (action mode, last to ship)

  • Update list/Buy Box price via SP-API, within a min/max band per ASIN, through guarded_action.
  • Always reversible: log prior price; support one-click revert.

Guardrails (strictest)

  • Hard min/max price band per ASIN (never below cost-plus-floor, never above a ceiling) enforced in code.
  • No-fly list for MAP-restricted or legally sensitive ASINs.
  • approve-each for a long time before any autonomy; price is the most visible thing to customers.
  • Small step sizes; no large jumps without approval.

Why last

We have the margin data but not pricing/competitor data or any elasticity history. Build the read-side competitor/price feed first, surface recommendations in the brief, and only consider writes once the recommendations have proven accurate in observe mode for weeks.