16 min read

Commercial Fish Production in the Great Lakes

bloaters fish
Bloaters harvested from Lake Michigan. Photo by Katie Steiger/Meister/USFWS. Cropped from original.

View raw source for this post


The Great Lakes Fishery Commission (GLFC) published data on the commercial fish catch in the Great Lakes from 1867 to 2015. Each lake is unique and its features impact what fish are present, their composition over time and the overall volume of commercial fish catch.

Table of Contents


The Great Lakes Fishery Commission (GLFC) published data on the commercial fish catch in the Great Lakes from 1867 to 2015.[1] Commercial catch records are an important indicator of the health of the fishing stocks and the lake ecology in general. Each lake is unique and its features impact what fish are present, their composition over time and the overall volume of commercial fish catch.



The Great Lakes are comprised of, moving west to east: Superior, Michigan, Huron, Saint Claire, Erie and Ontario. According to the National Oceanic and Atmospheric Administration (NOAA), the Great Lakes contain 95% of the country’s surface fresh water supply, have a surface area of 94,000 square miles, and are encircled by 9,000 miles of shoreline. Also known as the “Laurentian Great Lakes,” they “comprise the largest surface freshwater system in the world.” [2] Niagra Falls acted as a natural barrier separating Lake Ontario from the rest of the Great Lakes and preventing the westward migration of invasive species.

Based on surface area, Lake Superior is the least productive in commercial fishing, while Lake Erie with its shallow bottom and southern orientation, is the most productive of the Great Lakes.

Figure 1: Based on surface area, Lake Superior is the least productive in commercial fishing, while Lake Erie with its shallow bottom and southern orientation, is the most productive of the Great Lakes.

Lake Productivity

Lakes are classfied by their “trophic” state–their ability to sustain aquatic life. Oligotrophic lakes are nutrient poor, clear, and deep with little detritus on the bottom. There are few fish and, when present, they are of small size. In contrast, eutrophic lakes are nutrient rich, turbid, shallow, with high algae concentrations and organic matter on the bottom. The lake sustains large quantities of fish. Lakes that are in the middle are referred to as mesotrophic.

Many have attempted to estimate lake productivity using different measures and there are competing viewpoints on the appropriate methods. A widely used measure is the trophic state index for lakes, first conceived and proposed by Robert M. Carlson in 1977.[3] The Trophic State Index (TSI) is computed from commonly accepted measures like nutrient concentrations (i.e. phosphorous), biomass concentrations (i.e. clorophyll), and water clarity (secchi disk readings). Like the Richter Score for earthquakes, the index permits the trophic condition of a lake to be easily explained to a layperson with a TSI score of 0 to 100. [3]

Note how phosphorous and chlorophyll concentrations increase as water clarity decreases.[@carlsonTrophicStateIndex1977]

Figure 2: Note how phosphorous and chlorophyll concentrations increase as water clarity decreases.[3]

Lakes with high TSI scores are highly productive whereas lakes with low TSI scores are not. “The overwhelming evidence from” many, many studies “is that, as lakes become more eutrophic,”–whether measured by TSI scores or other means–“the standing crops, productivity, and yields of fish increase.”[4] This conclusion has also been expanded to include species considered to be sports fish as well.[4] However, in one large Florida study, only 75% of the variance in fish production could be explained by trophic state and the author described its use as a predictor as “imprecise.” [4]

“As freshwater bodies, the Great Lakes are less productive than the oceans if climate is held constant.” [5] “Middle-latitude freshwater lakes are by no means nutrient poor, but they typically rank low in primary productivity compared with oceanic and tropical environments.” [5]

When measured by the amount of microscopic plant productivity, Lake Erie is the most productive, followed by Lake Ontario, Lake Michigan, Lake Huron, and finally Lake Superior. [6] “Of the five Laurentian Great Lakes, Superior and Huron and to a lesser extent Michigan are still relatively unproductive, whereas Ontario and Erie, particularly Erie’s western basin, are rich in nutrients and support a dense plant life. [6]”In contrast, daily productivity in Lake Erie may be as much as 45 times greater than that of Lake Superior."


