Appreciation Velocity — Minnesota Cities
Cities of Minnesota ranked by 1Y / 3Y / 5Y home-price appreciation.
Public Record
Top 10 — 5Y appreciation (Citys)
#1 · Beaver Creek, MN
+1,927.3%
#2 · Bovey, MN
+1,209.8%
#3 · Wykoff, MN
+895.2%
#4 · Orono, MN
+702.9%
#5 · Le Sueur, MN
+533.8%
#6 · Mazeppa, MN
+464.3%
#7 · Aurora, MN
+367.2%
#8 · Dundas, MN
+328.4%
#9 · Cleveland, MN
+311.2%
#10 · Garfield, MN
+282.5%
City ranking — 5Y appreciation (highest first)
| # | City | State | 1Y | 3Y | 5Y | 10Y | Current median |
|---|---|---|---|---|---|---|---|
| 1 | Beaver Creek, MN | MN | +62.9% | +417.6% | +1,927.3% | +443.9% | $446K |
| 2 | Bovey, MN | MN | +711.5% | +950.6% | +1,209.8% | +1,744.0% | $2.12M |
| 3 | Wykoff, MN | MN | +176.6% | — | +895.2% | — | $627K |
| 4 | Orono, MN | MN | +227.1% | +387.4% | +702.9% | +577.0% | $5.31M |
| 5 | Le Sueur, MN | MN | +385.6% | +206.7% | +533.8% | +527.0% | $987.5K |
| 6 | Mazeppa, MN | MN | +26.2% | +13.6% | +464.3% | +232.9% | $483K |
| 7 | Aurora, MN | MN | +102.8% | +158.8% | +367.2% | +266.8% | $354K |
| 8 | Dundas, MN | MN | +151.1% | +389.8% | +328.4% | +424.6% | $875K |
| 9 | Cleveland, MN | MN | +199.5% | — | +311.2% | +133.8% | $549.9K |
| 10 | Garfield, MN | MN | +262.9% | — | +282.5% | +261.6% | $447.4K |
| 11 | Minneota, MN | MN | — | — | +275.3% | +157.0% | $501K |
| 12 | Nashwauk, MN | MN | +200.7% | +249.3% | +271.8% | — | $489K |
| 13 | Sandstone, MN | MN | +143.5% | +314.0% | +268.1% | +219.0% | $523K |
| 14 | Bagley, MN | MN | +36.7% | +21.8% | +251.5% | +128.7% | $410K |
| 15 | Linwood, MN | MN | +9.7% | +14.7% | +249.9% | +33.3% | $349.9K |
| 16 | Glyndon, MN | MN | +50.0% | +69.6% | +242.9% | +267.1% | $420K |
| 17 | Wadena, MN | MN | +113.2% | +130.7% | +239.6% | +459.8% | $493.8K |
| 18 | Hutchinson, MN | MN | +58.0% | +153.1% | +236.6% | +284.6% | $563.5K |
| 19 | Mound, MN | MN | +107.6% | +229.3% | +232.9% | +393.1% | $1.39M |
| 20 | Cokato, MN | MN | +3.0% | +114.1% | +226.7% | +152.3% | $379K |
| 21 | Afton, MN | MN | +103.7% | +108.3% | +212.5% | +316.7% | $1.95M |
| 22 | Elgin, MN | MN | -44.9% | — | +211.4% | +106.3% | $300K |
| 23 | Lake Lillian, MN | MN | +133.3% | +42.3% | +208.4% | +162.2% | $350K |
| 24 | Chaska, MN | MN | +74.8% | +109.6% | +207.8% | +256.4% | $1.1M |
| 25 | Elysian, MN | MN | +229.8% | +465.7% | +206.4% | +528.8% | $775K |
| 26 | Fergus Falls, MN | MN | +148.8% | +196.6% | +204.9% | +304.2% | $482K |
| 27 | Ham Lake, MN | MN | -44.1% | +76.7% | +194.7% | +201.4% | $808.2K |
| 28 | Wabasha, MN | MN | +45.6% | +139.8% | +188.0% | +359.3% | $563.3K |
| 29 | Isle, MN | MN | +157.7% | +234.0% | +175.8% | +390.9% | $835K |
| 30 | Norwood Young America, MN | MN | +43.4% | +56.6% | +175.2% | +163.1% | $399.9K |
| 31 | Pequot Lakes, MN | MN | -46.5% | +25.7% | +175.1% | +292.0% | $842.1K |
| 32 | Alden, MN | MN | — | +578.4% | +172.7% | — | $450K |
| 33 | Hinckley, MN | MN | +151.9% | +52.0% | +170.3% | +83.7% | $384K |
| 34 | Dodge Center, MN | MN | +81.3% | +1,344.6% | +168.0% | +525.6% | $469.5K |
| 35 | Silver Lake, MN | MN | +90.9% | +90.0% | +167.8% | +228.8% | $380K |
| 36 | Pine City, MN | MN | +39.5% | +31.3% | +166.9% | +183.1% | $435K |
| 37 | Wyoming, MN | MN | +58.8% | +64.9% | +164.0% | +122.2% | $489.8K |
| 38 | North Oaks, MN | MN | +48.1% | +93.9% | +156.4% | +116.2% | $1.7M |
| 39 | Morris, MN | MN | +166.6% | +247.4% | +147.1% | +214.5% | $486.3K |
| 40 | Kilkenny, MN | MN | — | +39.9% | +144.9% | — | $500K |
| 41 | Nicollet, MN | MN | +13.0% | — | +144.2% | +111.4% | $370K |
| 42 | Shorewood, MN | MN | +9.0% | +85.9% | +143.3% | +70.0% | $1.41M |
| 43 | Worthington, MN | MN | +46.4% | +266.0% | +141.9% | +219.0% | $466.1K |
| 44 | Brook Park, MN | MN | +73.2% | +89.3% | +138.3% | +114.9% | $355K |
| 45 | Ogilvie, MN | MN | +37.1% | +74.0% | +132.0% | +308.0% | $344.5K |
| 46 | Stacy, MN | MN | +28.0% | +156.4% | +129.8% | +202.0% | $601.4K |
| 47 | Pipestone, MN | MN | +54.4% | +37.2% | +127.2% | +117.5% | $221.5K |
| 48 | Shafer, MN | MN | +40.4% | — | +125.1% | +1,900.0% | $700K |
| 49 | Plainview, MN | MN | -3.1% | +29.8% | +124.3% | +69.4% | $292K |
| 50 | Golden Valley, MN | MN | +49.2% | +175.2% | +124.0% | +91.4% | $760.1K |
| 51 | Wayzata, MN | MN | +12.0% | +83.2% | +121.3% | +73.2% | $1.63M |
| 52 | Two Harbors, MN | MN | +58.0% | +64.1% | +118.9% | +139.3% | $349.8K |
| 53 | Zumbrota, MN | MN | +9.7% | +82.0% | +118.2% | +124.9% | $435K |
| 54 | Britt, MN | MN | — | — | +115.5% | +71.1% | $522K |
| 55 | Canby, MN | MN | +176.7% | +992.1% | +115.2% | +200.9% | $207.5K |
| 56 | Medina, MN | MN | +42.9% | +354.1% | +115.0% | +128.5% | $1.6M |
| 57 | Little Falls, MN | MN | +51.0% | +132.9% | +114.9% | +158.8% | $343.3K |
| 58 | Kasson, MN | MN | +8.9% | +27.7% | +111.1% | +140.4% | $380.8K |
| 59 | Granite Falls, MN | MN | +36.4% | — | +109.3% | +247.1% | $147.5K |
| 60 | Swatara, MN | MN | +28.6% | — | +103.4% | — | $180K |
| 61 | Owatonna, MN | MN | +29.3% | -19.9% | +101.2% | +85.2% | $285.5K |
| 62 | Rush City, MN | MN | -19.8% | +18.2% | +100.5% | +125.6% | $330K |
| 63 | Baxter, MN | MN | +54.3% | +69.8% | +99.4% | +135.1% | $458.8K |
| 64 | Hoyt Lakes, MN | MN | +35.7% | +39.2% | +98.8% | +149.5% | $154.7K |
| 65 | Clear Lake, MN | MN | +13.5% | +62.8% | +97.7% | +126.7% | $385.7K |
| 66 | Williams, MN | MN | +37.9% | +286.0% | +97.3% | +520.0% | $386K |
| 67 | Crosslake, MN | MN | +17.4% | -7.0% | +96.1% | +204.8% | $819.3K |
| 68 | Backus, MN | MN | -0.1% | +53.7% | +95.2% | +161.9% | $380.5K |
| 69 | Winthrop, MN | MN | +18.9% | — | +95.2% | +239.5% | $235K |
| 70 | Byron, MN | MN | +1.9% | +138.1% | +94.5% | +76.2% | $530.7K |
| 71 | Milaca, MN | MN | +22.0% | +72.3% | +93.9% | +114.7% | $327.5K |
| 72 | Miltona, MN | MN | -8.2% | — | +92.4% | — | $400K |
| 73 | East Bethel, MN | MN | +13.6% | +90.8% | +91.0% | +144.9% | $596.1K |
| 74 | Janesville, MN | MN | +8.1% | +1.9% | +90.7% | +129.7% | $285.2K |
| 75 | Vernon Center, MN | MN | +146.7% | — | +90.7% | +266.0% | $185K |
| 76 | Gilbert, MN | MN | +48.1% | — | +90.3% | -5.1% | $232.5K |
| 77 | Cosmos, MN | MN | — | — | +90.0% | +336.7% | $379.9K |
| 78 | Outing, MN | MN | — | — | +89.7% | +95.6% | $400K |
| 79 | Albert Lea, MN | MN | -8.6% | +96.1% | +89.4% | +106.7% | $214.9K |
| 80 | Prior Lake, MN | MN | +3.2% | -12.7% | +89.0% | +133.1% | $901K |
| 81 | Lake Elmo, MN | MN | -26.3% | +90.3% | +88.5% | +117.0% | $762.5K |
| 82 | Meadowlands, MN | MN | — | — | +86.8% | — | $355K |
| 83 | Bigfork, MN | MN | +149.1% | — | +85.2% | +33.3% | $330K |
| 84 | Breckenridge, MN | MN | +90.8% | +139.6% | +78.6% | +82.4% | $237K |
| 85 | Stewartville, MN | MN | +40.2% | +65.4% | +78.3% | +59.1% | $404.6K |
| 86 | Greenfield, MN | MN | -34.0% | -57.4% | +77.0% | -27.8% | $395.5K |
| 87 | Carlton, MN | MN | +58.5% | — | +77.0% | +188.7% | $495K |
| 88 | Saint Louis Park, MN | MN | +23.3% | +33.3% | +76.7% | +77.9% | $534K |
| 89 | Oak Grove, MN | MN | +31.5% | +119.9% | +76.7% | +208.2% | $855K |
| 90 | Morgan, MN | MN | +8.4% | — | +75.8% | +246.7% | $130K |
| 91 | Rochester, MN | MN | +7.7% | +77.2% | +75.3% | +94.4% | $468.6K |
| 92 | Le Center, MN | MN | +81.9% | +70.5% | +73.9% | +20.0% | $310.2K |
| 93 | Hawley, MN | MN | +104.3% | +24.1% | +73.4% | +111.2% | $475K |
| 94 | Kabetogama, MN | MN | — | — | +73.0% | +206.2% | $199K |
| 95 | Caledonia, MN | MN | +117.8% | — | +72.1% | +195.4% | $256.5K |
| 96 | Pierz, MN | MN | +158.3% | — | +68.9% | +109.1% | $465K |
| 97 | Richmond, MN | MN | +53.2% | +52.7% | +68.6% | +155.4% | $458K |
| 98 | Hill City, MN | MN | +29.4% | -5.3% | +67.8% | +33.1% | $186.3K |
| 99 | Saint Augusta, MN | MN | +36.2% | +146.2% | +67.1% | — | $512.5K |
| 100 | Northfield, MN | MN | +36.3% | +5.1% | +66.5% | +146.3% | $443.8K |
How to read these numbers
Velocity vs. level
A market with 25% one-year appreciation is moving fast — but a market with steady 6% over ten years has compounded much further. Use 10Y as the long-run signal, 1Y as the momentum signal.
Mean-reversion risk
Markets that posted huge 1Y and 3Y gains often cool over the next cycle. Compare 1Y to 5Y: if 1Y is far above 5Y, the trend is accelerating; if far below, it is decelerating — often the more important signal.
Sample sanity
We require a minimum current median price (default $50K) to filter out tiny ZIPs with noisy data. Raise that threshold for serious investment markets; lower it to find emerging niches. Source: public record.