HUMANITYVECTOR

Bottleneck record, bottleneck_assessment_v1

Battery materials

Lithium, cobalt and natural graphite for cells. Pressure from mine supply growth and producer concentration (USGS); prices and inventories have no registered source. CFTC positioning does not apply: none of the three trades on a US futures exchange the CFTC reports.

Statusinsufficient datathresholds bottleneck_thresholds_v1as of 2026-09-07, computed 2026-09-07 22:36 UTC

Reading

In plain words

generated from the stored numbers, rule bottleneck_thresholds_v1

No pressure score: 0 of 8 components have enough data (0 percent of the weight). That is below the 50 percent coverage the thresholds require, so no pressure label is given. Missing: Lithium supply growth gap, Cobalt supply growth gap, Graphite supply growth gap, Lithium producer concentration and 4 more. No response signal is registered for this record (no capacity pipeline is registered and the curated lithium producer (Albemarle) belongs to no capex pulse group). Adding capacity takes 60 to 200 months by the cited source, so today's response is read against that horizon.

rules fired: coverage 0 < 0.5 (no pressure score)

Is the problem being solved?

Pressure and response

pressure Modeled response Modeled
PressureModeled

--

0 to 100, coverage 0%, 0 of 8 components

Response

--

no response signal registered

no capacity pipeline is registered and the curated lithium producer (Albemarle) belongs to no capex pulse group

no capacity pipeline is registered and the curated lithium producer (Albemarle) belongs to no capex pulse group

Pressure components

Percentiles, weights and what is missing

weights sum to 1; missing components count against coverage
ComponentWeightSeries and transformPercentileRawPeriodHistoryStatus
Lithium supply growth gap
world lithium mine production growth (USGS), sign reversed
0.15lithium-mine-production WLD
yoy_growth_negated
--------missing
2 observation(s) of lithium-mine-production give 1 transformed period(s), fewer than the 5 the rank needs
Cobalt supply growth gap
world cobalt mine production growth (USGS), sign reversed
0.1cobalt-mine-production WLD
yoy_growth_negated
--------missing
2 observation(s) of cobalt-mine-production give 1 transformed period(s), fewer than the 5 the rank needs
Graphite supply growth gap
world natural graphite mine production growth (USGS), sign reversed
0.1graphite-mine-production WLD
yoy_growth_negated
--------missing
2 observation(s) of graphite-mine-production give 1 transformed period(s), fewer than the 5 the rank needs
Lithium producer concentration
share of world lithium production from the three largest countries (derived from USGS)
0.15lithium-top3-concentration WLD
level
--------missing
2 observation(s) of lithium-top3-concentration give 2 transformed period(s), fewer than the 5 the rank needs
Cobalt producer concentration
share of world cobalt mine production from the three largest countries, computed from the USGS country rows
0.1cobalt-mine-production WLD
top3_share
--------missing
26 observation(s) of cobalt-mine-production give 2 transformed period(s), fewer than the 5 the rank needs
Graphite producer concentration
share of world natural graphite production from the three largest countries, computed from the USGS country rows
0.1graphite-mine-production WLD
top3_share
--------missing
38 observation(s) of graphite-mine-production give 2 transformed period(s), fewer than the 5 the rank needs
Price pressure
Lithium carbonate, cobalt and graphite prices.
0.2no registered series--------missing
no battery material price series is registered (FRED carries none; CFTC not applicable)
candidates: Fastmarkets; Benchmark Mineral Intelligence; LME cobalt
Inventory
Reported inventories relative to consumption.
0.1no registered series--------missing
no inventory series is registered
candidates: company filings; SMM

Response detail

What the response signal rests on

no capacity pipeline is registered and the curated lithium producer (Albemarle) belongs to no capex pulse group

Downstream

Systems that depend on it

within 3 hops, centrality_v1

the curated graph has no lithium, cobalt or graphite node yet, so substitutes and downstream systems are empty here

Substitutes

Named on the dependency edges

the curated graph has no lithium, cobalt or graphite node yet, so substitutes and downstream systems are empty here

Recycling and recovery: Cell recycling recovers lithium, cobalt and nickel; no recovery series is registered.

Expansion lead time

60 to 200 months

Recommended

New lithium, cobalt or graphite mine, discovery to first production

The same IEA average applies; brine and spodumene lithium projects have often been faster than the cross-mineral average, refining plants faster still.

International Energy Agency, The Role of Critical Minerals in Clean Energy Transitions (2021)

It has taken 16.5 years on average to move mining projects from discovery to first production.

checked 2026-09-07

Evidence

Every number, by id

Bottleneck and Response monitor, model bottleneck_assessment_v1, thresholds bottleneck_thresholds_v1

A record shows two signals and never combines them.

Pressure (modeled): each available component is transformed (12-month percent change, year-over-year growth with the sign reversed for supply, level for shares and lead times), then replaced by its percentile rank (0 to 100) within its own stored history up to that period, ties counted half, after a minimum history. The score is the weighted mean of those ranks over the components present, renormalised. Coverage is the share of declared weight that has data; components without a registered source are declared with their weight, their role and candidate sources, and count against coverage. Weights are a modelling choice and are listed on every record.

Response: the capacity response ratio where a capacity pipeline exists (US electricity: the stage-weighted 24-month EIA-860M pipeline over the trailing 24 months of additions, modeled), otherwise the capital expenditure pulse of the tagged company group (matched-sample trailing-four-quarter capex growth from stored 10-K and 10-Q facts, derived), otherwise null with the reason.

Status comes only from these thresholds:

  • insufficient data: coverage below 0.5, or no pressure score. No label is guessed.
  • below watch: pressure below 60.
  • watch: pressure at or above 60 and below 75.
  • constrained: pressure at or above 75.
  • constrained, response underway: constrained and the response signal clears its threshold (capacity response at or above 1.0, or capex pulse above 10 percent).

Lead time is recommended-class metadata from a small sourced table (src/data/lead-times.ts) and is stored with its citation. Substitutes and downstream systems come from the curated knowledge graph (edges where the record's entity is the dependency; entities within three hops that depend on it, with centrality_v1). Every number on a record traces to stored observation ids, pulse row ids or edge ids in the row's JSON.

History

Assessments stored

As ofPressureCoverageResponseStatusComputed
2026-09-07--0%--insufficient data2026-09-07