“The United States and Canadian Great Lakes fisheries are experiencing a long-term decline.”[5]“In the 1800s, fish harvests in the Great Lakes were greater than they are today, and the long record suggests that the industry has experienced a continued pattern of fluctuations in harvests, species abundance, and demand for the product.” [5] “Annual harvests in U.S. waters dropped from around 23,000 metric tons per year in 1980 to 9,000 metric tons per year in 2011.” [5] "Historically, the Great Lakes system supported abundant populations of commercially-important fish species such as Lake Trout , Atlantic Salmon, Lake Whitefish, deepwater ciscoes (e.g. Bloater), Walleye, and Yellow Perch. [2]

Economic Impact

At the national level when marine waters are included, commercial fishing contributes over 5.2 billion to the economy and supports approximately 1.2 million jobs, while recreational fishing contributes over 122 billion to the economy and supports 440,000 jobs." [2] The "Great Lakes commercial fisheries, while locally and regionally of great importance, continue to decline, and today they contribute less than 1 percent of the billions of dollars a year to the regional economy that are attributed to recreational fisheries.[2] Great Lakes commercial fishing is a fraction of recreational fishing and tourism, contributing less than one percent to the regional economy.[5]

The commercial fishing industry has been buffeted by environmental changes over the last eighty years, “beginning with the sea lamprey invasion of the 1940s.” [5] Since then, a variety of factors have impacted commercial fishing like overfishing, pollution, invasive species, technology and regulation.

Notable Species

The species below are routinely mentioned in the literature and history regarding the health of Great Lakes fish stocks.

Sea lampreys

“Of all the problems the Great Lakes fishery has faced over the years, none has been more vexing than that of the sea lamprey.” [5] Sea lampreys are an invasive species to the Great Lakes migrating from the Atlantic Ocean. They attach to their host with their circular rows of teeth and survive on the fluids of their host. Lampreys could be found in Lake Ontario and moved westward when the Welland Canal bypassed Niagra Falls. They devastated the fishing stocks of the Great Lakes, gradually moving westward from Lake Ontario in the 1850s. The primary control method is through chemicals collectively known as lampricides. The chemicals target lamprey larvae in the tributaries surrounding the Great Lakes. According to the Great Lakes Fishery Commission website, about 200 areas are targeted for lampricide treatment.

The sea lamprey never has become well established in Lake Erie.[5]. The lake trout (Salvelinus namaycush), probably the most prized fish of the Great Lakes, was its [the lamprey’s] favorite target," though they attack other prize sports fish too. [5]

Lake Whitefish

“One of the Great Lakes’ most productive species had been the lake whitefish (Coregonus clupeaformis) until overfishing and poor recruitment led to a collapse of the whitefish harvest in the 1890s.” [5]


Alewife “is best known for its invasion of the Great Lakes via the Welland Canal. Its population surged between the 1950s and 1980s to the detriment of many native species of fish. In an effort to control them biologically, Pacific salmon were introduced, only partially successfully.” Wikpedia Treated differently than the lamprey, it “became a commercial species, with thousands of tons sold to pet food processors and as bait to the Atlantic Coast lobster industry.” [5] The “alewife abundance grew to shocking proportions by the mid-1960s, when billions of the small fish washed up on the shores of Lake Michigan where they fouled swimming beaches.”[5]


“Pacific salmonine species, introduced after lamprey control had begun, proved to be eager consumers of the alewife.” [5] “Beginning in 1964, shipments of Coho Salmon eggs (>1 million) and Chinook Salmon eggs (>3 million) were sent to Michigan from hatcheries in Oregon and Washington.” [2] “Today, Coho Salmon, Chinook Salmon, and Steelhead are considered the most socioeconomically valuable fishes in the Great Lakes basin.” [2] “The three Pacific species were not introduced for the commercial fishery, but rather as a means for stimulating sport fishing.” [5] Alewife population declined and salmon populations soon followed. Control of alewife led to a booming walleye population. [5]

