Methodology

How the Future Power Score and Country Exchange work

The index is meant to be transparent and repeatable. All inputs come from free public APIs, every weight is published below, and the pipeline script (scripts/build_data.py) rebuilds the ranking from scratch.

1. Candidates

2. Pillars & weights

3. Normalisation & scoring

  1. For each indicator, take the most recent non-empty year per country from the World Bank (last ~12 years). IMF values use the current year and the next four.
  2. Size variables (GDP, GDP added, high-tech exports, military spending, population, GDP per capita) are log10-transformed, because they span orders of magnitude.
  3. Every indicator is min-max scaled to 0–100 across all candidates (66 since the October 2026 top-50 expansion). Ratio and growth variables are winsorised at the 5th/95th percentile so one outlier can't flatten everyone else. The 65+ share is inverted, so younger scores higher.
  4. Pillar score = weighted mean of its indicators. If an indicator is missing, its weight is spread across the others in that pillar.
  5. Future Power Score = Σ pillar score × pillar weight (0–100). Scores are relative to this candidate set, not absolute.

4. Live GDP estimate

Latest World Bank nominal GDP (US$) × (1 + IMF WEO real GDP growth) for each year up to the current year = full-year estimate. The ticker shows that figure × the share of the calendar year (UTC) elapsed. It is an illustrative estimate, not official data. Real growth leaves out inflation and exchange-rate moves, and output isn't spread evenly through the year. The IMF's own nominal US$ forecast is shown next to it for comparison.

5. Country Exchange: the index-value model (points)

Illustrative model · not a security · not financial advice

Each top-50 country is shown like a listed company. Its "index value" (shown in points, not rupees or prices) is a transparent model, re-anchored to fundamentals on every refresh. No trading, opinion or hidden inputs are involved.

base = Power Score × 10 market_pts = 0.5 × clamp(index daily change %, −10, +10) attention = clamp(articles_24h ÷ median articles_24h of the top 50, 0.5, 2.0) news_pts = 0.2 × clamp(GDELT avg tone 24h, −5, +5) × attention change % = market_pts + news_pts points = base × (1 + change % ÷ 100) index weight = points ÷ Σ points of all 50 × 100

6. Live data and refresh

FeedSource (free)Refresh
News + tone/volumeGDELT DOC 2.0 API (English, last 24h, deduplicated by URL and title). If GDELT is unavailable: Google News RSS, clearly labelled as a fallback.every 15 min (cron)
Trending searchesGoogle Trends daily trending RSS (top 10). Shown as "unavailable" where Google has no feed (e.g., China).every 15 min
Stock indicesYahoo Finance chart endpoint; Moscow Exchange ISS (Russia). Delayed, with the as-of time shown.every 15 min
Weekly top news (Guide tab)Google News RSS, last 7 days, India edition (en-IN). Headlines are shown exactly as published, not rewritten.each country about every 12 h (25 countries per run)
Exchange rates vs rupeeECB reference rates via frankfurter.app; other currencies from open.er-api.com (Rates By Exchange Rate API). Daily reference rates, not live dealing rates.daily
GDP, growth, inflation (Guide tab)World Bank API (latest actual year) and IMF WEO DataMapper (current-year forecast, labelled)weekly (sources update a few times a year)
Index values + historyComputed by scripts/refresh_live.pyevery 15 min
BrowserPages re-fetch data/*.jsonevery 60 s

India lens. Each headline gets a line on how it relates to India. If an OpenAI-compatible API is configured (env OPENAI_API_KEY, optional OPENAI_BASE_URL/OPENAI_MODEL), the top 3 stories per country get a one-sentence note written only from the headline, marked llm:model. Otherwise a keyword rule tags the headline (Mentions India, Trade, Defence, Neighbour) and marks it auto-tag. Tags describe the headline. They are not analysis.

Business niches (top 10 countries) are hand-written ideas grounded in cited World Bank, IMF, MEA, PIB and Reuters sources. They are not advice. The rest are marked "coming soon".

6a. From top 30 to top 50 (October 2026)

Why Pakistan is not in the top 50

Pakistan ranks #53 with a score of 39.0, about 1 point below #50. The formula decides this. We did not remove it by hand.

  • One IMF data series is missing. The IMF World Economic Outlook publishes Pakistan's GDP in US dollars only up to 2025. It gives no dollar projections for 2026-2030 (IMF NGDPD, Pakistan).
  • So "GDP added 2026-2030" cannot be worked out for Pakistan. The Growth pillar then uses only the IMF growth-rate figure (re-weighted, as for any missing value).
  • For the same reason, its current GDP uses the latest World Bank figure (2025) instead of an IMF 2026 estimate.
  • We do not fill the gap with our own guess. If the IMF publishes the series, the next rebuild re-scores Pakistan automatically.

6b. Country data: 200+ sourced parameters

The Data tab on each country dashboard lists every parameter, grouped into Economy, Trade, Debt, People & Welfare, Environment, Security, Democracy, Defence & Space/Tech, Passport and India Relations. Each value is stored with its year and source URL. Missing values stay null and are never estimated. The data is built by scripts/build_params.py (stdlib + openpyxl).

7. Sources

IndicatorCodeData years in top 50

8. Limitations