Cross-market price gap analysis. Triggers: "arbitrage opportunities", "price differences between states", "where to source vehicles", "cross-market pricing", "cheapest market for [model]", "geographic price gaps", "transport arbitrage", "which states are cheap for trucks", finding vehicles priced lower in one DMA vs another to source from cheap markets and sell into expensive ones.
Date anchor: Today's date comes from the
# currentDatesystem context. Compute ALL relative dates from it. Example: if today = 2026-03-14, then "prior month" = 2026-02-01 to 2026-02-28, "current month" (most recent complete) = February 2026, "three months ago" = December 2025. Never use training-data dates.
get_sold_summaryparameter safety:
- Always set
inventory_typeexplicitly (NeworUsed) — omitting it defaults toNew, returning zero results for used-vehicle queries- Always set
limit: 5000— the default (1000) silently truncates when (months × states × ranking combos) exceeds 1000 rows- For volume totals, use
ranking_dimensions: dealership_group_name(or the single relevant dimension) — never use the defaultmake,model,body_typewhich creates ~150K rows for national 3-month queries
Load the marketcheck-profile.md project memory file if exists. Extract: target_dmas, vehicle_segments, country. If missing, ask for at least 2 states to compare. US only — requires get_sold_summary for cross-state pricing. UK: Not available (single market). Confirm: "Using profile: [company], target DMAs: [list]".
Auction house sales exec or regional director looking for arbitrage — vehicles priced lower in one state that can be transported and auctioned in a higher-price state for profit.
get_sold_summary with per-state breakdowns. UK is a single market with no state-level sold data. If a UK profile triggers this skill, respond: "Geographic arbitrage analysis is available for US markets only."get_sold_summary returns retail sold averages, not auction hammer prices. Apply a 10-12% wholesale discount when estimating actual arbitrage profit: net_arbitrage = (expensive_state_avg × 0.90) - (cheap_state_avg × 0.90) - transport_cost. Without this adjustment, gross spreads look 10-15% better than reality.sold_count > 20 in both states. Enforce this strictly — do not present opportunities that fail this check.Use this when the user says "arbitrage opportunities" or "where to source cheap [vehicles]."
Get per-state pricing for top models — For each target state (2-5 states), call mcp__marketcheck__get_sold_summary with state=[XX], inventory_type=Used, limit=5000, ranking_dimensions=make,model, ranking_measure=average_sale_price, ranking_order=desc, top_n=20, date_from=[YYYY-MM-01] (first of prior month), date_to=[YYYY-MM-DD] (last of prior month). Run these calls in parallel (one per state).
→ Extract only: per make/model — average_sale_price, sold_count. Reject any model with sold_count < 20 (see Gotcha #3). Discard full response.
Get national baseline — Call mcp__marketcheck__get_sold_summary with NO state filter, inventory_type=Used, limit=5000, ranking_dimensions=make,model, ranking_measure=average_sale_price, top_n=20, same date range.
→ Extract only: per make/model — average_sale_price (national). Discard full response.
Calculate arbitrage spreads — For each model present in 2+ states:
Rank by net arbitrage — Sort opportunities by net profit, descending.
Use this when the user asks "which states are cheap for trucks" or "SUV pricing by state."
Get per-state segment pricing — For each target state, call mcp__marketcheck__get_sold_summary with state, inventory_type=Used, limit=5000, body_type=[segment], ranking_dimensions=make,model, ranking_measure=average_sale_price, top_n=10.
→ Extract only: per model — average_sale_price, sold_count. Discard full response.
Compare across states. Identify source markets (cheapest) and destination markets (most expensive).
Use this when the user asks "compare pricing across my markets" or "price index by state."
For each target state: mcp__marketcheck__get_sold_summary with state, inventory_type=Used, limit=5000, ranking_measure=average_sale_price.
→ Extract only: overall average_sale_price. Discard full response.
Calculate price index = state_avg / average_of_all_states × 100.
Rank: cheapest states = source markets, most expensive = destination markets.
Arbitrage opportunities table: Make/Model, Cheap State, Cheap Avg, Expensive State, Expensive Avg, Gross Spread, Spread %, Transport Est., Net Profit. Top 5 most actionable opportunities highlighted. State price index summary. Sourcing recommendations: "Source [models] from [state] for [state] auctions — $[X] net per unit after transport."
-- Geographic Arbitrage: [State A] vs [State B] vs ... — [Month Year] -------------
| Make/Model | Cheap State | Cheap Avg | Exp. State | Exp. Avg | Gross Spread | Spread % | Transport | Net Profit |
|------------------|-------------|------------|------------|------------|------------- |----------|-----------|------------|
| Toyota RAV4 | OH | $26,200 | CA | $29,800 | $3,600 | 13.7% | $900 | $2,340 |
| Ford F-150 | TX | $32,100 | NY | $36,500 | $4,400 | 13.7% | $1,100 | $2,860 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... |
-- State Price Index ---------------------------------------------------------------
| State | Avg Sale Price | Price Index | Role |
|-------|---------------|-------------|------------------|
| OH | $24,800 | 92.1 | SOURCE MARKET |
| TX | $26,100 | 97.0 | NEUTRAL |
| CA | $29,200 | 108.5 | DESTINATION |
-- Top 5 Actionable Opportunities --------------------------------------------------
1. Source [Model] from [State] -> [State] auctions — $[X] net/unit
2. ...
-- Seasonal Notes ------------------------------------------------------------------
[Flag any known seasonal patterns for the analysis month]