The 2017 BMW 2-Series sits at a median of $24,825 across live Canadian listings. Most cars land between $21,838 and $28,224, so that's the band you're negotiating inside. Anything under $21,800 deserves a hard look at why it's cheap. Anything over $28,200 needs to justify itself with low kilometres or a loaded trim.
Median mileage here is about 107,480 km, which is roughly what you'd expect on a car this age. Use that number as your anchor. A car well below it should command the top of the range, and one well above it should sit closer to the floor.
How kilometres and trim move the price
Mileage moves the needle by about $695 per 10,000 km. So a 2-Series with 70,000 km on it is worth roughly $2,600 more than one at the 107,000 km median, all else equal. That gives you a clean way to sanity-check any asking price: take the odometer, compare it to 107,480, and adjust by $695 for every 10,000 km of difference.
The two trims split cleanly. The 230i runs a median of $23,474, with a typical spread from $19,587 to $25,688. The M240i sits higher at $27,844, and its range is tight, $24,718 to $27,971. If you want the more potent car, budget for that gap. If badge and power aren't the priority, the 230i is the value play and gives you more room to find a cheap one at the bottom of its band.
We've flagged 12 deals on this model year in the last 90 days, so priced-right cars do surface. Know your target number before you start, and let the mileage math tell you when an asking price is fair.
Price by trim
| Trim | Median price | Typical range |
|---|---|---|
| M240I | $27,844 | $24,718–$27,971 |
| 230i | $23,474 | $19,587–$25,688 |
Numbers reflect live listings across Canada over the last 90 days, filtered for outliers. Data as of . Prices in CAD.