Skip to main content
The China Activity Nowcast is a transparent directional comparison. It is not a replacement GDP estimate, a hidden-activity verification, or a China risk score. No language model participates in numeric computation, input eligibility, direction, confidence, or state assignment. The live method version is china-activity-nowcast/v1.

Official comparison series

The first method version uses the revision-aware China macro contract and selects the newest eligible official activity observation at each evaluation time. An observation is eligible only when:
  • its observation period ends before publication;
  • publication precedes retrieval;
  • retrieval occurs no later than the evaluation time;
  • the exact vintage has valid source provenance;
  • the observation is available and not stale; and
  • its published directional comparison is strengthening, weakening, or unchanged.
The selected series, observation period, release time, retrieval time, and vintage ID remain visible in the API and panel. A historical evaluation can select only a vintage retrieved by that evaluation time. Later corrections cannot replace an earlier point-in-time value.

Reviewed proxy registry

Every family has a reviewed rationale, unit, transformation, frequency, lag, freshness budget, alignment rule, and source declaration in shared/china-activity-nowcast-registry.ts. The registry does not turn source coverage into activity. For example, an energy-spine payload that says JODI data is present does not establish demand direction. Likewise, a current CCFI level without a comparable prior is not a freight-rate change. Those inputs remain visibly excluded until the consumed contract publishes the required directional observation.

Alignment and missingness

The default comparison window is 90 days. The method selects the latest point-in-window observation for each registry entry after its documented lag has elapsed. Forward-filling and interpolation are disabled for every family. The method does not fall back to an older observation when the newest point is stale, structurally incomparable, unavailable, missing provenance, outside the window, or missing a required prior. Each such input has an exclusion reason; none becomes a neutral direction.

Directional states

At least three eligible proxy families and one non-unchanged official vintage are required. Eligible non-flat proxy contributions establish a direction only when at least two thirds point the same way. The method emits exactly one of five states:
  • agreement — proxy consensus and the official direction match;
  • proxy_leading_divergence — proxy consensus differs and its median aligned observation is later than the official observation period;
  • official_leading_divergence — proxy consensus differs but does not lead the official period;
  • mixed_signals — enough families are present, but no two-thirds consensus exists; or
  • insufficient_data — official or proxy-family coverage is below the method requirement.
Every included contribution keeps its transformed value, direction, time, source, and full registry metadata. The response deliberately has no aggregate activity score.

Confidence and sensitivity

Confidence is categorical (high, medium, low, or insufficient) and reports eligible-family coverage. The method also recomputes the state after removing each proxy family. The panel shows whether that leave-one-family-out test changes the conclusion, making family dominance inspectable.

Historical evaluation

backtestChinaActivityNowcast() evaluates an explicit sequence of historical times through the same point-in-time eligibility path. It reports:
  • attempted and evaluable rows;
  • coverage;
  • directional agreement among evaluable rows;
  • the official vintage used in each row; and
  • the comparison state and eligible-family count for each row.
No-lookahead filtering applies to official revisions and proxy release and retrieval times. The live cache currently contains current-only snapshots, not a bounded historical proxy ledger. The public response therefore says historical evaluation is unavailable instead of fabricating a backtest from current values. Historical coverage becomes publishable only when such a ledger is retained and reviewed.

Cache and API behavior

GET /api/economic/v1/get-china-activity-nowcast returns a small wrapper plus the canonical validated JSON payload. Healthy results use a 15-minute server cache. insufficient_data results are not positively cached, and the browser circuit breaker keeps no last-good copy that could hide a current outage or missing input. The wrapper’s upstream_unavailable flag is true only when no official vintage or proxy contribution is available; otherwise healthy but non-directional inputs remain methodological insufficiency, not an outage. The endpoint composes:
  • the official China macro snapshot;
  • the China corridor control-tower response;
  • the canonical commodity seed and its seed-health timestamp; and
  • the Railway-owned China stock-index snapshot.
Dependency failures are isolated. The method can retain unaffected families, but total loss returns insufficient_data with all contributions excluded. Method-version changes require a new version string and new reproducibility fixtures rather than silently changing historical semantics.