Machine Learning Engineer Salary in Minneapolis — 2026 BLS Data

$135K median base salary · Minneapolis
BLS OEWS · 2024 data

Salary distribution

Percentile breakdown of Machine Learning Engineer base salaries in Minneapolis.

The BLS OEWS May 2024 data for the Minneapolis-St. Paul-Bloomington metro area doesn’t publish a dedicated “Machine Learning Engineer” occupation code — that title doesn’t exist in BLS taxonomy. What BLS does publish is granular wage data for the two SOC codes that contain most MLE work: Data Scientists (15-2051) and Software Developers (15-1252). For Data Scientists in the Minneapolis MSA, the BLS-anchored figures via O*NET’s local wage lookup show a P50 of $119,860, a P25 of $89,920, and a P90 of $171,260. Software Developers in the metro sit materially higher. Machine Learning Engineers occupy a hybrid position — they are paid a documented 10-15% premium over pure data scientists because they combine statistical modeling with production engineering, but they rarely reach the Software Developer ceiling unless they are building ML infrastructure rather than modeling systems.

The $135,000 median in this page reflects that premium applied to the BLS data anchor, then cross-referenced against MLE-specific market surveys: Indeed’s December 2024 data shows a Minneapolis MLE average of $141,478 across 13 reported salaries; Built In’s Twin Cities data places the median at $132,875; ZipRecruiter’s mid-2026 figure comes in at $134,409. Those four data points cluster tightly enough — all within 5% of each other — to give reasonable confidence in the $135,000 midpoint as a working benchmark.

What the median hides: Minneapolis MLE pay distribution in detail

The P25-to-P90 spread runs from $98,000 to $192,000 — a 96% range across a single metro and a single functional title. That gap is not randomness; it maps directly onto employer type, seniority level, and specialization. Understanding the shape of the distribution matters more than memorizing the median.

P25 ($98,000) describes early-career MLEs and those in roles where the “machine learning” component is more aspirational than operational. This includes data scientists at regional insurance carriers who own one or two models in production, analysts at mid-market retailers doing batch scoring with scikit-learn, and engineers at consulting firms who support ML projects but don’t own them. Minneapolis has a large, stable corporate base — Allianz Life, Securian Financial, Ameriprise, Xcel Energy — that hires technical talent at competitive-but-not-aggressive compensation levels. Roles inside these organizations that carry MLE-adjacent titles frequently land in the $90,000-$110,000 range.

P50 ($135,000) is the mid-level MLE: three to six years of experience, owning a model pipeline end-to-end from feature engineering through deployment, with at least one serious production incident in their history that taught them something. At this salary point you’re inside a competitive band for a Machine Learning Engineer II at Target’s data science org, a senior data scientist at UnitedHealth Group’s Optum division, or an applied ML engineer at a well-funded Twin Cities startup. These roles involve real production stakes — models that affect healthcare authorization decisions, personalized retail recommendations serving millions of sessions per day, or agricultural commodity forecasting tools at Cargill.

P75 ($162,000) captures senior MLEs and those with high-demand specializations. In the Minneapolis market, P75 earners typically have six to ten years of experience, design the architecture of ML systems rather than just implement within an existing one, and mentor junior engineers. The healthcare and financial services sectors — which dominate the Twin Cities economy — have meaningful demand at this level for MLEs who can operate within compliance constraints (PHI handling, model explainability requirements for regulated lending) while still shipping at pace. 3M’s R&D division and UnitedHealth’s AI platform team both recruit at this level, as do digital health startups in the growing Minneapolis health-tech corridor.

P90 ($192,000) represents principal-level engineers and specialists in areas with acute supply shortages locally: MLOps platform architects, NLP/LLM engineers, and engineers with deep experience in real-time inference systems. At this level, the Minneapolis market is thin — the supply of candidates who have built production ML serving infrastructure at scale is small relative to demand, which gives those candidates disproportionate leverage. A handful of companies compete aggressively in this band: Medtronic for medical device ML (Class II and III device software), Target’s core AI team, and remote-eligible roles at coastal employers that publish “national” pay bands reaching into the $175,000-$210,000 range.

