Factsheet
How the index is built, what it can honestly claim, and where it falls short.
VCIx is a chain-linked composite of five pillars. Each constituent series is rebased to 100 at its own first month in the panel, and the composite is published against the base below.
2021 = 100
Base
68 · since 2021-01
Months in the series
6
Series contributing now
It means: where the measurable parts of the Venezuelan economy stand relative to the base month, given everything we could actually measure.
It does not mean Venezuela is that percentage of any pre-collapse peak, and it is not a like-for-like comparison against the base year — see section 4, which quantifies exactly how far from like-for-like it is. Read the level as a direction of travel, not as a multiple.
An earlier version of this page said the index was benchmarked to 2012, the pre-collapse reference year. It was not, and it cannot be. Every working collector begins in 2021 or later, and when this was audited on 2026-08-07 only a fifth of the pillar-assigned series carried any 2012 observation at all. Publishing a 2012 base would mean inventing values for the rest, which the provenance rule in section 5 forbids outright. The base is late, and that is the honest option.
Six steps, in order. Each one exists because the version without it produced a number that was wrong in a specific, documented way.
Eligibility
A series enters only if it is active, assigned to a pillar, has at least six months of panel history, and has a non-zero base value. Nominal exchange-rate levels are excluded entirely: a rate is a price, it moves one way under sustained inflation, and its depreciation is already captured by step three. Charging it twice would make recovery arithmetically impossible while inflation persists.
Monthly resampling
Every series is resampled to one value per calendar month — the last observation in that month is that month's reading. This happens before any aggregation, so that a daily FX series and an annual GDP print contribute like-for-like monthly observations. The predecessor averaged a daily tick's two-year change against an annual print's two-year change as though they were the same quantity.
Carry-forward, with a budget
Between releases a series holds its last value, but only for a bounded number of months: two for daily, weekly and monthly series, six for quarterly, twenty-four for annual. Past that budget the series is treated as absent, not as flat. Publishing a stale value as though it were current is the quiet way an index goes wrong.
Deflation and direction
Bolívar-denominated quantities — bank credit, deposits, the consumer basket, the local equity index — are converted to USD at the official rate before entering the panel. Without this the index measures currency debasement and reports it as growth: the first build of this engine printed a banking pillar of 157,269. Series where a falling number is an improvement (inflation, depreciation, the FX trust gap) are inverted, so narrowing reads as progress.
Rebasing, and a bound on any one series
Each series is set to 100 at its own first panel month. Because an inverted series is divided by its current value, a rate trending toward zero has an unbounded score — a trust gap narrowing from 30% to 2% scores 1500 on a base of 100, and at a 30% pillar weight that single ratio can set the headline. Each constituent score is therefore bounded to the range below. The band is symmetric, so it cannot bias the composite in either direction, and wide enough that real multi-year moves pass through untouched: a series doubling still reads 200, one halving still reads 50.
Aggregation and chain-linking
Within a pillar, constituents are combined with a geometric mean — the standard for index numbers, and the only aggregation under which a doubling and a halving offset exactly. Pillars are then combined on the weights below, renormalised across whichever pillars have data. When the constituent set changes, both the old and new baskets are valued on the overlap month and the new one is spliced onto the old at their ratio, so the published level moves when the data moves rather than when a collector starts or stops.
25 – 400
Allowed range per series (base = 100)
5
Pillars
The index does not auto-admit anything with enough history: the constituents are an explicit, versioned editorial decision, named here with the cadence and source grade behind each one.
1.3
Panel version
6
Named series
| Pillar | Weight | Constituent | Cadence | Class |
|---|---|---|---|---|
| Production & Economic Activity | 10% | Total Vehicle Sales | monthly | A |
| Oil, Gas & Exports | 30% | Active Oil Rigs | monthly | A |
| Monetary & FX Stability | 30% | Inflation (MoM) | monthly | A |
| Banking & Corporate Health | 15% | BVC Equity Composite (USD) |
Live, from the most recent computation. A pillar with no qualifying series is published as no signal rather than as a neutral value, and its weight is redistributed across the pillars that do have data.
| Pillar | Weight | Value | Coverage |
|---|---|---|---|
| Production & Economic Activity | 10% | 615.9 | thin(1 of 1) |
| Oil, Gas & Exports | 30% | 307.9 | thin(1 of 1) |
| Monetary & FX Stability | 30% | 539.5 | thin(1 of 1) |
| Banking & Corporate Health | 15% | 364.2 | covered(2 of 2) |
| Trade, Mobility & Investment | 15% | 147.6 | thin(1 of 1) |
Everything below is a known weakness of the current index, published because a reader cannot evaluate the number without it. None of it is hypothetical; each item is measured.
6
Composition changes
1.54×
Cumulative splice factor
358.6 / 232.9
Published level vs. unspliced
Much of the level is chain arithmetic, not measured change
Every time the constituent set changes, the new basket is spliced onto the old one to keep the series continuous. Each splice is individually correct — that is what chain-linking is for — but they accumulate, and the figures below show how much of the published level comes from splicing rather than from series that moved. A level built this way is not a like-for-like comparison against the base year. Widening the panel is what fixes this; it is the open work.
The panel is thin
The count below is the number of series actually contributing in the latest month. Some pillars are currently carried by a single constituent. A composite this narrow will move on single-series news, and month-to-month volatility should be read in that light rather than as economic signal.
The panel does not cover the whole economy
Panel v1.3 is a deliberately limited editorial basket. Admission now requires real observations at each series' own cadence, not carried-forward months; that fixes the earlier admission defect, but it does not make a small basket comprehensive. An economic change not represented by one of the panel's signals may not appear in the index.
The base year is near the bottom
The base month sits close to the trough of the collapse and of the hyperinflation. Ratios measured against a trough flatter by construction. This is a consequence of when collection began, not a framing choice, but it should temper how the level is read.
Sources are uneven and some are brittle
The rule this project runs on: every observation must be traceable to a real, checkable origin. A number that cannot be traced is fabricated, however plausible it looks. A series has provenance only if all three of the following hold.
Prohibited outright: inventing values to fill a chart or an empty page; interpolating, extrapolating or backfilling a reasonable estimate and presenting it as an observation; attributing a number to an institution that did not publish it; and adding jitter to make generated data look observed. The last two are not hypothetical — both have happened here and are recorded below.
An empty pillar, a null value, or not currently measured is always the correct output when data is absent. The index publishes nulls rather than neutral placeholders, which is why some pillars above may read no signal.
Two purges of fabricated or unsourced data, both on 2026-08-07. Backups of every deleted row are retained in the repository so the deletions are auditable rather than merely asserted.
Every observation carries a source class and a confidence class. Higher classes take precedence when values conflict; lower classes are shown with explicit caveats rather than hidden.
Official statistical agency or regulator
Company filings and reputable secondary aggregators
Credible estimates and market monitors
Proxies and thinly documented signals
Confidence classes are assigned per observation, alongside a review status. What each actually claims — and what it does not — is in section 6.5.
Every observation also carries a review status — verified or pending. Read on its own, “verified” sounds like a person checked the number. That is not what it means on this site, and the gap between those two readings is worth stating outright rather than leaving a reader to assume the friendlier one.
Verified means the three provenance tests in section 5 are met for that observation: a real, named source; a collector or documented manual entry that can be re-run or re-checked; and a recorded methodology. It is a statement about whether the collection path is on record and machine-checkable.
It is not a statement that a person reviewed this specific number before it went live. The overwhelming majority of observations marked verified were written by an automated collector on a schedule, with no one in the loop at write time. That is what the label is allowed to claim; reading it as human sign-off would be wrong. This was not always stated: until 2026-08-09, 93% of all observations carried verified while recording no methodology at all, which is a claim we could not support. Those rows have since been corrected — either given the methodology their collector always had, or moved to pending where the collection path could not be established from the code.
Pending is the honest opposite, not a lesser grade of the same value. The number is real and stored exactly as collected; what is missing is the documentation — no named source, no re-runnable collector or recorded manual entry, or no recorded methodology. We are withholding a provenance claim, not flagging the value as wrong.
Some data on this site is entered and checked by a person, and says so — the funding-round records behind the VC pillar, for instance, are a documented manual research pass, not a collector. Reading every verified row as unreviewed would be its own kind of overstatement. What changed is only that the verified label stopped being read as a promise that this happened on every row it appears on.
Confidence — high, medium or low — tracks the same thing as review status: how well the collection path is documented, not a forecast of how close the number will turn out to be. A high-confidence observation is fully documented and can still be revised if its source revises it; a medium- or low-confidence one is thinner on paper, not necessarily more wrong.
Counted from the live catalogue, not from a list maintained by hand.
Every source currently feeding an active series, counted from the catalogue. If a source appears here it has at least one live series behind it.
un-comtrade
feeds 5 series
bcv
feeds 4 series
opec-momr
feeds 3 series
world-bank
feeds 3 series
cavenez
feeds 2 series
world-bank-pink-sheet
feeds 2 series
baker-hughes
feeds series
Found something wrong on this page? That is the most useful bug report this project can receive — the number is only worth as much as this description of it. Changelog
| monthly |
| B |
| Bank System Deposits (VES) | monthly | A |
| Trade, Mobility & Investment | 15% | Mirror Imports (partner-reported) | annual | A |
The Trade pillar is one annual series, carried forward monthly
Trade's entire weight (15%) rests on a single constituent, mirror-imports-usd-m — partner countries' UN Comtrade-reported exports to Venezuela, published once a year. There is no second series to average it against and no monthly cadence to resample: the panel carries the same annual print forward for up to 24 months (see step 3, "Carry-forward, with a budget") so Trade has a monthly reading at all. That is the price of keeping Trade in the index at its current weight rather than leaving it dark — stated here plainly, not left for a reader to infer from a frequency column.
Several series with real, provenanced history are still not in CORE_PANEL. Each exclusion below is a recorded editorial decision, not an oversight — see the doc comment on CORE_PANEL in src/lib/vci.ts.
fx-trust-gap-pct (Monetary) — dropped in v1.2
Not a depth or staleness problem: it fails the source-class gate because one of its two inputs, p2p-usdt-ves, has had more than one writer of different grades over its history, and the panel now grades a derived series by the WEAKEST class any of its sources has ever written, not just its most recent one. It stays published, and stays the homepage and Ground Truth headline number — this page presents it that way deliberately — it simply does not steer the index while that class problem stands. Re-admitted automatically on the next catalog sync if p2p-usdt-ves becomes class B end to end.
fx-daily-depreciation-pct and p2p-fx-spread-pct (Monetary)
Originally demoted for moving with the same FX pair fx-trust-gap-pct already tracked — admitting all three would have triple-counted one signal. That collinearity reasoning no longer applies now that fx-trust-gap-pct itself is out, but fx-daily-depreciation-pct still isn't admitted: it has 3 total observations, nowhere near the panel's depth requirement for a daily series. One consequence stated plainly: Monetary is currently inflation-mom-pct alone, at its full, unreduced weight — a single monthly release moving 30% of the composite.
bank-credit-ves-bn (Banking) — dropped in v1.2
Correlates r=0.925 with bank-deposits-ves-bn over 58 overlapping months — two reads on the same underlying banking-system expansion, not two independent pieces of evidence. Deposits was kept as the cleaner series; credit is also the one the synthetic-data audit already flags with a step-dispersion advisory. Stays published on its own page; this is an index-admission call, not a data-quality verdict.
new-vehicle-sales and commercial-vehicle-sales (Production) — superseded in v1.2
The two correlate r=0.934 over 30 months: they are passenger and commercial cuts of the same monthly CAVENEZ release, not independent reads on vehicle demand. A derived total-vehicle-sales now enters the index instead, summing both legs for months where both have a real observation. Both inputs stay published on their own pages.
The four mirror-imports HS-chapter breakdowns (Trade)
Machinery, fuels, agri and consumer sub-series stay published on their own pages, but only the total (mirror-imports-usd-m) enters the index — five annual cuts of one UN Comtrade pull is not five independent readings.
ibc-index-spliced (Banking)
A sound, splice-corrected series, but it correlates r=0.883 with bvc-composite-usd, which covers the same market with deeper, continuous history. One market, one constituent.
pdvsa-2027-cents and venz-2031-cents (Oil, Banking) — dropped in v1.1
Hand-entered backfill anchors — 6 and 4 points respectively, on a weekly cadence — that cannot honestly clear the panel's real-history bar and were measured roughly 160 days stale on 2026-08-08. Both stay published on their own pages and can be re-admitted once their collector produces real, dense, current history.
gdp-real-usd-bn (Production)
World Bank annual GDP publishes roughly 18 months in arrears — 584 days old when measured on 2026-08-08, against the panel's 547-day (1.5×) freshness allowance for an annual series. A print that old should not move a live index; it stays published on its own page.
Class A official statistics, class C scraped marketplaces and price monitors sit in the same composite, distinguished by the grading in section 6 but not by exclusion. Scraped sources break; a failed scrape is skipped, never estimated. Where a series has no public source at all it is not published.
compounding at exactly 1.04000× per month for 24 consecutive months
7 series142 rows· 2026-08-07
no verifiable source
A synthetic-data audit runs before any deploy that touches data and fails the build on constant-ratio and constant-delta sequences. It was extended after a fabricated export series — a perfect arithmetic run rising by exactly 5.0 every month, attributed to the central bank — passed the original ratio-only test, because an additive sequence has a varying ratio and read as ordinary decelerating growth. The detector had a blind spot shaped exactly like the fabrication.
cavenez-derived
feeds 1 series
jodi-oil
feeds 1 series
opec-merey-discount-derived
feeds 1 series
vcix-inflation-derived
feeds 1 series
yahoo-finance
feeds 29 series
bvc-derived
feeds 3 series
dolarflow
feeds 2 series
usdt-ve
feeds 2 series
datosmacro
feeds 1 series
farmatodo
feeds 1 series
vcix-fx-derived
feeds 1 series
vcix-ground-truth-derived
feeds 1 series
binance-p2p
feeds 2 series
caracas-research
feeds 2 series
mercadolibre-mlv
feeds 2 series
kayak-flight-fares
feeds 1 series
stockanalysis
feeds 1 series
funding-rounds-derived
feeds 2 series