# Real GDP: Real GDP by state: Retail trade (44-45) — Michigan (chained 2017 USD mn)

Real GDP: Real GDP by state: Retail trade (44-45) — Michigan (chained 2017 USD mn) was 37,723 chained 2017 USD mn in 2025, down 1.0% from 2024.
That is the lowest reading since 2023.
Over the past ten years it has ranged from 28,738 chained 2017 USD mn (2015) to 38,097 chained 2017 USD mn (2024), averaging 33,490 chained 2017 USD mn.

- Source agency: U.S. Bureau of Economic Analysis (Regional Economic Accounts)
- Makrognosis code: `US-MI.GDP.A.NSA.IND-BEA35`
- Frequency: annual
- Units: chained 2017 USD mn
- Coverage: 1997-01-01 to 2025-01-01 (29 observations)
- Page: https://makrognosis.robomacro.com/data/united-states/real-gdp-real-gdp-by-state-retail-trade-44-45-michigan-chained-2017-usd-us-mi-gdp-a-nsa-ind-bea35

## Recent data

| Period | Value |
|---|---:|
| 2025 | 37,723 chained 2017 USD mn |
| 2024 | 38,097 chained 2017 USD mn |
| 2023 | 35,202 chained 2017 USD mn |
| 2022 | 32,920 chained 2017 USD mn |
| 2021 | 33,709 chained 2017 USD mn |
| 2020 | 32,405 chained 2017 USD mn |
| 2019 | 33,494 chained 2017 USD mn |
| 2018 | 33,353 chained 2017 USD mn |
| 2017 | 32,041 chained 2017 USD mn |
| 2016 | 30,703 chained 2017 USD mn |
| 2015 | 28,738 chained 2017 USD mn |
| 2014 | 27,462 chained 2017 USD mn |
| 2013 | 26,931 chained 2017 USD mn |
| 2012 | 26,480 chained 2017 USD mn |
| 2011 | 27,125 chained 2017 USD mn |
| 2010 | 27,071 chained 2017 USD mn |
| 2009 | 26,588 chained 2017 USD mn |
| 2008 | 26,676 chained 2017 USD mn |
| 2007 | 27,160 chained 2017 USD mn |
| 2006 | 28,282 chained 2017 USD mn |
| 2005 | 29,467 chained 2017 USD mn |
| 2004 | 29,482 chained 2017 USD mn |
| 2003 | 30,280 chained 2017 USD mn |
| 2002 | 29,299 chained 2017 USD mn |

## API

```
curl -H "X-API-Key: $MAKROGNOSIS_KEY" \
  "https://makrognosis.robomacro.com/v1/series/US-MI.GDP.A.NSA.IND-BEA35"

# Python
import requests
r = requests.get("https://makrognosis.robomacro.com/v1/series/US-MI.GDP.A.NSA.IND-BEA35",
                 headers={"X-API-Key": KEY})
obs = r.json()["observations"]
```