Hub comparison: where Minneapolis sits in the national MLE market

Minneapolis is a second-tier MLE market in nominal salary terms, and a first-tier market in cost-adjusted purchasing power. Understanding both frames matters depending on which decisions you’re making.

San Francisco is the obvious baseline. BLS OEWS May 2024 puts the Software Developer median in San Jose-Sunnyvale-Santa Clara at approximately $220,000 — the highest-paid metro for this occupation in the country. Mid-level MLE total comp at Bay Area tech firms (Amazon, Google, Meta, OpenAI) regularly runs $280,000-$400,000 once equity is included. Minneapolis’s $135,000 median base is roughly 38% below that. The nominal gap is real and wide.

Seattle runs $175,000-$195,000 for MLE base at mid-level. Amazon’s dominance in the Seattle market (and its back-loaded 5-15-40-40 RSU vesting schedule) creates a total comp profile that is significantly higher than base suggests in years three and four of a grant cycle. Minneapolis trails Seattle by approximately 25-30% on base.

Chicago is the most direct regional comparison. BLS OEWS May 2024 shows the Chicago-Naperville-Elgin metro with a Data Scientist median of approximately $120,000-$125,000, and the MLE market runs $140,000-$155,000 at mid-level. Minneapolis is slightly below Chicago on nominal salary — roughly $10,000-$15,000 at the median. Chicago’s COL index (approximately 107-110 on most measures) is nearly identical to Minneapolis, which means the purchasing-power differential is almost as small as the nominal one.

Dallas and Austin sit in comparable nominal territory to Minneapolis. The Dallas MLE median is approximately $130,000; Austin runs $145,000-$155,000 reflecting the post-2020 tech relocation premium. Both are lower-COL markets than Minneapolis, which narrows the real-purchasing-power difference further.

The COL-adjusted view changes the Minneapolis story considerably. With a cost-of-living index of 107 — just 7% above the US average — a $135,000 Minneapolis MLE salary has the purchasing power of approximately $126,000 at national average prices, or $82,000 in San Francisco (with its COL index near 178). The practical implication: an MLE choosing between a $135,000 Minneapolis offer and a $200,000 San Francisco offer should model the after-housing comparison carefully before treating the SF premium as pure gain.

What drives the spread: company tier, level, and specialty

Three variables explain most of the P25-to-P90 variance in the Minneapolis MLE market independently of raw years of experience.

Company tier

The employer sets the ceiling more than any other variable in Minneapolis. The Twin Cities corporate landscape breaks into four pay tiers for ML roles.

Fortune 500 headquarters. Minneapolis has an unusually high concentration of Fortune 500 company headquarters for its size: Target, UnitedHealth Group, Best Buy, 3M, General Mills, Cargill, Land O’Lakes, and Ameriprise are all based in the metro. These employers hire MLEs for meaningful work — production recommendation systems, claims fraud detection, medical device software — and pay in the $120,000-$175,000 range for mid-to-senior individual contributors. Equity participation for IC-level MLEs varies widely: Target and Best Buy offer RSU programs; Cargill (private) and many financial firms do not offer equity to ICs at all, substituting with higher cash compensation and profit sharing.

High-growth startups and health-tech. The Twin Cities health-tech ecosystem is substantive — Bright Health (pre-restructuring), Bind Benefits, Novu Health, and a cluster of digital health companies funded by healthcare-adjacent strategic investors. These employers pay $130,000-$180,000 for senior MLEs with equity upside. The equity profile is less certain than a publicly-traded RSU grant, but the ML problems are often more complex than equivalent corporate roles.

Academic and nonprofit adjacents. The University of Minnesota, Mayo Clinic (whose data science teams draw from both Rochester and Minneapolis), and a constellation of nonprofits employing data scientists for public health and social service work represent a meaningful employer segment. These roles pay $80,000-$120,000 — below market for MLEs with equivalent commercial experience — but offer mission alignment that some candidates weight.