Mussels & Round Goby

Zebra and quagga mussels entered the Great Lakes in the 1980s, having originated from lakes in Russia, and likely carried by ocean going ships. The goby (Neogobius melanostomus), a round, soft-bodied fish, also seem to have entered the Great Lakes in ocean-going ships and feeds on mussels and fish eggs.

Data and model

From the GLFC website, “records of commercial fish production in the Great Lakes were collected as early as 1867 in Canada and 1879 in the United States.” However, the information was not consolidated until the establishment of the International Board of Inquiry for the Great Lakes Fisheries in 1940. After a multi decade lapse, the GLFC republished the 1867 to 1940 fishing data again in 1962 along with the data from 1940 to 1962. The GLFC has continued to act as a collector and repository of the information with the most recent data available from 2015.

In the GLFC “Notes on Statistics” two passages are significant in interpreting the data. The first was regarding weight. “Production amounts in each jurisdiction in a lake were rounded to the nearest thousand pounds after sums were calculated. (The sum of rounded amounts from the various jurisdictions will not necessarily correspond to the rounded total for the entire lake.) A blank indicates no catch report. A lake total for the species in question is not computed when the lack of a catch report is assumed attributable to zero catch.”

The second significant passage in the “Notes on Statistics” was on the species field. “Confusion as to fish names and the combining of catches of species that are in the same market category or that resemble each other introduced considerable uncertainty into the statistics for many of the early years.” In the data, the species are listed alphabetically by their common name, rather than their phylogenetic order.

The most problematic portion of this dataset was the species field. Upon import of the dataset, there were 55 number of unique values. Some of the text fields were exceptionally long which makes them difficult to use in code. Long variable names often present awkward spacing in charts and graphs. Ultimately, the variables were shortened and narrowed to 34 unique names, but the distillation was the result of the author’s subjective judgment.

There were common patterns in the species field. First, there were misspellings. amercian was changed to american. Second, singular were changed to plural. For example, chub was changed to chubs. Third, names were shortened. chinook, coho, and pacific were shortened to just salmon. Fourth, there were substantive changes too. blue pike was changed to walleye, because of some controversy over its appropriate taxonomy. The complete list of changes is in the Appendix.


The data were filtered to the latest year available and the total commercial catch was determined by lake and species. The largest catch was rainbow smelt from Lake Erie. Six of the top 10 catches by weight were from Lake Erie. Lake whitefish was the largest catch for both Lake Superior and Lake Huron. Lakes Ontario and Michigan did not make the top 10 list.

year lake species kg
2015 Erie rainbow smelt 3779.79
2015 Erie yellow perch 2608.61
2015 Erie white bass 2249.36
2015 Erie walleye 2214.89
2015 Huron lake whitefish 1562.17
2015 Michigan lake whitefish 1403.87
2015 Superior lake whitefish 1303.64
2015 Erie white perch 1217.44
2015 Superior cisco 814.65
2015 Erie drum 574.25

In order to make fair comparisons between the lakes, a measure of yield was derived. Fish production was scaled to lake size in surface area. When considering the size of a lake, Lake Erie led the other lakes in terms of fish catch in kilograms per square kilometer.

Fish production in pounds per square mile.

Figure 3: Fish production in pounds per square mile.


Commerical fishing is a challenging business. Fish populations have changed over time and the composition of the fish has changed as well. Invasive species like the Sea Lamprey and the Alewife have decimated native species and caused commercial fisherman to change tactics and expectations. In some cases, they have abandoned the market completely.

The dataset confirms several propositions in the academic literature; namely, that commercial fish catches have declined over time. Additionally, Lake Erie because of its unique features continues to be the most productive of the Great Lakes when measured by commercial fish catch in kilograms per square kilometer.

