Sectoral Employment Diffusion (CES)

Breadth and momentum of U.S. payroll growth across key sectors using CES employment levels. Outputs include YoY growth by sector, a diffusion index, robust z‑scores, EMA smoothing, 0–100 scaling, and categorical regimes.

Why: Broadening sectoral gains typically precede durable expansions; narrowing breadth often foreshadows slowdown.

Abstract

We compute sector‑level year‑over‑year (YoY) employment growth and a diffusion index (share of sectors with positive YoY). The diffusion series is standardized via robust rolling z‑scores, smoothed, re‑expressed on a 0–100 scale, and mapped into regimes. We also track the median sector YoY growth and 3‑month momentum diagnostics.

1. Data (BLS CES Identifiers)

Inputs are monthly levels. A bounded forward‑fill (ffill(limit=2)) tames small reporting gaps after alignment to a month‑start grid.

2. Data Handling & Validation

  • Types & dates: Force value to numeric; normalize date to month‑start timestamps.
  • Pivot & grid: Wide pivot by series_id; align to asfreq('MS').
  • Subset guard: Keep only requested sectors that are present; otherwise fail with a clear error.

3. Transform Definitions

YoYt(sector) = Levelt/Levelt−12 − 1
Diffusiont = mean 1[YoYt > 0] ∈ [0,1] → ×100

Diagnostics: 3‑month momentum for diffusion and median sector YoY.

4. Standardisation (Robust z‑scores)

The diffusion percentage is standardized using median/MAD with an adaptive window.

zt(Diffusion) = (Dt − medianW(D)) / (1.4826·MADW(D)),\ W = min(24, max(8, ⌊0.8·Nvalid⌋))

5. Smoothing, Scaling & Regimes

  • HOT (broad expansion): > +0.75
  • NEUTRAL: −0.75 to +0.75
  • COOL (narrow/weak): < −0.75

6. Output Panel

[
  # Sector levels and YoY growth
  'CES3000000001_level','CES2000000001_level','CES6000000001_level','CES7000000001_level',
  'CES3000000001_yoy','CES2000000001_yoy','CES6000000001_yoy','CES7000000001_yoy',

  # Breadth and diagnostics
  'Diffusion_Index','Diffusion_z','Diffusion_0_100','Diffusion_Smoothed','Diffusion_Regime',
  'Median_Sector_YoY','Median_Sector_YoY_mom_3m','Diffusion_mom_3m'
]

7. Implementation Notes (Python)

# Expect columns: date, series_id, value; monthly CES levels
DEFAULT_SECTORS = ["CES3000000001","CES2000000001","CES6000000001","CES7000000001"]
# Align to MS grid, ffill(limit=2); compute YoY, diffusion, median YoY, momentum; 
# apply robust_z(), EMA smoothing, 0–100 scaling, and classify regimes as above.

8. Interpretation & Use

A HOT diffusion regime indicates broad‑based job growth across cyclical and services sectors, typically consistent with durable expansions. A COOL regime signals narrowing breadth and rising downside risk to growth.