Remote at coastal comp. An increasingly important Minneapolis-based segment: engineers employed by Bay Area, NYC, or Seattle companies at “national” or metro-specific pay bands. These roles land $165,000-$210,000+ base, appearing in BLS data as Minneapolis-area employment while paying significantly above the local median. This segment suppresses the BLS estimates’ relevance for engineers who can access remote roles.

Level and scope

BLS collapses all experience levels into a single occupation code, which is why the distribution is so wide. A rough level map for Minneapolis:

  • Entry (0-2 years): $85,000-$100,000. Model training support, data pipeline work, limited deployment ownership.
  • Mid-level (3-5 years): $110,000-$145,000. Owns full model lifecycle, some cross-team coordination.
  • Senior (6-9 years): $145,000-$175,000. System design decisions, mentors others, works across product areas.
  • Staff/Principal (10+ years): $175,000-$215,000. Defines ML architecture at organizational scope; sometimes externally visible through publications or open-source contributions.

Specialty and skill premium

Minneapolis’s dominant industries — healthcare, financial services, retail, and agriculture — create predictable demand signals.

Healthcare ML is the highest-volume specialty locally. UnitedHealth Group’s Optum subsidiary is one of the largest healthcare AI operations in the country, employing hundreds of data scientists and MLEs. Work in this domain requires familiarity with clinical NLP, predictive modeling under PHI constraints, and FDA SaMD (Software as a Medical Device) considerations for device-adjacent work at Medtronic or 3M. These specializations command 10-20% premiums over generalist ML work.

MLOps and ML platform engineering commands a consistent 15-20% premium in Minneapolis, for the same reason it does everywhere: companies are accumulating ML debt faster than they are building the infrastructure to manage it. Engineers who can build and operate model registries, feature stores, and real-time serving pipelines are in short supply relative to demand.

LLM and generative AI engineering is driving a premium that didn’t exist in the 2022 BLS data cycle. Experience with retrieval-augmented generation (RAG) pipelines, fine-tuning large language models for enterprise use cases, and building evaluation frameworks for non-deterministic outputs is commanding 15-25% above baseline in current job postings as of mid-2026.

Computer vision has steady demand from 3M (optical systems, industrial inspection), agricultural firms (Cargill, Trimble for precision agriculture), and the defense contractor presence (Honeywell’s aerospace division in suburban Minneapolis).

Total compensation breakdown

For a mid-level MLE (P50 base, $135,000) at a typical Minneapolis Fortune 500 or growth-stage company, the full package looks like this:

Base salary: $135,000. This is the BLS-anchored figure. Minnesota passed salary range disclosure requirements as part of broader labor transparency legislation; employers with ten or more employees posting jobs in the state must include salary ranges starting in January 2025. This means current job postings are increasingly transparent about bands — use them. At a Fortune 500 company, the MLE mid-level band typically runs $120,000-$155,000, with the $135,000 figure sitting close to band midpoint.

Annual bonus: $14,000. Most Minneapolis corporate employers offer IC-level annual bonuses of 8-12% of base, paid once per year contingent on company and individual performance. Financial services firms (Ameriprise, Securian) run at the high end of this range; healthcare tech firms often structure bonuses as a combination of individual and company targets. In a flat year expect 70-85% of target; in a strong year, sometimes 110-120%.

Annualized equity: $20,000. This is the highest-variance component. At publicly-traded Fortune 500s (Target, Best Buy, 3M), mid-level MLE RSU grants typically run $60,000-$90,000 over four years, which annualizes to $15,000-$22,500. At Cargill and other private employers there is frequently no equity for IC-level roles; at early-stage startups the nominal grant may be larger but the probability-weighted value lower. Health-tech startups commonly offer options-based grants that require independent modeling to compare against RSU packages.

