Methodology & accuracy

Every number dated. Every model labelled. Every error published.

MacroLens keeps two things strictly apart: dated, sourced indicator levels and analyst models built on top of them. This page shows exactly how each model works, what its inputs are, how accuracy is measured, and where the track record stands.

01

The discipline

SOURCED

Sourced

Each desk reading is dated and linked to its source. Official releases are cited directly; market prices may cite an attributed published report when the exchange settlement is not directly accessible.

ESTIMATED

Estimated

Sensitivities, lags and model contributions are set by analyst judgement anchored on published sector accounts and historical episodes. They are priors, not fitted coefficients, and every output inherits that caveat.

VERSIONED

Versioned

When a reading is replaced or a prior is revised, the old value, the new value and the reason are recorded in the changelog. Sensitivities do not move quietly.

The site is not a live feed. Each series is refreshed when its publisher releases: CCPI monthly at month end, arrivals monthly, the Colombo tea average in the first week, banking-sector data quarterly, the policy rate on eight review dates a year. Between releases nothing changes, and the date on every reading tells you when it last did.

02

The GDP nowcast

Anchor-and-adjust, not a regression. The last official DCS print is the anchor; dated leading reads move it, each capped at ±0.5pp. Contributions are analyst priors, not fitted coefficients.

The calculation, in the open

Point estimate = anchor + sum of capped input adjustments. The published band is ±1.0pp around the point estimate, reflecting the model's young age and the revision history of the national accounts.

nowcast = anchor + Σ min(0.5, max(-0.5, adji)) band = nowcast ± 1.0pp

The worked example below is the Q3 2026 vintage published on 27 Aug 2026. When DCS reported Q2 growth of 4.2% on 15 Sep, the desk published a new vintage on 24 Sep anchored on that print (+4.6%); the 27 Aug vintage is kept on record rather than rewritten.

Q3 2026, as published 27 Aug 2026

InputLatest readingAs ofpp
Private-sector credit+27.8% y/y, Rs 11.04tnMay 26+0.5
Import demandfuel imports +68.0% y/yJul 26+0.3
Electricity generation4,578 GWh planned Q2Q2 26+0.1
Tourist arrivals196,845 in Jul, -1.7% y/yJul 26-0.2
Policy tightening drag+100bp May hikeMay 26-0.3
Anchor Q1 2026 +5.1% (DCS, 15 Jun) + net +0.4+5.5%
Published band 4.5 – 6.5. Confidence: LOW · model v0.1. Latest official outcome: Q2 2026 +4.2% y/y, DCS, 15 Sep 2026.
03

The rupee-pressure gauge

A coincident pressure index: it reads today's pressure on the rupee from three dated inputs. It is not a forecast and makes no claim about where USD/LKR goes next.

The formula, verbatim

fxS = clamp(50 + 10 × USD/LKR move % versus the stated end-July baseline, 0, 100) resS = clamp(50 − 10 × latest reserves change %, 0, 100) buyS = clamp(50 − CBSL net FX purchases, $mn ÷ 10, 0, 100) gauge = round((fxS + resS + buyS) / 3)

Each component is a 0–100 score; the gauge is their average. The inputs and their dates are shown next to the gauge on the desk.

How to read it

ScoreReadingMeaning
0 – 34LOW_PRESSUREInflows cover outflows; the rupee is carrying itself.
35 – 64WATCHPressure building on at least one input.
65 – 100ELEVATEDDepreciation, reserve drain or heavy CBSL buying in play.
Component constants are analyst-set and versioned; changes appear in the changelog.
04

Accuracy, measured not claimed

Three scores are published: the nowcast's mean absolute error against the DCS first print, the share of prints landing inside the published band, and whether the sign of the adjustment to the anchor was right. No score is quoted without dated, published forecasts behind it.

The benchmark the nowcast has to beat

The simplest possible forecast is to carry the last official print forward unchanged. That is the anchor without any adjustment, and it is the bar the nowcast exists to clear. Its error, computed from the published DCS series (the same series on this site's GDP indicator page):

4.32 pp
MAE · all 24 quarters, 2020-Q2 – 2026-Q1
Carry-forward of the last official y/y print. Dominated by the 2020–22 collapse and recovery, when no persistence rule could keep up.
1.68 pp
MAE · 13 post-crisis quarters, 2023-Q1 – 2026-Q1
The same rule in calmer conditions. This is the number the live nowcast must beat to justify its adjustments.
0
Live scored forecasts so far
Model v0.1 went live in Aug 2026. The first scored quarter is Q3 2026: the 27 Aug vintage (+5.5%, band 4.5–6.5) and the 24 Sep vintage re-anchored on the Q2 print (+4.6%, band 3.6–5.6) are both scored when the DCS print lands in December. Until then, no accuracy score is quoted.

The arithmetic, exposed

QuarterCarry-forward forecastActual (DCS)|Error|, pp
2023-Q1-12.4-10.71.7
2023-Q2-10.7-3.17.6
2023-Q3-3.1+1.84.9
2023-Q4+1.8+4.32.5
2024-Q1+4.3+5.10.8
2024-Q2+5.1+4.11.0
2024-Q3+4.1+5.31.2
2024-Q4+5.3+5.40.1
2025-Q1+5.4+4.80.6
2025-Q2+4.8+4.90.1
2025-Q3+4.9+5.40.5
2025-Q4+5.4+4.80.6
2026-Q1+4.8+5.10.3
Mean absolute error, 2023-Q1 – 2026-Q11.68
Source: DCS quarterly national accounts via CBSL Monthly Economic Indicators, extracted 8 Sep 2026. Full-window MAE (2020-Q2 – 2026-Q1, 24 quarters) computed the same way: 4.32 pp.

The live track record

QuarterNowcast, as publishedPublished onOfficial print|Error|
Q3 2026+5.5%, band 4.5 – 6.5 (anchor Q1 +5.1%)27 Aug 2026Due Dec 2026pending
Q3 2026+4.6%, band 3.6 – 5.6 (re-anchored on Q2 +4.2%)24 Sep 2026Due Dec 2026pending
Every nowcast is published with its date and stays on record. When the official print lands, the error is appended here - good or bad. Backtests, if ever quoted, are labelled in-sample and kept separate from the live record.
05

Scenario model and sector scores

The transmission matrix and scenario lab are analyst models, not official forecasts.

Each cell is a disclosed revenue sensitivity: the estimated percentage change in sector revenue for the stated move in one macro driver, with its transmission lag shown in the terminal. Scenario outputs are the linear sum of the selected cell effects. The model has no interactions or curvature, uses analyst-set priors rather than fitted coefficients, and warns against stacking overlapping drivers such as exports and FX. The complete 11-by-12 coefficient table, current baselines and cell explanations are published in the matrix and scenario lab.

06

Sources & cadence

Next scheduled releases: monetary policy review 30 September 2026, CCPI at each month end, SLTDA arrivals in the first fortnight of the following month, Colombo tea auction weekly. The full source register lives on the terminal's method section.