Jeremiah Kasuzumira
Kwacha Forex & Inflation Intelligence
SQL
R
JS
Case Study 03

Malawi Kwacha Forex & Inflation Intelligence

Eighteen years of Malawi's currency and price history, modeled end to end: SQL for the source tables, R for the index construction and trend projection, and an interactive front end for the two questions that matter — what your money was really worth, and whether earning in USD actually protects you the way it looks like it should.

USD/MWK — Current
1,734.01
31 Jul 2026 · RBM reference
12-Month Change
−0.02%
Essentially flat since Feb 2025 peak
Inflation — Feb 2026
24.1%
3.5-year low, down from 32.2% in 2024
Purchasing Power Left
~5%
Of what MWK 1 bought in 2008
USD/MWK Exchange Rate 2008–2028
Fixed peg, three managed devaluations, then a modeled projection
Fixed peg period
Actual rate
Projected (R linear model)
Annual Inflation Rate 2008–2026
Solid bars are confirmed NSO/IMF figures; faded bars are modeled estimates for years without a published annual average
Purchasing Power Calculator
Enter an amount and the year you had it. See what it's really worth in today's kwacha, compounded from actual annual inflation, year by year, back to 2008.
Equivalent value in 2026—
Purchasing power retained—
Index compounds year-over-year inflation from a 2008 base of 100. Years before 2019 use modeled estimates — see Methodology below.
Freelancer Real-Income Impact
You earn in USD. The kwacha keeps devaluing, so your monthly income in MWK keeps rising. This checks whether that rise actually kept up with inflation, or only looked like it did.
MWK value then—
MWK value now (2026)—
Nominal change—
Real change (inflation-adjusted)—
Devaluation raises your kwacha income on paper. This line shows whether it actually kept pace with what things cost.
Methodology — SQL & R
The dashboard is the presentation layer. The actual modeling happens upstream: SQL builds the clean fact tables from raw RBM and NSO series, R constructs the compounding purchasing-power index and fits the trend used for the 2027–2028 projection.
SQLfact table + real-income view
-- Monthly real income for a fixed USD earner,
-- joining FX and CPI fact tables on year
WITH real_income AS (
  SELECT
    fx.year,
    fx.usd_mwk_rate,
    cpi.index_value,
    500 * fx.usd_mwk_rate AS nominal_mwk,
    500 * fx.usd_mwk_rate
      * (SELECT index_value FROM cpi_index
         WHERE year = 2026)
      / cpi.index_value AS real_equiv_2026
  FROM fx_rates fx
  JOIN cpi_index cpi ON cpi.year = fx.year
)
SELECT year, usd_mwk_rate, nominal_mwk,
       real_equiv_2026,
       ROUND(
         (nominal_mwk / real_equiv_2026 - 1) * 100, 1
       ) AS real_change_pct
FROM real_income
ORDER BY year;
RCPI index build + trend projection
# Compound annual inflation into a
# purchasing-power index, base year 2008 = 100
build_cpi_index <- function(inflation_df) {
  inflation_df <- inflation_df[order(inflation_df$year), ]
  idx <- numeric(nrow(inflation_df))
  idx[1] <- 100
  for (i in 2:nrow(inflation_df)) {
    idx[i] <- idx[i - 1] *
      (1 + inflation_df$rate[i] / 100)
  }
  inflation_df$cpi_index <- idx
  inflation_df
}

# Linear trend on the last four confirmed
# FX points, projected two years forward
recent <- subset(fx_rates, year >= 2022)
model  <- lm(rate ~ year, data = recent)
future <- data.frame(year = 2027:2028)
predict(model, future)
Data & Methodology Notes

Confirmed exchange-rate anchors: 2008 (140.60), 2009 (145.99), and 2010 (150.80) are RBM Bank Supervision Annual Report year-end closing rates. May 2012 (−49%), May 2022 (−25%), and November 2023 (−44%) are RBM-announced devaluations. The 31 July 2026 rate (1,734.01) is from Trading Economics. Years without a confirmed anchor are linearly interpolated between the nearest confirmed points and marked accordingly.

Confirmed inflation figures: 2019 (9.38%, back-calculated from the reported 2020 year-over-year change), 2020 through 2024 (NSO annual averages), and February 2026 (24.1%, latest published reading). The 2008–2018 and 2025 figures are modeled estimates built from historical trend commentary and RBM/IMF summaries rather than confirmed NSO annual averages, and should be replaced with exact NSO series before this ships as a public tool. The 2027–2028 exchange-rate projection is a simple linear model on 2022–2026 data — illustrative of the direction implied by recent stabilization, not a forecast to rely on financially.