Several realtively new invasive species will continue to alter the historic balance of the Great Lakes fish as well. New challenges from dreissenid mussels and the round gobi will require commercial fisherman to remain vigilant and flexible in the dynamic ecology of the Great Lakes.

At the [Blu-moon Bistro](https://www.blumoonbistro.com) in Ludington, Michigan, Lake Whitefish was the catch of the day. Photo taken and fish eaten by Rob Wiederstein.

Figure 4: At the Blu-moon Bistro in Ludington, Michigan, Lake Whitefish was the catch of the day. Photo taken and fish eaten by Rob Wiederstein.

Appendix–Species Grouping

# clean species field
df$species <- tolower(df$species)
# american eel
df$species <- gsub("amercian", "american", df$species)
# bullhead and channel cats
df$species <- gsub("bullhead$", "bullheads", df$species)
df$species <- gsub(" and bullheads", "", df$species)
# chubs
df$species <- gsub("chub$", "chubs", df$species)
# crappies
df$species <- gsub("crappies", "crappie", df$species)
df$species <- gsub(" and crappie", "", df$species)
# drum
df$species <- gsub("freshwater ", "", df$species)
# lake trout
df$species <- gsub(" - siscowet", "", df$species)
# walleye aka blue pike was actually a walleye
df$species <- gsub(" and blue pike", "", df$species)
df$species <- gsub("blue pike", "walleye", df$species)
# lake sturgeon
df$species <- gsub("lake sturgeon", "sturgeon", df$species)
# salmon
df$species <- gsub("chinook |coho |pacific ", "", df$species)
# cisco and chubs
df$species <- gsub(" and chubs", "", df$species)
# channel catfish
df$species <- gsub("channel ", "", df$species)
# northern pike
df$species <- gsub("northern ", "", df$species)


N. S. Baldwin, R. W. Sallfeld, M. R. Dochoda, H. J. Buettner, R. L. Eshenroder, and R. O’Gorman, “Commercial Fish Production in the Great Lakes 1867-2015.” Great Lakes Fishery Commission, 2018 [Online]. Available: http://www.glfc.org/commercial/commercial.xls. [Accessed: 20-Apr-2021]
W. W. Taylor, M. J. Good, A. K. Carlson, T. Scholze, H. A. Triezenberg, and R. Lambe, “The changing face of Great Lakes fisheries,” Aquatic Ecosystem Health & Management, vol. 22, no. 3, pp. 355–367, Jul. 2019, doi: 10.1080/14634988.2019.1657688. [Online]. Available: https://doi.org/10.1080/14634988.2019.1657688. [Accessed: 23-Apr-2021]
R. E. Carlson, “A trophic state index for lakes,” Limnology and Oceanography, vol. 22, no. 2, pp. 361–369, 1977, doi: 10.4319/lo.1977.22.2.0361. [Online]. Available: https://aslopubs.onlinelibrary.wiley.com/doi/abs/10.4319/lo.1977.22.2.0361. [Accessed: 24-Apr-2021]
R. W. Bachmann, B. L. Jones, D. D. Fox, M. Hoyer, L. A. Bull, and J. D E Canfield, “Relations between trophic state indicators and fish in Florida (U.S.A.) lakes,” Canadian Journal of Fisheries and Aquatic Sciences, Apr. 2011, doi: 10.1139/f95-236. [Online]. Available: https://cdnsciencepub.com/doi/abs/10.1139/f95-236. [Accessed: 24-Apr-2021]
S. Ziegler and J. C. Hudson, “Environment, Culture, and the Great Lakes Fisheries,” Geographical Review, vol. 104, pp. 391–413, 2014, doi: doi: 10.1111/j.1931-0846.2014.12041.x. [Online]. Available: https://commons.nmu.edu/cgi/viewcontent.cgi?article=1107&context=facwork_journalarticles. [Accessed: 21-Apr-2018]
C. A. S. Hall and R. Moll, “Methods of Assessing Aquatic Primary Productivity,” in Primary Productivity of the Biosphere, H. Lieth and R. H. Whittaker, Eds. Berlin, Heidelberg: Springer, 1975, pp. 19–53 [Online]. Available: https://doi.org/10.1007/978-3-642-80913-2_3. [Accessed: 24-Apr-2021]
R Core Team, R: A language and environment for statistical computing. Vienna, Austria: R Foundation for Statistical Computing, 2020 [Online]. Available: https://www.R-project.org/
Y. Xie, C. Dervieux, and A. Presmanes Hill, Blogdown: Create blogs and websites with r markdown. 2021 [Online]. Available: https://CRAN.R-project.org/package=blogdown
H. Wickham, Forcats: Tools for working with categorical variables (factors). 2021 [Online]. Available: https://CRAN.R-project.org/package=forcats
W. Chang et al., Shiny: Web application framework for r. 2021 [Online]. Available: https://shiny.rstudio.com/


The views, analysis and conclusions presented within this paper represent the author’s alone and not of any other person, organization or government entity. While I have made every reasonable effort to ensure that the information in this article was correct, it will nonetheless contain errors, inaccuracies and inconsistencies. It is a working paper subject to revision without notice as additional information becomes available. Any liability is disclaimed as to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from negligence, accident, or any other cause. The author(s) received no financial support for the research, authorship, and/or publication of this article.


─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.3 (2020-02-29)
 os       macOS Catalina 10.15.7      
 system   x86_64, darwin15.6.0        
 ui       X11                         
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/Chicago             
 date     2021-04-20                  

─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
 package     * version date       lib source        
 assertthat    0.2.1   2019-03-21 [1] CRAN (R 3.6.0)
 blogdown    * 1.3     2021-04-14 [1] CRAN (R 3.6.2)
 bookdown      0.21    2020-10-13 [1] CRAN (R 3.6.3)
 bslib         0.2.4   2021-01-25 [1] CRAN (R 3.6.2)
 cachem        1.0.4   2021-02-13 [1] CRAN (R 3.6.2)
 callr         3.5.1   2020-10-13 [1] CRAN (R 3.6.2)
 cellranger    1.1.0   2016-07-27 [1] CRAN (R 3.6.0)
 cli           2.3.1   2021-02-23 [1] CRAN (R 3.6.3)
 codetools     0.2-18  2020-11-04 [1] CRAN (R 3.6.2)
 colorspace    2.0-0   2020-11-11 [1] CRAN (R 3.6.2)
 crayon        1.4.1   2021-02-08 [1] CRAN (R 3.6.2)
 DBI           1.1.1   2021-01-15 [1] CRAN (R 3.6.2)
 desc          1.3.0   2021-03-05 [1] CRAN (R 3.6.3)
 devtools    * 2.3.2   2020-09-18 [1] CRAN (R 3.6.2)
 digest        0.6.27  2020-10-24 [1] CRAN (R 3.6.2)
 dplyr       * 1.0.5   2021-03-05 [1] CRAN (R 3.6.3)
 ellipsis      0.3.1   2020-05-15 [1] CRAN (R 3.6.2)
 evaluate      0.14    2019-05-28 [1] CRAN (R 3.6.0)
 fansi         0.4.2   2021-01-15 [1] CRAN (R 3.6.2)
 farver        2.1.0   2021-02-28 [1] CRAN (R 3.6.3)
 fastmap       1.1.0   2021-01-25 [1] CRAN (R 3.6.2)
 forcats     * 0.5.1   2021-01-27 [1] CRAN (R 3.6.2)
 fs            1.5.0   2020-07-31 [1] CRAN (R 3.6.2)
 generics      0.1.0   2020-10-31 [1] CRAN (R 3.6.2)
 ggplot2     * 3.3.3   2020-12-30 [1] CRAN (R 3.6.2)
 ggthemes    * 4.2.4   2021-01-20 [1] CRAN (R 3.6.2)
 glue          1.4.2   2020-08-27 [1] CRAN (R 3.6.2)
 gtable        0.3.0   2019-03-25 [1] CRAN (R 3.6.0)
 highr         0.8     2019-03-20 [1] CRAN (R 3.6.0)
 htmltools 2021-01-22 [1] CRAN (R 3.6.2)
 jquerylib     0.1.3   2020-12-17 [1] CRAN (R 3.6.2)
 jsonlite      1.7.2   2020-12-09 [1] CRAN (R 3.6.2)
 knitr         1.32    2021-04-14 [1] CRAN (R 3.6.2)
 labeling      0.4.2   2020-10-20 [1] CRAN (R 3.6.2)
 lifecycle     1.0.0   2021-02-15 [1] CRAN (R 3.6.2)
 magrittr      2.0.1   2020-11-17 [1] CRAN (R 3.6.2)
 memoise       2.0.0   2021-01-26 [1] CRAN (R 3.6.2)
 munsell       0.5.0   2018-06-12 [1] CRAN (R 3.6.0)
 pillar        1.5.1   2021-03-05 [1] CRAN (R 3.6.3)
 pkgbuild      1.2.0   2020-12-15 [1] CRAN (R 3.6.2)
 pkgconfig     2.0.3   2019-09-22 [1] CRAN (R 3.6.0)
 pkgload       1.2.0   2021-02-23 [1] CRAN (R 3.6.3)
 prettyunits   1.1.1   2020-01-24 [1] CRAN (R 3.6.0)
 processx      3.4.5   2020-11-30 [1] CRAN (R 3.6.2)
 ps            1.6.0   2021-02-28 [1] CRAN (R 3.6.3)
 purrr         0.3.4   2020-04-17 [1] CRAN (R 3.6.2)
 R6            2.5.0   2020-10-28 [1] CRAN (R 3.6.2)
 Rcpp          1.0.6   2021-01-15 [1] CRAN (R 3.6.2)
 readxl        1.3.1   2019-03-13 [1] CRAN (R 3.6.0)
 remotes       2.2.0   2020-07-21 [1] CRAN (R 3.6.2)
 rlang         0.4.10  2020-12-30 [1] CRAN (R 3.6.2)
 rmarkdown     2.7     2021-02-19 [1] CRAN (R 3.6.3)
 rprojroot     2.0.2   2020-11-15 [1] CRAN (R 3.6.2)
 rstudioapi    0.13    2020-11-12 [1] CRAN (R 3.6.2)
 sass          0.3.1   2021-01-24 [1] CRAN (R 3.6.2)
 scales        1.1.1   2020-05-11 [1] CRAN (R 3.6.2)
 sessioninfo   1.1.1   2018-11-05 [1] CRAN (R 3.6.0)
 stringi       1.5.3   2020-09-09 [1] CRAN (R 3.6.2)
 stringr       1.4.0   2019-02-10 [1] CRAN (R 3.6.0)
 testthat      3.0.2   2021-02-14 [1] CRAN (R 3.6.2)
 tibble        3.1.0   2021-02-25 [1] CRAN (R 3.6.3)
 tidyselect    1.1.0   2020-05-11 [1] CRAN (R 3.6.2)
 usethis     * 2.0.1   2021-02-10 [1] CRAN (R 3.6.2)
 utf8          1.1.4   2018-05-24 [1] CRAN (R 3.6.0)
 vctrs         0.3.6   2020-12-17 [1] CRAN (R 3.6.2)
 withr         2.4.1   2021-01-26 [1] CRAN (R 3.6.2)
 xfun          0.22    2021-03-11 [1] CRAN (R 3.6.2)
 yaml          2.2.1   2020-02-01 [1] CRAN (R 3.6.0)

[1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library