Total at median: approximately $169,000. ZipRecruiter’s most recent Minneapolis-area total comp data and Glassdoor’s figure of $137,758 average salary plus typical bonus components aligns with this range for a mid-level practitioner at an established employer. At P75 ($162,000 base), total comp runs approximately $195,000-$205,000. At P90 ($192,000 base), total comp at a major employer with a meaningful RSU program can reach $235,000-$255,000.

Cost-of-living adjusted perspective

Minneapolis’s COL index of 107 is one of the better-kept secrets in tech compensation benchmarking. The metro gets classified as “Midwest mid-tier” in salary databases that don’t adjust for cost, obscuring the fact that its real-dollar purchasing power is substantially better than those databases imply.

Housing is the decisive variable. Median one-bedroom apartment rent in Minneapolis proper runs approximately $1,400-$1,700/month as of 2025 — roughly half the San Francisco equivalent and meaningfully below Seattle ($2,000-$2,400) and Boston ($2,900-$3,200). A mid-level MLE earning $135,000 in Minneapolis is spending roughly 15-18% of gross income on a market-rate one-bedroom, compared with 25-30% for a comparable role in San Francisco at $195,000.

The COL-adjusted comparison across markets:

CityMLE Median BaseCOL IndexPurchasing Power Equivalent
Minneapolis$135,000107$126,168
San Francisco~$195,000~178$109,551
Seattle~$175,000~155$112,903
Boston~$152,000~151$100,662
Chicago~$145,000~109$133,028
Dallas~$130,000~106$122,642

(Purchasing power equivalent = city salary ÷ (COL index / 100))

Minneapolis’s $126,168 COL-adjusted figure exceeds San Francisco, Seattle, and Boston — the three cities that dominate tech salary discourse. It trails Chicago by a small margin. This does not mean the Minneapolis MLE earns more in real terms than their Boston counterpart in every scenario; it means that at current wage and housing price levels, the average cost structure makes Minneapolis salaries go further than their nominal position suggests.

The important caveat: state income tax in Minnesota is high by national standards. Minnesota’s top marginal rate is 9.85% on income over $183,341 (2024 threshold), and the effective rate for a $135,000 earner is approximately 6-7% of gross. Texas (Dallas) and Washington (Seattle) have no state income tax. That difference costs a $135,000 Minneapolis earner approximately $8,000-$9,000 per year relative to a Dallas peer at the same salary — real money that doesn’t appear in any cost-of-living index. Net of state income tax, the purchasing-power advantage over San Francisco and Seattle remains, but the gap versus Dallas narrows substantially.

Three-lever negotiation playbook

Minneapolis has specific negotiation dynamics. The market is not as bidding-war-driven as San Francisco or Seattle, which means leverage must be constructed deliberately rather than assumed.

Lever 1: Use Minnesota’s salary range disclosure law

As of January 2025, Minnesota employers with ten or more employees must include a salary range in all job postings. This is one of the most impactful information shifts in recent years for Minnesota job seekers. Before entering any negotiation, find the current posting for the role or the most recent posting for an equivalent role. The band is legally required to be there. Anchor your negotiation at the midpoint of the posted band, not the bottom. Many candidates — particularly those making lateral moves from lower-paying industries or regions — anchor at their current salary rather than at band midpoint, leaving $15,000-$25,000 on the table.

If the band is unusually wide (e.g., $100,000-$175,000 for a single title), ask the recruiter where in the band prior hires have landed and what drives placement within it. This is a direct, professionally acceptable question in 2025 Minnesota and it extracts information that shifts the conversation in your favor.

Lever 2: Quantify the specialization premium explicitly

Minneapolis employers, especially large corporate ones, respond to data more readily than to abstract negotiation pressure. If your specialty — healthcare NLP, MLOps platform engineering, LLM fine-tuning, computer vision — aligns with an area of documented local demand, name that alignment specifically and tie it to numbers.

“I’ve spent three years building model serving infrastructure at scale. Your job description mentions model latency and reliability as core concerns — that’s exactly the operational problem I’ve solved twice. Engineers with that background are commanding $155,000-$175,000 in active Minneapolis job postings right now; I’m asking for $152,000.” That framing is specific, market-grounded, and non-adversarial. It gives the hiring manager something concrete to bring to a compensation discussion with their HR partner — a specific market data point, not just a candidate preference.

