Technical writing
BLS Current Employment Statistics: The Monthly Jobs Report Behind Every Payroll Number
On the first Friday of every month, at exactly 8:30 AM Eastern, the Bureau of Labor Statistics releases a document that moves bond markets, reshapes Federal Reserve expectations, and dominates financial news for hours. The Employment Situation—known universally as the jobs report—packs two entirely separate federal surveys into a single release: the Establishment Survey, which counts payroll jobs across 580,000 worksites, and the Household Survey, which contacts 60,000 households to produce the unemployment rate. The two surveys measure different things, use different methodologies, and frequently contradict each other in the same release. Understanding what each measures—and what each cannot—is the starting point for reading any labor market data seriously.
Two Surveys, One Release
The Current Employment Statistics (CES) program is the formal name for the Establishment Survey, the payroll count that produces the headline “the economy added X jobs last month.” It is a survey of employers. The Current Population Survey (CPS), conducted jointly by BLS and the Census Bureau, is the Household Survey that produces the unemployment rate. It surveys individuals and households. Both are released simultaneously on Jobs Friday because pairing them gives analysts both the employer's view (how many people are on payroll) and the worker's view (how many people are looking for work).
The divergences between the two surveys are not data errors—they reflect genuine differences in scope and methodology. The Establishment Survey counts jobs, not workers: someone working two jobs appears twice in payroll employment but once in the Household Survey. The Household Survey counts people: it includes self-employed workers, unpaid family workers, and agricultural workers who are excluded from the nonfarm payroll count. And the Household Survey classifies anyone who worked even one hour in the reference week as “employed,” regardless of how many hours they wanted to work. A person who worked one hour walking a neighbor's dog and received payment is employed in the Household Survey. That definitional boundary matters enormously for interpreting the unemployment rate.
The Establishment Survey: Mechanics and Sampling
The CES Establishment Survey draws its sample from the Quarterly Census of Employment and Wages (QCEW), a near-universal administrative census built from unemployment insurance (UI) tax records filed by employers. Because virtually every employer that hires covered workers must file UI records, the QCEW frame covers approximately 97% of all nonfarm payroll employment—around 11 million establishments. CES samples from this universe, stratifying by industry (at the NAICS three-digit level), state, and employment size class. Larger establishments are sampled with higher probability or, for the very largest employers, included with certainty in every survey.
Each month, sampled establishments report their total employment on the payroll for the pay period including the 12th of the month, their aggregate payroll (used to compute average hourly earnings), and hours worked. The survey collects data for approximately 580,000 worksites, representing about 146,000 businesses and government agencies. That sounds large, but it still misses a substantial share of small and newly created establishments—a gap that the net birth/death model is designed to address.
Response rates present a practical challenge. In the first monthly estimate, only about 60% of sampled establishments have reported. BLS publishes this preliminary estimate anyway, using model-based imputation for non-responding establishments. The response rate rises to roughly 75% for the first revision (published one month later) and approaches 90% for the second revision. This three-release revision cycle means that the number splashed across headlines on Jobs Friday will be revised twice before it is considered “final” for the purposes of the monthly series.
The Net Birth/Death Model
One of the least understood—and most scrutinized—components of the CES methodology is the net birth/death (NBD) model. The establishment sample, drawn from QCEW records, cannot capture employment at brand-new businesses by definition: a company that opened last month is not yet in the QCEW frame. Similarly, establishments that close cannot respond to the survey, creating a downward bias if the sample simply counts non-response as zero employment.
BLS addresses this through a statistical model that estimates the net employment contribution of new establishment births minus deaths each month. The model uses historical patterns from the QCEW—which eventually captures births and deaths through UI filings—to estimate the current month's net contribution. The NBD adjustment adds or subtracts from the survey-based estimate; in expansion periods it typically adds jobs (reflecting net establishment births); in contractions it subtracts. The model's estimates are replaced by actual QCEW data during the annual benchmark revision, which is why benchmark revisions can be large when the business formation cycle diverges from historical patterns.
Key CES Metrics
The jobs report publishes a dense table of employment and earnings statistics. The metrics that receive the most market and policy attention are a short list, but understanding each requires precision about what it includes.
Total nonfarm payroll employment is the headline number: all jobs on employer payrolls in the United States, excluding farm workers, private household workers, non-profit organization employees (in some historical vintages), and the self-employed. The “nonfarm” exclusion reflects the seasonal volatility and distinct labor market dynamics of agricultural employment; a separate agricultural employment estimate exists but receives far less attention. As of mid-2024, total nonfarm employment is approximately 158 million jobs.
Private vs. government employment is a standard first-level breakdown. Private employment tracks market-driven labor demand; government employment (federal, state, and local) responds to fiscal policy, budget cycles, and public sector hiring freezes. Government employment can mechanically distort the headline number: a large government hiring round or furlough affects the total count without signaling anything about private-sector demand conditions.
The CES publishes employment data for 11 supersectors: mining and logging; construction; manufacturing; trade, transportation, and utilities; information; financial activities; professional and business services; education and health services; leisure and hospitality; other services; and government. Each supersector contains multiple NAICS industry groups, and BLS publishes down to the detailed four-digit NAICS level for most series. For time-series analysis, the supersector breakdown is usually the appropriate granularity; detailed industry series carry larger sampling errors and more pronounced seasonal adjustment uncertainty.
Average hourly earnings (AHE) is the wage measure most closely watched by inflation analysts. It is computed from the payroll-to-hours ratio: aggregate payroll dollars reported by sampled establishments divided by aggregate hours reported. AHE covers all private nonfarm employees except proprietors and partners in unincorporated firms, unpaid family workers, farm workers, and private household workers. The 12-month change in AHE is the wage-inflation metric that appears most frequently in Federal Reserve statements; a reading above 3.5% in recent years is generally interpreted as consistent with above-target PCE inflation. A known compositional distortion in AHE: when lower-wage workers are laid off in recessions, the average mechanically rises even if no individual worker got a raise. Conversely, when lower-wage sectors (like leisure and hospitality) recover and rehire, AHE can appear to decline even as underlying wages are rising.
Average weekly hours is a leading indicator that often moves before payroll employment: employers adjust hours before adding or shedding workers. Manufacturing hours receive particular attention; the index of aggregate weekly hours in manufacturing is a component of the Conference Board's Leading Economic Index.
| CES Series ID | Description | FRED Code |
|---|---|---|
| CES0000000001 | Total nonfarm payroll (SA, thousands) | PAYEMS |
| CES0500000001 | Total private employment (SA, thousands) | USPRIV |
| CES0500000003 | Avg hourly earnings, all private employees (dollars) | CES0500000003 |
| CES0500000002 | Avg weekly hours, all private employees | AWHNONAG |
| CES6000000001 | Professional and business services (SA, thousands) | USPBS |
| CES7000000001 | Leisure and hospitality (SA, thousands) | USLAH |
| CES9000000001 | Government employment (SA, thousands) | USGOVT |
The Household Survey: Unemployment Rates and Labor Force Participation
While the CES Establishment Survey counts jobs, the Current Population Survey (CPS) measures the labor force status of individuals. Every month, Census Bureau interviewers contact roughly 60,000 households, representing about 110,000 individuals, and determine their labor force status during the reference week (the week containing the 12th of the month). Each person 16 years and older is classified as employed, unemployed, or not in the labor force.
The CPS employment definition casts an extraordinarily wide net. Anyone who did any work for pay or profit during the reference week—even one hour—is classified as employed. Unpaid family workers who worked 15 or more hours in a family business are also counted as employed. This means the unemployment rate is not a measure of people who “don't have enough work”—it measures only people who are jobless, available to work, and actively looked for a job in the prior four weeks. The millions of people who are working part-time involuntarily (they want full-time hours but can only find part-time work) are counted as employed, not unemployed.
The U-1 Through U-6 Spectrum
BLS publishes six alternative measures of labor underutilization, labeled U-1 through U-6, that capture progressively broader concepts of labor market slack:
| Measure | Definition |
|---|---|
| U-1 | Persons unemployed 15 weeks or longer |
| U-2 | Job losers and persons who completed temporary jobs |
| U-3 | Total unemployed (the “official” unemployment rate): jobless, available, and actively searched in prior 4 weeks |
| U-4 | U-3 plus discouraged workers |
| U-5 | U-4 plus all marginally attached workers |
| U-6 | U-5 plus part-time for economic reasons (wants full-time, can't find it)— the broadest BLS underemployment measure |
The U-6 rate is roughly 1.5 to 2 times the U-3 rate in normal economic conditions. During the Great Recession trough (October 2009), U-3 peaked at 10.0% while U-6 peaked at 17.1%, reflecting the large number of workers who shifted to part-time involuntarily as employers cut hours before conducting layoffs. The gap between U-3 and U-6 is itself a signal: a wide U-6–U-3 spread suggests significant underemployment pressure that the headline rate does not capture.
The labor force participation rate (LFPR) measures the share of the civilian noninstitutional population aged 16 and older who are either employed or unemployed (i.e., in the labor force). The denominator excludes the institutionalized population (those in prisons, nursing homes, etc.) and active-duty military. LFPR peaked at approximately 67.3% in early 2000 and has trended downward since, a decline driven partly by baby boomer retirements (demographic), partly by rising disability and chronic illness rates, and partly by cyclical discouraged workers who exit the labor force during downturns. The pandemic caused a sharp LFPR drop from 63.4% in February 2020 to 60.2% in April 2020; as of 2024, LFPR has recovered to roughly 62.5%—still below the pre-pandemic level, with the remaining gap concentrated in prime-age men.
Seasonal Adjustment and X-13ARIMA-SEATS
Raw, not-seasonally-adjusted (NSA) payroll employment follows violent seasonal swings that would swamp any cyclical signal. Retailers hire hundreds of thousands of temporary workers in November and December for the holiday season; construction employment surges in spring and collapses in winter; schools hire teachers every August. The December NSA payroll print is typically 1 to 2 million jobs above November; none of that reflects economic acceleration—it is calendar mechanics.
BLS applies seasonal adjustment using X-13ARIMA-SEATS, a software package developed jointly by the US Census Bureau and the Bank of Spain (SEATS stands for Signal Extraction in ARIMA Time Series). The program fits an ARIMA model to the NSA series to forecast the expected seasonal pattern, then subtracts it to produce the seasonally adjusted (SA) series that appears in all standard tables. The SA series is what markets and policymakers track. The NSA series appears in supplementary tables and is used for some state-level analyses, but it is rarely the focal point of public discussion.
Seasonal factors are updated once a year, typically in the January release, using five years of historical data. When the underlying seasonal pattern of an industry shifts— as happened with retail employment during the pandemic, when holiday hiring patterns were disrupted—the seasonal factors can become misspecified. In 2021 and 2022, many economists flagged that pandemic-distorted seasonal factors were adding spurious volatility to the SA series. BLS addressed some of these distortions through extraordinary factor adjustments and by applying longer look-back windows for affected industries.
Revisions: Preliminary, Revised, Final, and Benchmark
Every CES payroll number is released three times as an “official” monthly estimate before it is superseded by the annual benchmark. The preliminary estimate, released on Jobs Friday for the reference month, carries a 90% confidence interval of roughly ±130,000 jobs at the national level. The first revision (released one month later) incorporates additional survey returns. The second revision (released two months later) incorporates the final batch of survey returns and is considered the “final” monthly estimate for historical purposes—until the annual benchmark revision.
The annual benchmark revision, published every February, is the most consequential methodological event in the CES calendar. BLS replaces the entire prior year's monthly estimates with numbers derived from the QCEW administrative census, which covers virtually all UI-covered employment. Because the QCEW is a census rather than a sample, it is treated as ground truth. The revision can substantially alter the picture of employment growth for the prior year. The February 2024 benchmark revision reduced the prior year's payroll count by 818,000 jobs—the largest negative revision since the financial crisis—indicating that the net birth/death model and sample-based estimates had overstated job creation by roughly 68,000 per month over 2023. Benchmark revisions of this magnitude recalibrate the narrative of an entire year of labor market data retroactively.
Because benchmark revisions can be large and directional, some analysts track the Quarterly Census of Employment and Wages as it becomes available (with a roughly six-month lag) to anticipate the annual revision. A QCEW reading that shows consistently lower employment than the CES sample-based estimates foreshadows a negative benchmark revision. The Philadelphia Fed publishes an early benchmark revision estimate quarterly using partial QCEW data, giving markets a leading signal of the likely February revision.
Industry-Level Employment Dynamics
The aggregate nonfarm payroll number obscures divergent sectoral dynamics that are often more informative for economic analysis. Healthcare and social assistance has been one of the most reliably consistent job-adding sectors in recent years, driven by an aging US population and chronic shortages of licensed clinical personnel: registered nurses, medical assistants, home health aides. Healthcare employment grew every single month from 2021 through 2024, making it a structural tailwind to the payroll headline that would eventually exhaust itself only when demographic demand slows.
Government employment, the largest single supersector at roughly 23 million jobs, fluctuates with federal, state, and local budget cycles. Federal civilian employment has been roughly flat for decades; state and local government hiring tracks tax revenue and federal transfer payments. During the pandemic, state and local governments shed approximately 1.5 million workers as tax revenues collapsed, then rehired as federal aid through the CARES Act and American Rescue Plan Act stabilized local budgets. Education employment within the government sector distorts seasonal adjustment because school calendars do not align precisely with calendar months, creating recurring problems with the summer pattern.
Manufacturing employment illustrates the long-run structural shift in the US economy. Manufacturing payrolls peaked at 19.5 million in June 1979 and have declined, with cyclical interruptions, to approximately 13 million by 2024. The decline is both automation-driven (robots and software replacing production workers) and trade-driven (offshoring to lower-cost countries). The CES manufacturing series is a critical input to understanding goods-sector employment trends. Post-pandemic, goods employment recovered relatively quickly as supply chains normalized, while services employment faced a longer recovery bottlenecked by worker willingness to return to in-person service jobs.
Leisure and hospitality employment tells the most dramatic COVID story. The sector lost 8.2 million jobs in March and April 2020 combined—a decline proportionate to the Great Depression in scale but compressed into two months. Recovery was slower than in other sectors because workers who had left the sector found other employment, the sector's chronically low wages made it unattractive relative to expanded unemployment benefits, and immigration disruptions reduced labor supply for positions that had historically relied on foreign-born workers. Leisure and hospitality employment did not return to its February 2020 peak until mid-2022.
The gig economy presents a measurement gap that the CES cannot fully close. Platform workers—Uber drivers, DoorDash couriers, TaskRabbit workers— are classified as self-employed independent contractors rather than employees, placing them outside the CES establishment survey entirely. To the extent they have a second payroll job, that payroll job is captured, but their gig income is not. The Household Survey captures them as employed (any work for pay in the reference week), but the headcount provides no information about earnings, hours, or scheduling. As platform work has grown, the measurement gap between CES payroll counts and the actual labor market experience of workers in platform-mediated arrangements has become a recognized limitation of both surveys.
The COVID Collapse and Recovery in Historical Context
No discussion of CES data is complete without the April 2020 observation. In a single month, total nonfarm payrolls fell by 20.5 million jobs—a decline that erased all employment gains made since January 2010 in 30 days. The prior record single-month loss was approximately 800,000 jobs in January 2009. The April 2020 number is not aberrant data; it reflects an economy that was deliberately shut down. The hospitality sector alone lost 7.7 million jobs. Leisure and hospitality fell from 16.9 million to 9.2 million in two months.
The recovery that followed was the fastest in US labor market history, though it did not feel that way from inside it. Total nonfarm employment recovered to within 3 million of its pre-pandemic peak by early 2021, then stalled as labor supply constraints became binding. The final pre-pandemic jobs were the hardest to recover: they were disproportionately in sectors (food service, entertainment, transportation) where workers had found other opportunities or exited the labor force. The last million recovery jobs, measured from pandemic trough to recovery peak, took longer than the first eighteen million.
The post-pandemic period also revealed a structural split between goods and services employment. Goods-sector payrolls (manufacturing, construction, mining) recovered to their pre-pandemic levels relatively quickly, driven by the pandemic-era goods consumption surge. Services-sector payrolls, particularly in the consumer-facing industries that require physical presence, recovered more slowly. This divergence had macroeconomic consequences: goods-sector inflation preceded services-sector inflation, and the Fed's challenge of controlling services inflation while goods disinflation was already underway shaped monetary policy through 2022 and 2023.
JOLTS quit data, released separately from the CES, provides the complementary narrative. The “Great Resignation” of 2021–2022—when the quit rate reached historic highs as workers voluntarily left jobs in search of better wages and conditions—is not directly visible in the CES payroll data but is essential context for interpreting the labor market dynamics behind the payroll numbers. The CES shows net job changes; JOLTS shows the gross flows that produced them.
Market Impact: The 8:30 AM Release
The Employment Situation release at 8:30 AM Eastern on the first Friday of each month is among the most market-moving regularly scheduled government data releases in the world. US Treasury yields, S&P 500 futures, and the dollar index all move meaningfully in the seconds after release. The magnitude of the move depends on the deviation from consensus expectations; a payroll number that matches the Bloomberg consensus to the nearest 10,000 produces minimal market reaction, while a number that misses by 200,000 or more can shift the 2-year Treasury yield by 15 to 20 basis points in minutes.
The market reaction to any given payroll number is mediated by its Federal Reserve policy implications. In a tightening cycle (2022–2023), a strong payroll number was bad for bonds because it suggested the Fed would need to keep rates higher for longer. In a cutting cycle or recessionary context, a weak payroll number is bad for equities because it signals economic deterioration, but potentially good for bonds because it suggests easier monetary policy. The sign of the market reaction to any given Jobs Friday print is not predetermined; it depends on the prevailing monetary policy narrative.
Traders and analysts track “whisper numbers”—informal estimates that circulate in the days before release—as a supplement to the official Bloomberg or Wall Street Journal consensus. These whisper numbers aggregate proprietary data from ADP National Employment Report (released two days before CES), weekly initial and continuing jobless claims, and high-frequency private data. The ADP report has a complicated relationship with CES: correlation over long periods is reasonable, but month-to-month divergences are common and sometimes large. Following the 2022 methodology revision at ADP, the short-term correlation between ADP and CES weakened further, reducing ADP's value as a precise CES preview.
The Atlanta Fed GDPNow model, a real-time GDP growth tracker, updates on the same day as the CES release, incorporating the payroll, hours, and earnings data into its quarterly GDP nowcast. Bond futures markets also update Federal Open Market Committee meeting probability implied by futures prices within minutes of the release. A stronger- than-expected payroll number in a tightening cycle typically causes the implied probability of a rate cut at the next FOMC meeting to fall; a weaker number raises it. These adjustments ripple through the entire yield curve and drive equity sector rotation in real time.
Accessing CES Data: BLS API, FRED, and Excel Tables
BLS provides CES data through three primary access routes. The BLS public data API at api.bls.gov/publicAPI/v2/timeseries/data/ accepts requests for up to 50 series IDs per call (with a registered API key; 25 without). CES series IDs follow the format CES[supersector][data type]: the supersector code is a two-digit identifier (00 for total nonfarm), and the data type code is a single digit (1 for employment, 2 for hours, 3 for earnings). The full series IDCES0000000001 therefore denotes total nonfarm payroll employment.
FRED, maintained by the St. Louis Fed, hosts the complete CES series history with clean, documented API access through the fredapi Python package. The FRED code PAYEMS is the most commonly used identifier for total nonfarm payroll employment (seasonally adjusted, thousands). FRED also hosts the not-seasonally-adjusted version as PAYNSA and numerous supersector breakdowns. For rapid exploration, FRED's web interface at fred.stlouisfed.org allows visual comparison of series without writing code.
The Employment Situation press release itself, published at bls.gov on Jobs Friday, includes summary tables in HTML and a full Excel workbook (the “eed” tables) containing all major CES series, the full not-seasonally-adjusted detail, and supplemental industry breakdowns that do not appear in the standard API response. The Excel release is the most complete single-file representation of the monthly data and is the tool of choice for analysts who need the full industry detail in one structured download.
Python: Pulling CES Data from the BLS API
The following script queries the BLS public API directly—no FRED account required—to download total nonfarm payroll employment, average hourly earnings for private workers, and leisure and hospitality employment. It computes 12-month job gains and produces a two-panel chart with recession shading. Install dependencies with pip install requests pandas matplotlib.
import requests
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from datetime import datetime
API_URL = "https://api.bls.gov/publicAPI/v2/timeseries/data/"
# CES series IDs (seasonally adjusted)
# CES0000000001 - Total nonfarm payroll employment (thousands)
# CES0500000003 - Total private AHE, all employees (dollars)
# CES7000000001 - Leisure and hospitality employment (thousands)
SERIES = {
"total_nonfarm": "CES0000000001",
"ahe_private": "CES0500000003",
"leisure_hosp": "CES7000000001",
}
end_year = datetime.now().year
start_year = end_year - 10
headers = {"Content-Type": "application/json"}
payload = {
"seriesid": list(SERIES.values()),
"startyear": str(start_year),
"endyear": str(end_year),
}
resp = requests.post(API_URL, json=payload, headers=headers, timeout=60)
resp.raise_for_status()
data = resp.json()
if data.get("status") != "REQUEST_SUCCEEDED":
raise RuntimeError("BLS API error: " + str(data.get("message", "")))
id_to_key = {v: k for k, v in SERIES.items()}
frames = {}
for series_obj in data["Results"]["series"]:
sid = series_obj["seriesID"]
key = id_to_key.get(sid, sid)
rows = []
for obs in series_obj["data"]:
period = obs.get("period", "")
if period.startswith("M") and period != "M13":
month_num = int(period[1:])
date = pd.Timestamp(year=int(obs["year"]), month=month_num, day=1)
rows.append({"date": date, "value": float(obs["value"])})
df = pd.DataFrame(rows).sort_values("date").set_index("date")
frames[key] = df["value"]
combined = pd.DataFrame(frames).dropna(subset=["total_nonfarm"])
# Compute 12-month job gains (thousands)
combined["job_gains_12m"] = combined["total_nonfarm"].diff(12)
# NBER recession bars (approximate recent recessions within the window)
recessions = [
("2020-02-01", "2020-04-01"), # COVID recession
]
fig, axes = plt.subplots(2, 1, figsize=(13, 9), sharex=True)
# --- Top panel: Total nonfarm employment level ---
ax1 = axes[0]
ax1.plot(combined.index, combined["total_nonfarm"] / 1000,
color="#0b4a8f", linewidth=1.4, label="Total nonfarm (millions)")
for rec_start, rec_end in recessions:
ax1.axvspan(pd.Timestamp(rec_start), pd.Timestamp(rec_end),
color="#e0e0e0", alpha=0.7)
ax1.set_ylabel("Employment (millions)")
ax1.set_title("Total Nonfarm Payroll Employment (CES, seasonally adjusted)")
ax1.grid(True, alpha=0.3)
ax1.legend(fontsize=9)
# Annotate COVID trough
trough_idx = combined["total_nonfarm"].idxmin()
trough_val = combined.loc[trough_idx, "total_nonfarm"]
ax1.annotate(
"COVID trough
" + str(trough_idx)[:7] + "
" + str(round(trough_val / 1000, 1)) + "M",
xy=(trough_idx, trough_val / 1000),
xytext=(pd.Timestamp("2021-06-01"), (trough_val / 1000) + 8),
arrowprops=dict(arrowstyle="->", color="black"),
fontsize=8,
)
# --- Bottom panel: 12-month job gains ---
ax2 = axes[1]
colors_bar = [
"#0b4a8f" if v >= 0 else "#c0392b"
for v in combined["job_gains_12m"].dropna()
]
ax2.bar(
combined["job_gains_12m"].dropna().index,
combined["job_gains_12m"].dropna().values / 1000,
width=28,
color=colors_bar,
alpha=0.8,
)
for rec_start, rec_end in recessions:
ax2.axvspan(pd.Timestamp(rec_start), pd.Timestamp(rec_end),
color="#e0e0e0", alpha=0.7)
ax2.axhline(0, color="black", linewidth=0.7)
ax2.set_ylabel("12-month job gain (millions)")
ax2.set_title("12-Month Change in Nonfarm Payrolls")
ax2.grid(True, alpha=0.3, axis="y")
plt.tight_layout()
plt.savefig("ces_payroll_chart.png", dpi=150, bbox_inches="tight")
print("Saved ces_payroll_chart.png")
# Print summary of latest data
latest_idx = combined.index[-1]
latest = combined.loc[latest_idx]
print("\nLatest CES snapshot (" + str(latest_idx)[:10] + "):")
print(" Total nonfarm employment: " + str(round(latest["total_nonfarm"] / 1000, 2)) + " million")
print(" Avg hourly earnings (private): $" + str(round(latest["ahe_private"], 2)))
print(" Leisure & hospitality employment: " + str(round(latest["leisure_hosp"] / 1000, 2)) + " million")
if not pd.isna(latest["job_gains_12m"]):
print(" 12-month payroll gain: " + str(round(latest["job_gains_12m"] / 1000, 2)) + " million")
The upper panel shows the employment level with COVID collapse and recovery visible as a sharp trough and recovery arc. The lower panel converts the level series into 12-month job gains, coloring positive bars navy and negative bars red, making recession impacts immediately legible. The printed summary at the end gives a current-month snapshot of all three series. To extend the analysis, add the CPS unemployment rate series (LNS14000000) to the SERIES dictionary and plot it on a secondary axis.
The BLS Job Openings and Labor Turnover Survey (JOLTS) is the essential complement to CES: where CES shows net payroll changes, JOLTS reveals the gross flows—openings, hires, quits, and layoffs—that produce them. The quit rate and Beveridge Curve from JOLTS are the metrics most frequently cited by the Federal Reserve when characterizing labor market tightness. See BLS JOLTS: The Job Openings and Labor Turnover Data Behind Every Fed Labor Market Statement.
Wage data from the CES average hourly earnings series pairs naturally with the Producer Price Index: rising wages feed into services-sector PPI, and the BLS PPI release often lands in the same week as the Employment Situation, giving analysts a combined picture of labor-cost and output-price pressures. See BLS PPI: The Producer Price Index and the Federal Inflation Dataset That Leads CPI.
How Americans actually allocate their time between paid work, unpaid household labor, and leisure is documented in the BLS American Time Use Survey—a complementary dataset to the CES employment counts that captures the labor supplied outside the payroll economy entirely. See BLS American Time Use Survey: The Federal Dataset Behind How Americans Actually Spend Their Time.