{"schema_version": 1, "id": "grand-rapids-wyoming-mi-msa/metro-job-market/2026-09", "product": "Metro Job Market Pulse", "metro": {"geography_id": 288, "label": "Grand Rapids-Wyoming, MI MSA", "slug": "grand-rapids-wyoming-mi-msa"}, "focus_area": {"key": "general_conditions", "slug": "metro-job-market", "label": "General Market Conditions"}, "period": "2026-09", "public_after": "2026-09-01", "frozen_at": "2026-10-09T13:39:29.245744+00:00", "headline": "Grand Rapids wages outpace a softening Michigan labor market.", "headline_summary": "Kent County wages grew 5.7% year-over-year even as Michigan's statewide unemployment rate rose to 5.0% on a 25,000-person workforce contraction, with local tech pay splitting sharply between a 130,500-dollar Software Engineer median and a falling Data Engineer figure.", "key_indicators": [{"label": "Kent County wage growth", "value": "5.7%", "context": "vs Michigan's 3.2-3.5% statewide 2026 forecast"}, {"label": "Michigan unemployment rate", "value": "5.0%", "context": "Up from 4.9% in July; 0.9 pts above U.S. rate"}, {"label": "Grand Rapids government postings", "value": "+31.1% YoY", "context": "City of GR, vs national 216K govt job decline"}, {"label": "National real wage growth", "value": "3.0% vs 3.4% CPI", "context": "Weakest wage reading since May 2021"}], "takeaways": [{"headline": "Kent County wages are outrunning the state, not just the nation.", "body": "5.7% average weekly wage growth in Kent County significantly exceeds Michigan's projected 3.2-3.5% statewide pace for 2026, even as the state's broader labor force shrank 0.5% in a single month. That divergence positions the metro as a relative bright spot worth distinguishing from statewide headlines in any public economic commentary."}, {"headline": "Tech wage data is splitting into winners and losers locally.", "body": "Software Engineer advertised pay rose significantly to $130,500 while Data Engineer pay fell significantly to $116,877, a sharper local divergence than seen nationally. This is consistent with AI-skill premiums reshaping demand within the tech sector rather than a broad-based cooling of local tech activity."}, {"headline": "Public-sector postings suggest local government stability, not contraction.", "body": "City of Grand Rapids active job postings rose 31.1% year-over-year as of March, running counter to the national trend of a 216,000 government job decline over the past year. For a metro economy, steady public payroll activity is a stabilizing signal worth tracking against the national pattern."}, {"headline": "Skilled trades pay gains point to tangible, hands-on sector strength.", "body": "Electrician pay rose moderately to $72,280 and CDL Truck Driver pay rose significantly to $76,273 locally, both outpacing several white-collar categories. This pattern mirrors the national split between hands-on sectors (healthcare, construction) and softer white-collar activity, suggesting the metro's blue-collar base remains a genuine source of economic momentum."}], "local_conditions": "Grand Rapids-Wyoming-Kentwood labor market conditions remain comparatively resilient against a softening state backdrop, with Kent County wages up 5.7% year-over-year even as Michigan's statewide unemployment rate climbed to 5.0% in August on a 25,000-person workforce contraction. Local advertised pay data show divergence beneath the surface \u2014 CDL Truck Driver and Software Engineer postings up significantly while Data Engineer pay fell significantly, consistent with a metro economy where healthcare, skilled trades and select tech niches are absorbing demand while white-collar technical roles face recalibration.", "implications": "Metro-level wage resilience amid statewide labor force contraction suggests Grand Rapids is, for now, insulated from the structural softening affecting Michigan's manufacturing-heavy regions, which matters directly for site-selection and local investment decisions by commerce leaders. Public-sector stability \u2014 illustrated by the City of Grand Rapids' 31.1% year-over-year increase in active postings as of March \u2014 offers a counterweight to national government payroll contraction, a signal regional economic development bodies may want to highlight when benchmarking the metro against peer markets. Current conditions suggest monitoring whether Kent County's wage growth (5.7%) continues to outpace the state's 3.2-3.5% 2026 forecast, as a widening gap would reinforce the metro's relative-strength narrative to prospective employers and investors.", "looking_ahead": [{"category": "Worth watching", "body": "Michigan's statewide unemployment rate has risen for two consecutive months to 5.0%, 0.9 points above the national rate. Whether Kent County's relative wage strength holds through the next DTMB release will clarify whether Grand Rapids is genuinely decoupling from the state trend or simply lagging it."}, {"category": "Emerging pressure point", "body": "Michigan manufacturing posted the state's largest over-the-month employment decline in August, and cyclical industries statewide are projected to lose 16,300 jobs in 2026. Grand Rapids' manufacturing and logistics base \u2014 tied closely to statewide supply chains \u2014 warrants monitoring for spillover even absent local WARN notices to date."}, {"category": "Potential inflection point", "body": "National wage growth slipped to 3.0% against 3.4% inflation in September, the weakest real-wage reading since 2021. If that national gap persists, it could pressure local consumer spending even where metro-specific wage growth (5.7% in Kent County) currently looks strong on paper."}, {"category": "Early indicator", "body": "AI-related job postings in Greater Grand Rapids have more than doubled since 2022 with wages up 27% year-over-year. Tracking whether this translates into broader local tech-sector job counts, versus concentrated gains in a narrow set of roles, will matter for assessing the durability of the metro's tech narrative."}], "roles": [{"role": "Retail Sales Associate", "data_scope": "metro", "metro_p25": 25155.25, "metro_p50": 30160.0, "metro_p75": 32856.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 33325.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Retail Cashier", "data_scope": "metro", "metro_p25": 25730.0, "metro_p50": 29120.0, "metro_p75": 31200.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 31200.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Warehouse/Fulfillment Associate", "data_scope": "metro", "metro_p25": 31552.0, "metro_p50": 37440.0, "metro_p75": 39520.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 38000.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "CDL Truck Driver", "data_scope": "metro", "metro_p25": 56160.0, "metro_p50": 76273.0, "metro_p75": 87506.0, "metro_trend_direction": "up", "metro_trend_magnitude": "significant", "national_p50": 78000.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Delivery Driver", "data_scope": "metro", "metro_p25": 29165.0, "metro_p50": 35043.8, "metro_p75": 39626.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 34344.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Construction Laborer", "data_scope": "metro", "metro_p25": 34320.0, "metro_p50": 38480.0, "metro_p75": 41600.0, "metro_trend_direction": "down", "metro_trend_magnitude": "moderate", "national_p50": 40560.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Electrician", "data_scope": "metro", "metro_p25": 60626.75, "metro_p50": 72280.0, "metro_p75": 78000.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 71404.0, "national_trend_direction": "up", "national_trend_magnitude": "significant"}, {"role": "Manufacturing Production Worker/Assembler", "data_scope": "metro", "metro_p25": 32569.25, "metro_p50": 38937.0, "metro_p75": 40560.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 39520.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Customer Service Representative", "data_scope": "metro", "metro_p25": 32309.0, "metro_p50": 37657.0, "metro_p75": 42640.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 39520.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Food Service Worker", "data_scope": "metro", "metro_p25": 29403.0, "metro_p50": 32240.0, "metro_p75": 33384.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 33756.2, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Certified Nursing Assistant / Home Health Aide", "data_scope": "metro", "metro_p25": 33280.0, "metro_p50": 39395.0, "metro_p75": 42640.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 41106.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Administrative Assistant/Office Clerk", "data_scope": "metro", "metro_p25": 35887.25, "metro_p50": 40560.0, "metro_p75": 43680.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 43680.0, "national_trend_direction": "up", "national_trend_magnitude": "moderate"}, {"role": "HVAC Technician", "data_scope": "metro", "metro_p25": 60917.0, "metro_p50": 61101.0, "metro_p75": 66800.5, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 70720.0, "national_trend_direction": "up", "national_trend_magnitude": "moderate"}, {"role": "Registered Nurse", "data_scope": "metro", "metro_p25": 77763.0, "metro_p50": 89717.0, "metro_p75": 95853.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 102581.0, "national_trend_direction": "up", "national_trend_magnitude": "significant"}, {"role": "Software Engineer", "data_scope": "metro", "metro_p25": 102548.0, "metro_p50": 130500.0, "metro_p75": 151500.0, "metro_trend_direction": "up", "metro_trend_magnitude": "significant", "national_p50": 153652.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Data Engineer", "data_scope": "metro", "metro_p25": 90697.5, "metro_p50": 116877.0, "metro_p75": 133458.0, "metro_trend_direction": "down", "metro_trend_magnitude": "significant", "national_p50": 139500.0, "national_trend_direction": "up", "national_trend_magnitude": "moderate"}, {"role": "Accountant", "data_scope": "metro", "metro_p25": 58016.25, "metro_p50": 68733.0, "metro_p75": 72572.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 72182.0, "national_trend_direction": "up", "national_trend_magnitude": "moderate"}, {"role": "Financial Analyst", "data_scope": "metro", "metro_p25": 67071.0, "metro_p50": 77500.0, "metro_p75": 88735.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 94782.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "HR Generalist/Manager", "data_scope": "metro", "metro_p25": 59636.0, "metro_p50": 72370.0, "metro_p75": 78000.0, "metro_trend_direction": "up", "metro_trend_magnitude": "moderate", "national_p50": 75000.0, "national_trend_direction": "up", "national_trend_magnitude": "significant"}, {"role": "Marketing Specialist", "data_scope": "metro", "metro_p25": 49784.0, "metro_p50": 58423.2, "metro_p75": 65038.75, "metro_trend_direction": "up", "metro_trend_magnitude": "significant", "national_p50": 62354.4, "national_trend_direction": "up", "national_trend_magnitude": "moderate"}, {"role": "Operations Manager", "data_scope": "state_rollup", "metro_p25": 61250.0, "metro_p50": 81693.0, "metro_p75": 90662.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 85216.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Elementary/Secondary School Teacher", "data_scope": "metro", "metro_p25": 35360.0, "metro_p50": 51727.0, "metro_p75": 57064.75, "metro_trend_direction": "up", "metro_trend_magnitude": "significant", "national_p50": 56731.0, "national_trend_direction": "up", "national_trend_magnitude": "significant"}, {"role": "Account Manager", "data_scope": "metro", "metro_p25": 57799.0, "metro_p50": 78629.0, "metro_p75": 90000.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 92749.0, "national_trend_direction": "up", "national_trend_magnitude": "significant"}, {"role": "Warehouse Manager", "data_scope": "state_rollup", "metro_p25": 48388.0, "metro_p50": 65000.0, "metro_p75": 80378.0, "metro_trend_direction": "stable", "metro_trend_magnitude": "stable", "national_p50": 75000.0, "national_trend_direction": "stable", "national_trend_magnitude": "stable"}, {"role": "Business Analyst", "data_scope": "metro", "metro_p25": 76436.0, "metro_p50": 93966.8, "metro_p75": 104525.0, "metro_trend_direction": "up", "metro_trend_magnitude": "significant", "national_p50": 98279.0, "national_trend_direction": "up", "national_trend_magnitude": "moderate"}], "industry_snapshot": [{"sector": "Construction", "median_pay": 61125.0, "pay_trend_direction": "up", "pay_trend_magnitude": "significant", "postings_trend_direction": "up", "postings_trend_magnitude": "significant"}, {"sector": "Manufacturing", "median_pay": 65000.0, "pay_trend_direction": "up", "pay_trend_magnitude": "significant", "postings_trend_direction": "up", "postings_trend_magnitude": "moderate"}, {"sector": "Retail Trade", "median_pay": 35890.0, "pay_trend_direction": "up", "pay_trend_magnitude": "moderate", "postings_trend_direction": "down", "postings_trend_magnitude": "moderate"}, {"sector": "Transportation, Warehousing & Utilities", "median_pay": 45907.0, "pay_trend_direction": "up", "pay_trend_magnitude": "significant", "postings_trend_direction": "down", "postings_trend_magnitude": "significant"}, {"sector": "Information", "median_pay": 76261.5, "pay_trend_direction": "up", "pay_trend_magnitude": "significant", "postings_trend_direction": "up", "postings_trend_magnitude": "significant"}, {"sector": "Financial Activities", "median_pay": 68304.0, "pay_trend_direction": "up", "pay_trend_magnitude": "moderate", "postings_trend_direction": "up", "postings_trend_magnitude": "moderate"}, {"sector": "Professional & Business Services", "median_pay": 45328.0, "pay_trend_direction": "down", "pay_trend_magnitude": "moderate", "postings_trend_direction": "down", "postings_trend_magnitude": "moderate"}, {"sector": "Education & Health Services", "median_pay": 46937.5, "pay_trend_direction": "up", "pay_trend_magnitude": "moderate", "postings_trend_direction": "down", "postings_trend_magnitude": "significant"}, {"sector": "Leisure & Hospitality", "median_pay": 33280.0, "pay_trend_direction": "stable", "pay_trend_magnitude": "stable", "postings_trend_direction": "down", "postings_trend_magnitude": "moderate"}, {"sector": "Government", "median_pay": 67320.0, "pay_trend_direction": "up", "pay_trend_magnitude": "significant", "postings_trend_direction": "down", "postings_trend_magnitude": "significant"}], "citations": [], "methodology": "Advertised pay from active employer job postings, not survey data. WageScape's median is calibrated to correct for spurious low-value postings: distribution analysis shows roughly the lowest 10% of raw values are erroneous entries, so the reported median is the 60th percentile of raw advertised pay.", "edition_label": "October 2026", "files": {"html": "grand-rapids-wyoming-mi-msa/metro-job-market/2026-09.html", "pdf": "grand-rapids-wyoming-mi-msa/metro-job-market/2026-09.pdf", "sources_html": "grand-rapids-wyoming-mi-msa/metro-job-market/2026-09.sources.html"}, "published_at": "2026-10-09T13:51:01.792212+00:00", "report_html_url": "https://reports.wagescape.com/archive/v1/editions/grand-rapids-wyoming-mi-msa/metro-job-market/2026-09.html", "report_pdf_url": "https://reports.wagescape.com/archive/v1/editions/grand-rapids-wyoming-mi-msa/metro-job-market/2026-09.pdf"}