Methodology

Sovereign Basket Index

The basket visualizer compares the cost of essential goods in fiat currency versus UVD over time. This page documents the basket composition, price data sources, and projection methodology.

What does it show?

The Sovereign Basket Index tracks a standardized set of essential goods — housing, energy, transport, food — across multiple countries. Each item is priced in both the local fiat currency (with historical inflation applied) and in UVD (with near-stable pricing).

The divergence between the two lines is not hypothetical. It is the arithmetic result of applying each country's documented inflation rate to a fixed basket of goods over time. The fiat price rises exponentially; the UVD price stays nearly flat.

Basket Composition

Each country basket contains six essential categories. Base prices are calibrated to 2020 average costs from national statistics offices:

Germany (EUR)

50m² Rent (monthly)
€750Destatis Mietenspiegel 2020
100 kWh Electricity
€32BDEW Strompreisanalyse
Public Transport Pass
€49Deutschlandticket reference
Basic Groceries (monthly)
€250Destatis Verbraucherpreisindex
1L Milk
€1.05Eurostat food prices
1kg Bread
€2.80Eurostat food prices

United States (USD)

50m² Rent (monthly)
$1,200BLS CPI Housing 2020
100 kWh Electricity
$14EIA Electricity Data
Public Transport Pass
$75APTA transit statistics
Basic Groceries (monthly)
$350USDA Food Expenditure Series
1 Gallon Milk
$3.50BLS Average Food Prices
1 Loaf Bread
$3.00BLS Average Food Prices

Nigeria (NGN) and UAE (AED) baskets follow the same methodology. Full basket data is available in the source code.

Price Projection Formula

Fiat Price Projection

P_fiat(t) = P_base × (1 + r)^t

P_base — Base price of the item (2020)

r — Country-specific average annual inflation rate

t — Years into the future

UVD Price Projection

P_uvd(t) = P_base × (1 + 0.002)^t

UVD prices are projected with a 0.2% annual drift — accounting for minor real economic effects (productivity changes, demand shifts) that persist even under a symmetric monetary system. This is a conservative modeling choice; the actual drift could be zero or slightly negative.

Basket Total

Total(t) = Σ P_item(t) for all items in basket

Inflation Data Sources

Country inflation rates are historical long-term averages from official statistical agencies and international organizations:

Assumptions & Limitations

Uniform inflation across categories

The model applies one inflation rate to all items. In reality, food, energy, and housing inflate at different rates. The model captures the aggregate structural trend, not category-specific dynamics.

Static basket composition

The basket does not change over time. In practice, consumption patterns shift — but the purpose is to compare the same goods across monetary systems, not to model evolving consumer behavior.

Base year: 2020

Prices are calibrated to approximately 2020 levels using publicly available data. Minor variations from actual 2020 prices do not materially affect the long-term projection since the structural trend (exponential fiat growth vs. near-flat UVD) dominates.

UVD 0.2% drift assumption

This is a modeling choice, not a protocol guarantee. A basket-indexed currency aims for near-zero real price drift, but minor fluctuations from supply-demand dynamics are expected. The 0.2% represents a conservative upper bound.

Source Code

function simulateBasketPrice(countryCode, years = 20) {
  const basket = BASKETS[countryCode];
  const country = COUNTRY_INFLATION[countryCode];

  for (let y = 0; y <= years; y++) {
    const fiatMultiplier = (1 + country.rate) ^ y;
    const uvdMultiplier  = (1 + 0.002) ^ y;

    items = basket.items.map(item => ({
      fiatPrice: item.basePrice × fiatMultiplier,
      uvdPrice:  item.basePrice × uvdMultiplier,
    }));

    fiatTotal = sum(items.fiatPrice);
    uvdTotal  = sum(items.uvdPrice);
  }
}

Full source: simulation.ts on GitHub