21 derived indicators. 9 are standard constructions used the way their
publishers intend, 6 are standard ideas adapted (usually by changing the denominator or the
reference point to something a Thai household actually faces), and 6 were built here and
appear in no literature. The invented ones carry their formula in full precisely because they have no
external authority behind them.
Days of import cover
How many days it keeps running
STANDARD
L1
formula
stock ÷ average daily net imports
→ days
≤ 15 no buffer
≤ 45 thin
≤ 90 below the IEA line
≤ 180 adequate
above deep
What it reads. How long the country runs if imports stopped tomorrow. It makes reserves of wildly different absolute sizes comparable, which raw tonnes never do.
So what, for you. Thailand at 108 days and India at 9.5 are not the same investment. An oil spike passes through India's currency and fuel bill almost immediately; Thailand has three months of absorber. If you hold both, size the India position for the shorter fuse.
Provenance. IEA emergency stockholding obligation — 90 days of NET IMPORTS for member countries. Note the denominator: the IEA uses net imports, while the oil market more often quotes days of forward DEMAND. The two give different answers for the same country and are routinely confused. This register uses net imports and says so on every reading.
Stocks-to-use ratio
How much grain the world has spare
STANDARD
L1
formula
ending stocks ÷ total annual use × 100
→ %
≤ 20 tight — price spikes likely
≤ 30 snug
≤ 40 comfortable
above ample
What it reads. Below roughly 20% grain prices stop responding to demand smoothly and start jumping. World rice is currently comfortable, which is the single best piece of news in the resource picture for a Thai household budget.
So what, for you. Comfortable stocks argue against holding agricultural commodity funds as an inflation hedge right now. The inflation you face is energy and currency, not food.
Provenance. USDA WASDE and FAO AMIS both publish this monthly; it is the grain equivalent of days of cover and one of the oldest agricultural statistics there is.
Gold stock-to-flow
Years of gold mining already above ground
STANDARD
L1
formula
above-ground stock ÷ annual mine production
→ years
≤ 20 supply can respond
≤ 50 slow to respond
above supply is effectively fixed
What it reads. About 67 years. Everything ever mined is still here, and a year of world mining adds roughly 1.5% to it. That one ratio is the entire argument for gold as a monetary asset rather than a commodity: no price rise can conjure meaningful new supply.
So what, for you. This is why a gold allocation is a structural decision, not a trade. It also means the gold price is set by who wants to hold the existing stock, not by mine output news.
Provenance. Popularised by Incrementum AG's In Gold We Trust report. NOT a World Gold Council metric — the WGC publishes the 219,891 t above-ground numerator but does not present the ratio. My first draft credited the WGC and that was wrong.
Refining concentration (HHI)
How few countries do the processing
STANDARD
L1
formula
Σ (country share)² × 10,000
→ index 0–10,000
≤ 1500 competitive
≤ 2500 moderately concentrated
≤ 5000 highly concentrated
above single-country control
What it reads. Reserves are spread around the world; the furnaces that turn ore into usable material are not. A country that mines something it cannot process does not control it.
So what, for you. Nothing to trade — this is not priced daily. It is a reason to hold some gold and to check whether your equity funds are concentrated in manufacturers whose input list runs through one country.
Caveat. Computed from China's share alone with the remainder assumed to split evenly, because that is the only share published consistently for all eight minerals. Real residual shares are lumpier, so this understates concentration.
Provenance. USGS (Thomas, Nassar & DeYoung 2022) and the EU Critical Raw Materials methodology. NOT an IEA metric — the IEA publishes a plain top-three share (82% in 2020 rising to 86% in 2024) and uses reverse-HHI only for power-generation fuel mix. I had this attributed to the IEA and it was corrected.
concepts
?
market concentration
How much of an index sits in a handful of names — and therefore how little diversification an index fund is actually providing.
The rigorous measure is the Herfindahl index, the sum of squared weights, whose reciprocal gives the 'effective number' of holdings: an index of 500 names where the top 10 hold 40% behaves like far fewer than 500 independent bets. Concentration is not a separate risk from a sector risk — it is the mechanism that turns one into a portfolio problem for someone who believes they are diversified.
Read more about market concentration ↗
Gold/oil ratio
Barrels of oil one ounce of gold buys
STANDARD
L1
formula
gold USD/oz ÷ Brent USD/bbl
→ barrels per ounce
≤ 15 oil expensive vs gold
≤ 30 historically normal
≤ 50 gold expensive vs oil
above extreme — usually a crisis print
What it reads. The cleanest way to separate a monetary story from an energy story. If both gold and oil are rising but the ratio is flat, that is money losing value. If the ratio is falling, it is a genuine energy supply problem.
So what, for you. Directly useful: it tells you whether your gold holding is hedging the thing you actually face. Against a supply-driven oil shock, gold is a poor hedge and energy equity is a better one.
Provenance. A market convention of very long standing with no institutional publisher — no central bank or agency computes it, but every commodity desk watches it.
concepts
?
percentile
Where today sits in the full range of the past few years. The 90th percentile means only 10% of past readings were higher.
Often the honest alternative to a z-score, because it makes no assumption about the shape of the distribution — it just counts. The cost is that it discards magnitude: the 99th percentile reads the same whether today is a whisker above the old high or double it.
Read more about percentile ↗
US net dollar liquidity
Cash the Fed is leaving in the system
STANDARD
L3
formula
WALCL − Treasury General Account − overnight reverse repo
→ USD tn
≤ 0 draining
above adding
What it reads. The single best-known proxy for whether money is being added to or drained from markets, read as a 13-week change rather than a level.
So what, for you. Read as a lead, not a signal. When it turns down it has historically pressured emerging market equity — which includes the SET — with a one-to-two month lag. It is a reason to slow down new buying, not to sell.
Caveat. Widely followed enough that its predictive power is partly arbitraged away.
Provenance. A MARKET CONVENTION, not a Fed publication. The Fed publishes WALCL, WTREGEN and RRPONTSYD separately and does not endorse the subtraction. The originator of the construction could not be verified; it is in wide use without a clear first author.
concepts
?
credit impulse
The change in the flow of new credit, as a share of the economy. It leads actual activity by roughly two to three quarters, which is why it is watched instead of loan totals.
Read more about credit impulse ↗
?
z-score
How unusual today's reading is compared with its own history, measured in standard deviations. 0 = perfectly normal, ±1 = mildly unusual, ±2 = happens about 5% of the time, ±3 = rare.
z = (today − mean) ÷ standard deviation, both taken over a chosen lookback window. Two things about that make it weaker than it looks. The window is a judgement call, not a fact — this dashboard uses ~1250 observations for dailies (five years) and shortens it where the publisher carries less history, and a different window gives a different answer for the same day. And the ±2 ≈ 5% rule assumes a bell curve, which financial series emphatically do not follow: they have fat tails, so genuinely extreme readings arrive far more often than the normal distribution predicts. Read a z-score as a ranking, not a probability.
Read more about z-score ↗
2s10s term spread
Whether the bond market expects trouble
STANDARD
L1
formula
10-year Treasury yield − 2-year Treasury yield
→ pp
≤ 0 inverted
≤ 0.5 flat
above positive
What it reads. Inversion has preceded most US recessions, with a long and variable lag.
So what, for you. Too slow to act on alone. Its use here is as one input to the growth axis of the regime map, which is what actually drives the recommendations.
Provenance. Estrella & Mishkin (1996); published continuously by the New York Fed as a recession probability model.
concepts
?
duration
How sensitive an asset's price is to interest-rate changes. Long-duration assets — 30-year bonds, unprofitable growth stocks, infrastructure — fall hardest when rates rise.
Formally the weighted-average time to receiving an asset's cash flows, which is why it applies to equities at all: a company whose profits arrive in a decade is mathematically a long bond, and is discounted like one. It is also why the AI complex and the bond market are more correlated than they look — both are priced off the same discount rate.
Read more about duration ↗
?
spread
The difference between two interest rates. Widening spreads mean rising perceived risk.
In credit it is the extra yield a borrower pays over a government bond of similar maturity — compensation for default risk and for illiquidity, and those two are not separable from the outside. That matters when reading a widening: it can mean the market thinks default is likelier, or merely that the paper has become harder to sell.
Read more about spread ↗
?
z-score
How unusual today's reading is compared with its own history, measured in standard deviations. 0 = perfectly normal, ±1 = mildly unusual, ±2 = happens about 5% of the time, ±3 = rare.
z = (today − mean) ÷ standard deviation, both taken over a chosen lookback window. Two things about that make it weaker than it looks. The window is a judgement call, not a fact — this dashboard uses ~1250 observations for dailies (five years) and shortens it where the publisher carries less history, and a different window gives a different answer for the same day. And the ±2 ≈ 5% rule assumes a bell curve, which financial series emphatically do not follow: they have fat tails, so genuinely extreme readings arrive far more often than the normal distribution predicts. Read a z-score as a ranking, not a probability.
Read more about z-score ↗
US 10-year real yield
The return on cash after inflation
STANDARD
L1
formula
10-year TIPS yield
→ %
≤ 0 negative — everything else looks attractive
≤ 1.5 mild
≤ 2.5 restrictive
above punishing for long-duration assets
What it reads. The hurdle rate for every other asset on earth, and the single biggest driver of the gold price after the dollar.
So what, for you. Above 2.5% is the level at which holding cash starts genuinely competing with owning growth equities. It is also the standard argument against gold — which is why gold rising through a high real yield, as it has, is worth noticing.
Provenance. US Treasury TIPS constant-maturity series, published daily (FRED DFII10).
concepts
?
real yield
An interest rate after subtracting expected inflation — the return that actually buys you more goods.
Read more about real yield ↗
?
duration
How sensitive an asset's price is to interest-rate changes. Long-duration assets — 30-year bonds, unprofitable growth stocks, infrastructure — fall hardest when rates rise.
Formally the weighted-average time to receiving an asset's cash flows, which is why it applies to equities at all: a company whose profits arrive in a decade is mathematically a long bond, and is discounted like one. It is also why the AI complex and the bond market are more correlated than they look — both are priced off the same discount rate.
Read more about duration ↗
Cover gap vs the 90-day line
Days above or below the international standard
ADAPTED
L1
formula
days of cover − 90
→ days
≤ -60 critically short
≤ 0 short of the standard
≤ 60 compliant
above well provisioned
What it reads. One signed number per country, comparable across countries that report differently.
So what, for you. Thailand is +18 and India is −80.5. That gap is the reason a single oil shock produces two very different equity outcomes across two markets a non-specialist would lump together as 'Asia'.
Provenance. The 90-day obligation is the IEA's. The subtraction is not novel. Renamed from 'Reserve Adequacy Spread' because that collided with the IMF's established Assessing Reserve Adequacy (ARA) metric, which is about FX reserves and is a different thing. Also note ARA and months-of-import-cover are two distinct metrics and must not be conflated — an error I nearly shipped.
Official absorption of mine supply
Share of new gold that central banks take
ADAPTED
L1
formula
central-bank net purchases ÷ annual mine supply × 100
→ %
≤ 10 central banks are marginal
≤ 20 meaningful official bid
above official buying sets the price
What it reads. Above roughly 20%, official institutions rather than jewellers or investors are setting the marginal gold price — and central banks are famously price-insensitive buyers.
So what, for you. The most under-appreciated fact in the resource data: 2025 official buying FELL 21% and gold still made a record. Something other than central banks is bidding, which makes the rally less structurally safe than the 'central banks are buying' story implies.
Provenance. Derived from World Gold Council data, not a WGC-published series. The WGC frames central-bank demand against TOTAL demand; this uses mine supply as the denominator, which is the harder test and the more interesting one.
SET–Brent rolling correlation
How much Thai stocks follow the oil price
ADAPTED
L1
formula
rolling 260-observation Pearson correlation of Δ%SET and Δ%Brent
→ correlation −1…+1
≤ -0.2 SET is an oil hedge
≤ 0.2 no relationship
above SET moves with oil
What it reads. Thailand imports oil, so intuition says the SET should fall when oil rises. In practice the index is heavy in PTT and energy-linked names, so the relationship is often the opposite of the intuition. This measures which one is true right now.
So what, for you. Decides whether your SET holding is already an oil hedge or needs one. If the correlation is positive, buying an energy fund on top of a SET position is doubling a bet you already have.
Provenance. LSEG/FTSE Russell already publishes rolling oil betas for APAC equity markets including Thailand, so the idea is not new — I had this labelled INVENTED and the check overturned it. What is mine is the construction: a 12-month rolling Pearson correlation of daily PERCENTAGE CHANGES (not levels, which would be spurious), computed inside the pipeline so it updates with everything else.
Resource endowment score
How well supplied a country is, 0–100
ADAPTED
L1
formula
mean of min-max normalised (arable land per person, inverse fuel import share, days of cover)
→ score 0–100
≤ 30 dependent
≤ 60 mixed
above well endowed
What it reads. A slow structural ranking, not a market signal. It moves once a year at most.
So what, for you. Useful for deciding where a decade-long allocation sits, not what to do this quarter. Indonesia and Malaysia score well; Singapore and Japan score badly and compensate with capital and institutions, which this score cannot see.
Caveat. Deliberately crude — three inputs, equal weights. Treat as a ranking, not a measurement.
Provenance. SolAbility's GSCI Natural Capital Index is a published normalised 0–100 resource composite and is the structural precursor; the World Bank's Changing Wealth of Nations is the monetary one. Downgraded from INVENTED after the check found both. Mine is narrower: min-max across the ten mandate countries on inputs already in the registry.
US stock–bond return correlation
Whether bonds are diversifying shares
INVENTED
L1
formula
60-observation Pearson correlation of daily S&P 500 returns and a DGS10 bond proxy, where bond r ≈ −7 × Δyield + yield ÷ 252
→ correlation −1…+1
≤ -0.2 bonds diversify equities
≤ 0.2 relationship unstable
≤ 0.5 diversification weakened
above stocks and bonds falling together
What it reads. Negative means bonds have tended to rise when shares fell. Positive means the two have moved together, so a conventional stock–bond portfolio is carrying less diversification than its labels imply.
So what, for you. This belongs in the hero row because it answers whether the portfolio's main shock absorber is working now. A positive reading argues for treating cash and explicit inflation protection as separate diversifiers instead of assuming bonds will do both jobs.
Caveat. The bond leg is an approximation with duration fixed at 7; it omits convexity, coupon timing and changes in the cheapest-to-deliver bond. Read the direction and regime, not the second decimal place.
Provenance. No publisher prints this exact series. The equity leg is the S&P 500. The bond leg is a duration-7 total-return proxy reconstructed from the Federal Reserve's DGS10 yield, because a yield level is not a bond return. The approximation is standard fixed-income arithmetic; combining that proxy with a rolling correlation here is this project's construction.
concepts
?
duration
How sensitive an asset's price is to interest-rate changes. Long-duration assets — 30-year bonds, unprofitable growth stocks, infrastructure — fall hardest when rates rise.
Formally the weighted-average time to receiving an asset's cash flows, which is why it applies to equities at all: a company whose profits arrive in a decade is mathematically a long bond, and is discounted like one. It is also why the AI complex and the bond market are more correlated than they look — both are priced off the same discount rate.
Read more about duration ↗
Baht Import Burden Index
What the world costs, in baht
INVENTED
L1
formula
(0.60 × energy index + 0.40 × food index) × (USDTHB ÷ 35.3), base 2016 = 100
→ index 2016 = 100
≤ 90 cheap world
≤ 110 normal
≤ 140 expensive
above squeeze
What it reads. Dollar commodity indices understate what a Thai household pays, because the baht usually weakens in the same move that lifts oil. This multiplies the two so the compounding is visible in one line.
So what, for you. When this is rising fast, two things follow for you personally: your cost of living is going up before the CPI print says so, and unhedged foreign-currency assets are quietly protecting you. It is an argument for holding some savings outside the baht, not for trading anything.
Provenance. No published equivalent found. The nearest cousin is the IMF's Commodity Terms of Trade index (PCTOT, IMF WP/19/21), but PCTOT is deflated to real USD and weighted by NET exports; this is import-only and denominated in the local currency, which is what makes it read like a household's experience rather than a country's trade account.
Physical Tightness Premium
Is it expensive because it is scarce?
INVENTED
L1
formula
z(price, 5y) − z(inventory, 5y)
→ z difference
≤ -1 well supplied
≤ 1 balanced
≤ 2 tight
above genuinely scarce
What it reads. High price with full warehouses is a positioning or tariff story and tends to reverse. High price with empty warehouses is real scarcity and tends to persist. The subtraction is what separates them.
So what, for you. Tells you whether an oil spike is likely to fade before it reaches your electricity bill. Only a genuinely scarce spike justifies changing anything in a portfolio.
Caveat. Needs EIA_API_KEY for the weekly inventory series. The annual static inventory figures cannot be z-scored — five observations is not a distribution.
Provenance. No published equivalent as a z-score construction. The canonical precursor is the theory of storage / convenience yield (Kaldor 1939, Working 1949, Brennan 1958), which reaches the same conclusion through the futures curve rather than through inventories directly.
Chokepoint-Adjusted Growth Signal
Copper's growth message, discounted for distortion
INVENTED
L1
formula
z(copper, 5y) × d, where d = 1 − min(1, |COMEX÷LME − 1| ÷ 2)
→ adjusted z
≤ -1 demand contracting
≤ -0.25 cooling
≤ 0.25 flat
above expanding
What it reads. At the current 1.85x COMEX/LME ratio the discount factor is 0.575 — copper's growth signal is being marked down by 42.5% because a large part of the price is a border, not a factory.
So what, for you. Stops you buying cyclicals and ASEAN exporters on a copper rally that is really a tariff trade. When the raw copper z-score and this number disagree, believe this one.
Provenance. No published equivalent. Copper as a growth proxy is ancient; exchange-inventory divergence as a distortion measure is well known to metals desks; multiplying one by a confidence factor derived from the other is the part I have not seen done.
Thai Squeeze Index
Cost-of-living pressure at home
INVENTED
L3
formula
composite of z-scores, weights food 35 / transport fuel 25 / electricity 25 / borrowing 15, every price converted to THB first, scored −100 (pressure) … +100 (relief)
→ score −100…+100
≤ -40 heavy pressure
≤ -10 pressure
≤ 10 neutral
≤ 40 relief
above strong relief
What it reads. The four things that actually move a Thai household's monthly outgoings, in one number, measured in the currency it is paid in. Negative means pressure.
So what, for you. This is a personal-finance number before it is an investment one. Sustained pressure means your real savings rate is falling even if your salary is not, and that argues for holding more of your emergency cash in a form that keeps up — not for taking more investment risk to compensate.
Provenance. No published equivalent. Central banks compute cost-of-living and financial-conditions indices, but not one that converts world commodity prices into local currency first and weights them by the domestic CPI basket for a single household.
Energy Shock Pass-Through
How much of an oil shock lands here
INVENTED
L1
formula
(fuel imports as % of merchandise imports ÷ 100) × Δ% energy price index
→ % of import bill
≤ -1 windfall
≤ 1 immaterial
≤ 3 a real hit
above macro-significant
What it reads. A 20% oil move does not mean the same thing in Singapore, Thailand and Malaysia. This scales the world shock by how exposed each country's import bill actually is, which is the number that eventually shows up in the current account and then in the currency.
So what, for you. The bridge from a headline you read to your own currency. A sustained positive reading for Thailand is the earliest warning that the baht has a problem coming — usually one to two quarters before the trade data confirms it.
Provenance. No published equivalent found. The inputs are entirely standard — World Bank TM.VAL.FUEL.ZS.UN and the IMF energy price index — but multiplying a structural import share by a live price change to get a country-specific shock intensity is not a published construction.
Gold in baht
What your gold is actually worth
STANDARD
L1
formula
gold USD/oz × USDTHB
→ THB/oz
above level — read the change, not the level
What it reads. Your return on gold is the PRODUCT of the metal and the currency. Gold in baht can rise while gold in dollars falls, and vice versa — and the financial press only ever reports the dollar one.
So what, for you. Judge every gold decision on this line, not the CNBC line. It also explains why gold works as a baht hedge: the same events that weaken the baht usually lift dollar gold, so the two effects compound in your favour.
Provenance. Arithmetic, not an invention — every Thai gold shop quotes it. It is in this register because it is the single most under-appreciated line for a baht-based investor, not because it is clever.
AI credit tail stress (CCC − HY)
What lenders charge the weakest borrowers
ADAPTED
L2
formula
CCC & lower OAS − HY index OAS, in percentage points
→ pp
≤ 5 tail is fine
≤ 6.5 normal dispersion
≤ 7.5 lenders backing away from the weak end
above tail is shut out
What it reads. Credit usually breaks before equity does, and it breaks at the bottom first. This is the extra yield demanded from the worst-rated borrowers over the high-yield market as a whole. It widens when lenders start declining the weakest deals — which is where the AI build-out's marginal financing actually happens — even while the index looks calm.
So what, for you. You almost certainly do not own CCC paper, so read this as a warning light on everything else rather than a position. When it widens while AI equities hold up, the lenders are disagreeing with the shareholders, and lenders see the cash flows first. Worth doing the breakeven arithmetic before envying the yield: price change on a credit position is roughly −(spread duration × change in spread), so at a spread duration near 3 years the 9.91pp of extra yield is wiped out by about 330bp of widening inside a year. The tail has already moved ~82bp in three months. That is what 'high yield is not high return' means arithmetically. For a Thai investor the transmission is indirect but real: a US AI-credit event tightens global conditions, lifts the dollar and pulls foreign money out of ASEAN — the dollar_pressure gauge is where you would feel it, not this one.
Caveat. Three years of history and no recession in it, so 'a three-year high' is a weaker claimthan it sounds — the series has never been observed through a downturn. The level is less informative than the 3-month change, which is the framework's own guidance. And this is NOT an AI-specific instrument: a widening driven by energy or retail defaults would move it without saying anything about data centres. It is the closest free proxy, not a measurement. Confirm any signal here against issuer-level pricing — Oracle's CDS and neocloud paper — before treating it as an AI-credit event.
Provenance. Adapted from the AI Bubble Early-Warning framework's indicator 8 (AI infrastructure credit stress), which specifies bond/CDS spreads widening 25-50bp as Amber and >100bp as Red. Changed in one decisive way: the framework does not say WHICH spread, and the obvious choice — the high-yield index — is the wrong one. On 2026-07-23 HY OAS was 2.77%, historically tight and unambiguously green on a widening test, while CCC-and-lower was 9.91%. Data-centre SPV and neocloud paper sits in that tail, not in the index. Tracking the GAP catches lenders repricing the weak borrowers while the headline stays calm — the precise failure the framework wants caught, which its own metric would have missed.
concepts
?
credit dispersion
How far apart the strong and weak borrowers in a market are priced. It widens before an index-level move, because lenders retreat from the worst names first.
An index spread is a weighted average, and averages hide the thing you want. When lenders start declining marginal deals, the refusal shows up as the bottom rating tier repricing while the index barely moves — so a rule keyed to the index reads calm through the early phase. Measured here as CCC OAS − HY OAS. On 2026-07-23 that gap was 7.14pp, the widest in the three years these series exist, while the HY index sat at a comfortable 2.77%.
Read more about credit dispersion ↗
?
option-adjusted spread
A credit spread with the value of the bond's embedded options stripped out, so bonds with different call features can be compared honestly.
Most corporate bonds are callable — the issuer may repay early, which is valuable to the issuer and costly to the holder. A raw spread on a callable bond therefore mixes credit compensation with the price of that option, and two issuers with identical credit quality can show different spreads purely because one has a call and the other does not. OAS values the option with an interest-rate model and removes it, leaving something closer to pure credit. Every ICE BofA series on this dashboard — HY, IG, CCC — is an OAS, which is what makes differencing them defensible.
Read more about option-adjusted spread ↗
?
spread duration
How much a bond's price moves for a given change in its credit spread — the credit analogue of interest-rate duration.
Price change ≈ −(spread duration × change in spread). It gives you the number that actually matters for a carry trade: the breakeven widening, which is roughly spread ÷ spread duration per year. Worked on this dashboard's own data — CCC-and-lower yields 9.91pp over Treasuries at a spread duration of roughly 3 years, so about 330bp of widening in a year wipes out the entire year's extra income. The tail has widened ~82bp in three months. That is the arithmetic behind 'high yield is not high return'.
Read more about spread duration ↗
?
z-score
How unusual today's reading is compared with its own history, measured in standard deviations. 0 = perfectly normal, ±1 = mildly unusual, ±2 = happens about 5% of the time, ±3 = rare.
z = (today − mean) ÷ standard deviation, both taken over a chosen lookback window. Two things about that make it weaker than it looks. The window is a judgement call, not a fact — this dashboard uses ~1250 observations for dailies (five years) and shortens it where the publisher carries less history, and a different window gives a different answer for the same day. And the ±2 ≈ 5% rule assumes a bell curve, which financial series emphatically do not follow: they have fat tails, so genuinely extreme readings arrive far more often than the normal distribution predicts. Read a z-score as a ranking, not a probability.
Read more about z-score ↗
AI bubble composite risk score
How stretched the AI build-out looks
ADAPTED
L3
formula
Σ(category score × weight) ÷ Σ(weight of SCORED categories only) ÷ 2, as a percentage. Unscorable categories are excluded from both sums rather than counted as Green.
→ % of maximum risk score
≤ 20 expansion supported
≤ 35 speculative excess building
≤ 50 pre-burst conditions emerging
above broad deterioration
What it reads. A deliberately crude tally across independent parts of the system, because the framework's central claim is that no single metric calls this — four unrelated things deteriorating together is the signal. Denominating in percent-of-maximum means a score built from four scorable categories is comparable to one built from ten, instead of silently reading low because six were missing.
So what, for you. Momentum matters more than level: a move from 30% to 55% in two months is a louder signal than a year parked at 50%. The framework's critical overrides bypass the score entirely — a hyperscaler cutting capex for return reasons, a frontier lab taking rescue financing, or a large AI-infrastructure borrower failing to refinance is Red on its own, whatever this reads. For a Thai investor the practical response is not to trade the AI complex but to check how much of your supposedly diversified foreign exposure is the same eight stocks.
Caveat. MOSTLY NOT LIVE, and that is the honest state, not a defect to be papered over. Of the framework's ten categories, one (credit) computes daily from free data, two (semis equity, chip output) are proxies for capacity rather than measurements of it, and one (capex) is hand-entered guidance. The six that carry the most information — capex vs AI revenue, capex ÷ operating cash flow, cloud gross margin, depreciation vs gross profit, enterprise renewals, backlog conversion — all come from quarterly filings and none is wired. Treat this as a scaffold with one working leg. See docs/AI_BUBBLE.md.
Provenance. Implements the composite in section 5 of the AI Bubble Early-Warning framework — ten categories, Green 0 / Amber 1 / Red 2, five weighted ×2 and five ×1. Two corrections were needed before it could be used. FIRST, the bands do not fit the scale: max score is 30 (15 weight × 2), but the document's top band starts at 14, so a portfolio scoring Amber on every single category — a uniform 15 — lands in the highest risk band while no category is Red. That cannot be intended. Bands here are expressed as a PERCENTAGE of the maximum attainable, which also keeps them meaningful when categories are unscorable. SECOND, section 1 lists only three bands (0-5, 6-9, 10-13) and section 5 adds a fourth (14+); the four-band version is used.
concepts
?
capex absorption
Capital spending divided by operating cash flow — how much of the cash a business generates is being consumed by building.
Below roughly 70% a build-out is self-funded and can be slowed at will. Above 90% the incremental dollar is coming from debt or equity issuance, which hands the pace of the build-out to lenders rather than to management. It is the cleanest single measure of whether a boom is internally or externally financed — and an externally financed one ends when funding conditions change, not when demand does.
Read more about capex absorption ↗
?
useful life
The number of years a company assumes an asset lasts, which sets how fast it is depreciated — and therefore how large reported profits are.
Annual depreciation = cost ÷ useful life, so extending assumed life raises reported profit without changing a single dollar of cash. The sensitivity is large at AI-capex scale: on $725bn of spending, moving servers from a 5-year to a 6-year life cuts annual depreciation by 725/5 − 725/6 ≈ $24bn a year. That is why the assumption is worth reading in the notes to the accounts rather than taking earnings at face value, and why cash flow is the harder number to dress up. It cuts both ways — if accelerators genuinely wear out or go obsolete faster than assumed, the correction lands as an impairment.
Read more about useful life ↗
?
free cash flow
Cash from operations minus capital spending — what is actually left over, as opposed to accounting profit.
It matters here because depreciation makes reported earnings and cash diverge sharply during a build-out: cash leaves immediately when equipment is bought, while the expense reaches the income statement over years. A company can therefore show healthy and rising earnings while free cash flow goes negative, which is the pattern to watch in a capex boom rather than a contradiction to explain away.
Read more about free cash flow ↗
?
vendor financing
When a supplier funds its own customer's purchases, so money leaves as investment and returns as revenue.
The accounting can be entirely proper while the economics are circular: reported revenue rises without new end demand, and every downstream metric built on revenue — backlog, order growth, capex-versus-revenue — inherits the distortion. It was a documented feature of the late-1990s telecom build-out and is a live question in AI infrastructure. The diagnostic is not the revenue line but whether the customer could have paid from its own cash flows.
Read more about vendor financing ↗
?
market concentration
How much of an index sits in a handful of names — and therefore how little diversification an index fund is actually providing.
The rigorous measure is the Herfindahl index, the sum of squared weights, whose reciprocal gives the 'effective number' of holdings: an index of 500 names where the top 10 hold 40% behaves like far fewer than 500 independent bets. Concentration is not a separate risk from a sector risk — it is the mechanism that turns one into a portfolio problem for someone who believes they are diversified.
Read more about market concentration ↗
?
backlog conversion
How much of the contracted-but-not-yet-delivered order book actually turns into revenue, and how quickly.
Backlog (often reported as RPO) is the most flattering number a company can disclose, because it is a promise rather than a result. The tell is duration: a backlog growing faster than revenue while its average length stretches means deals are being signed further out, which is a weaker claim on the future than the headline implies.
Read more about backlog conversion ↗
?
net revenue retention
What last year's customers spend this year, after upgrades, downgrades and cancellations. Above 100% means the existing base is growing on its own.
The reason it leads is that it strips out new-customer acquisition, which can mask deterioration for several quarters. First-renewal cohorts are the sharpest read: enthusiasm gets a product bought once, and only usage gets it renewed.
Read more about net revenue retention ↗