Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Consumer Price Index

From Prosperity SMP Wiki

The Consumer Price Index (CPI) is a custom-built price tracking system on Prosperity SMP. It measures the cost of a fixed basket of goods using real player-to-player trade data, producing a single index number that represents the overall price level. The CPI feeds directly into the Monetary policy engine and is reported weekly via Discord.

What it measures

The CPI tracks the price of a weighted basket of 27 common items. It answers: are things getting more or less expensive?

A rising CPI means inflation. A falling CPI means deflation. A stable CPI means equilibrium.

Basket composition

The policy basket is weighted toward everyday staples, not luxury items:

Category Weight Key items
Building materials 20% Cobblestone, stone, deepslate, logs, planks, sand, glass
Basic inputs 30% Iron ingot (12%), coal (6%), copper (4%), gold (4%), redstone (4%)
Food and farming 20% Wheat, potato, carrot, cooked meats, sugar cane
Utility consumables 15% Arrow, torch, firework rocket, lapis lazuli
Premium commodities 15% Diamond (8%), emerald (3%), netherite scrap (4%)

Diamond is weighted at 8%, not higher — the basket is deliberately tilted toward staples so a few large diamond trades cannot distort the signal.

Index formula

The CPI uses a winsorized geometric mean, the same approach used by real-world national statistics offices:

P = exp( SUM of weight_i x ln(price_i_trimmed) )

Each item's observed unit prices are sorted, then the top and bottom 10% are clamped (winsorized) before the geometric mean is computed. This prevents a single outlier trade from skewing the index.

Data source

The CPI is computed from completed, non-simulated, player-to-player ChestShop transactions only:

  • Only real trades count. Simulated ChestShop activity is tagged simulated: true and excluded.
  • Only completed sales count, not listed prices.
  • Rolling 7-day window.

This separation prevents a feedback loop where Sim Shop activity inflates CPI, which causes the Sim Shop to adjust prices upward, which inflates CPI further.

Manipulation defenses

Depth gates

An item is excluded from the policy basket unless it meets all three thresholds:

  • 10+ transactions in the 7-day window
  • 3+ unique buyers
  • 3+ unique sellers

Items below these thresholds still appear in /market with a low-confidence flag but do not influence the engine.

Rate-of-change clamp

No single item can move more than 8% per week. Excess movement is dampened.

Manipulation risk score

Each item receives a composite score from five equally-weighted factors:

  1. Low transaction count
  2. Low buyer diversity
  3. Low seller diversity
  4. Account concentration (one account over 60% of volume)
  5. Category outlier (item moved more than 2 standard deviations from its category)

When risk exceeds 0.5, upward price moves are partially dampened while downward moves are trusted. This reflects that most MC economy manipulation is bullish.

Median lag

The Simulated ChestShop reads a CPI snapshot 7 days old, not current. A manipulator would need to sustain artificial prices for over a week — expensive and risky.

Per-item confidence

Each basket item receives its own confidence score based on transaction depth and participant diversity:

confidence = sqrt(depth_score x diversity_score)

Items with low confidence contribute less to the overall index.

Player-facing: /market

Command Shows
/market Top 10 items by 7-day trading volume
/market <item> Median price, fair range (25th-75th percentile), volume, category

The /market command shows real player data only. It does not reveal Sim Shop buy prices, CentralBank balance, or engine state.

Weekly Discord report

Every Monday, an automated report posts to Discord showing total turnover, top items by value, and per-item medians. Same data pipeline as the policy CPI but formatted as a public summary.

Commodity index

Separately from the policy CPI, the system computes a commodity index tracking premium items (diamond, gold, netherite, emerald). This is dashboard-only and does not influence the Monetary policy engine.

See also