The salary range disclosure law makes this even more actionable: if the posting shows a band of $130,000-$170,000 and you have a specialization that maps to the top of the market, justify why you belong at $165,000, not why you don’t want $135,000.

Lever 3: Total-comp engineering for equity-light employers

A significant portion of the Minneapolis MLE employer base — private companies, financial services firms, the academic-adjacent sector — either doesn’t offer equity to IC-level MLEs or offers it in forms (profit sharing, deferred comp) that are genuinely difficult to compare against RSU grants. When base and bonus are the primary levers, target these:

Annual bonus target percentage. Many corporate employers have standard IC bonus targets of 8-10% but will negotiate to 12-15% for senior roles if the case is made. A 3% shift on $135,000 base is $4,050/year — not transformative, but it compounds annually and requires zero additional budget approval in most organizations because it’s a target shift, not a budget commitment.

Accelerated review cycle. A 6-month rather than 12-month first performance review, with a stated merit increase pathway if performance targets are met, is negotiable at most Minneapolis employers and is rarely offered unsolicited. If you’re starting below the band midpoint (common for candidates making industry transitions or geographic moves), this is the mechanism to close that gap within 12-18 months rather than waiting for an annual cycle.

Remote flexibility and the geographic arbitrage play. Minneapolis has excellent remote infrastructure and a growing number of MLE roles that are formally hybrid but practically flexible. A hybrid arrangement that eliminates two to three days per week of commuting from a suburban location effectively adds $3,000-$6,000 in real annual value (time + cost) without any additional salary outlay. More importantly, it opens access to fully remote roles from coastal employers without relocation — a category that, as noted, pays $165,000-$210,000+ for engineers with strong production ML backgrounds.

Sign-on bonus for unvested equity replacement. If you are leaving unvested RSUs or options at a previous employer, document the forfeited value (the spread between grant price and current price for options, or the current share price for unvested RSUs) and ask explicitly for a make-whole sign-on payment. This is standard practice at tech-sector employers and increasingly recognized at Minneapolis corporate employers. Recruiters will almost never offer this proactively; they will almost always accommodate a reasonable request when it’s backed by a specific number.

Data caveats

BLS OEWS does not publish “Machine Learning Engineer” as a standalone SOC code. The percentiles in this page derive from two BLS sources: (1) the Minneapolis-St. Paul-Bloomington MSA Data Scientist (15-2051) wage distribution from the O*NET local wage lookup tool reflecting BLS OEWS 2024 survey data — P25: $89,920, P50: $119,860, P75: $144,200, P90: $171,260 — and (2) cross-referencing with MLE-specific market surveys showing the premium MLEs command over generalist data scientists. The MLE percentile figures presented here apply a 10-15% premium for production engineering depth and reflect the mix of MLE roles locally that blend data science and software engineering responsibilities.

Equity is entirely absent from BLS figures. For any employer with a meaningful RSU or options program, total comp exceeds the base figures here by 10-25% at mid-level and 20-40% at senior levels. Use Levels.fyi — which does capture equity — to supplement for roles at companies large enough to appear in their database.

The May 2024 BLS data reflects wages from spring 2024. The AI/ML specialization premium has continued expanding through 2025-2026 as generative AI deployment demands outpace the supply of engineers with production LLM infrastructure experience. Engineers with LLM fine-tuning, RAG pipeline design, or inference optimization backgrounds should treat the P75-P90 range as their relevant benchmark in 2026, not the median.

Minnesota’s salary disclosure law (effective January 2025) means posted salary ranges are now available for a majority of MLE roles in the state. These ranges — directly from employers — are more current and employer-specific than any survey can be. Combine the BLS anchor for the population-level distribution, active job posting ranges for current employer-specific bands, and Levels.fyi for total comp at companies in their database. That triangulation gets you within 8-12% of a defensible negotiation number before your first recruiter call.