Reference points are important for fisheries management and its supporting scientific advisory frameworks. The World Summit on Sustainable Development (WSSD 2002) committed signatories to maintain or restore stocks to levels that can produce the maximum sustainable yield (MSY) by 2015. In addition, the precautionary approach (FAO 1996) requires the use of limit and target reference points to constrain harvesting within safe biological limits while accounting for the major sources of uncertainty. Hauge, Nielsen, and Korsbrekke (2007) reviewed the use of reference points in ICES in the context of the precautionary approach.

These agreements have been included in a variety of management acts or policies. For instance, the US Magnuson Stevens Fishery Conservation and Management Act mandates precautionary management to attain optimum yield, and the Common Fisheries Policy (CFP; REGULATION (EU) No 1380/2013) states that the Union should improve the CFP by adapting exploitation rates so as to ensure that, within a reasonable time-frame, the exploitation of marine biological resources restores and maintains populations of harvested stocks above levels that can produce the maximum sustainable yield. The exploitation rates should be achieved by 2015 […] in any event no later than 2020.

For example, the Convention of the International Commission for the Conservation of Atlantic Tunas (ICCAT) states that The Commission may, on the basis of scientific evidence, make recommendations designed to maintain the populations of tuna and tuna-like fishes that may be taken in the Convention area at levels which will permit the maximum sustainable catch. In this and in many other cases, maximum sustainable catch is generally assumed to be synonymous with maximum sustainable yield (MSY). Management must also be consistent with international agreements relating to the Conservation and Management of Straddling and Highly Migratory Fish Stocks (Doulman 1995) and the Precautionary Approach (FAO 1996).

MSY has been criticised as not being a robust management objective since it may lead to unsustainable and/or less than optimal management because of uncertainties associated with interpretation of data and the simplifying assumptions made when modelling biological processes (Rosenberg and Restrepo 1994). The precautionary approach therefore includes the following recommendations:

Therefore important scientific tasks are to: estimate reference points, evaluate the effect of uncertainty, and use them to provide management advice.

The types of questions that fisheries scientists have to answer for managers are commonly of the type

Biological reference points are important for answering these sorts of question because they are benchmarks against which stock assessment estimates can be compared, and allow advice to be given about the current status of a stock, sustainable level of fishing effort and potential future catches.

Halliday, Fanning, and Mohn (2001) defined four main characteristics of stocks i.e. production, abundance, exploitation rate and ecosystem/environmental effects. Reference points or indicators are commonly used to assess the status of stocks relative to these characteristics and there are four main types based either upon spawner per recruit, biomass, exploitation rate or size distribution. Quantities based on spatial distributions have also been proposed, but to date have not been well developed. Here we consider reference points that are typically calculated from an age based analytical assessments. However reference points can also be calculated from biomass based assessments, surveys and a consideration of life history parameters alone.

Required packages

To follow this tutorial you should have installed the following packages:

if you are using Windows, please use the 32-bit R version

You can do so as follows,

install.packages(c("ggplotFL"), repos="")
install.packages(c("FLBRP"), repos="")
# Loads all necessary packages

Estimating biological reference points

This example session intends to demonstrate the main features of the FLBRP package, and the FLBRP class and its methods.

A new object of class FLBRP can be created from an FLStock object.

brp4 <- FLBRP(ple4)

The necessary input slots will be created from those slots related to catch, landings, discards, and stock numbers and weights. In the FLBRP object, all slots named *.obs will contain the related time series present in the original FLStock object, while other slots will contain averages across the year dimension over the last n years, where n is controlled by these three arguments: biol.nyears, fbar.nyears and sel.nyears, as detailed in the help page for FLBRP.

An object of class "FLBRP"

Quant: age 
Dims:  age  year    unit    season  area    iter
    10  101 1   1   1   1   

Range:  min max pgroup  minfbar maxfbar 
    1   10  10  2   6   

fbar          : [ 1 101 1 1 1 1 ], units =  f 
fbar.obs      : [ 1 52 1 1 1 1 ], units =  f 
landings.obs  : [ 1 52 1 1 1 1 ], units =  t 
discards.obs  : [ 1 52 1 1 1 1 ], units =  t 
rec.obs       : [ 1 52 1 1 1 1 ], units =  10^3 
ssb.obs       : [ 1 52 1 1 1 1 ], units =  t 
stock.obs     : [ 1 52 1 1 1 1 ], units =  t 
profit.obs    : [ 1 52 1 1 1 1 ], units =  NA 
landings.sel  : [ 10 1 1 1 1 1 ], units =  NA 
discards.sel  : [ 10 1 1 1 1 1 ], units =  NA 
bycatch.harv  : [ 10 1 1 1 1 1 ], units =  f 
stock.wt      : [ 10 1 1 1 1 1 ], units =  kg 
landings.wt   : [ 10 1 1 1 1 1 ], units =  kg 
discards.wt   : [ 10 1 1 1 1 1 ], units =  kg 
bycatch.wt    : [ 10 1 1 1 1 1 ], units =  NA 
m             : [ 10 1 1 1 1 1 ], units =  m 
mat           : [ 10 1 1 1 1 1 ], units =   
harvest.spwn  : [ 10 1 1 1 1 1 ], units =   
m.spwn        : [ 10 1 1 1 1 1 ], units =   
availability  : [ 10 1 1 1 1 1 ], units =  NA 
price         : [ 10 1 1 1 1 1 ], units =  NA 
vcost         : [ 1 1 1 1 1 1 ], units =  NA 
fcost         : [ 1 1 1 1 1 1 ], units =  NA 

The fbar slot contains an FLQuant with the values of fishing mortality (F) used in the calculations of reference points. A default vector of seq(0, 4, by=0.04) is used

An object of class "FLQuant"
, , unit = unique, season = all, area = unique

age   1    2    3    4    5   
  all 0.00 0.04 0.08 0.12 0.16

      [ ...  91 years]

age   97   98   99   100  101 
  all 3.84 3.88 3.92 3.96 4.00

A stock-recruitment relationship can also be provided, either as an object of class FLSR, or through the model and params arguments, of class formula and FLPar respectively. The default model, if none is given, is that of mean recruitment with a value of a=1, useful for obtaining pre-recruit values.

rec ~ a
<environment: 0xc88c088>
An object of class "FLPar"
units:  NA 

Alternatively, a SR model can be provided (see the tutorial on modelling stock recruitment with FLSR). For example, a Ricker stock-recruitment relationship for the ple4 stock object could be specified. The FLSR object is first created and then fitted, after re-scaling the input values to help the optimizer. The parameter values are then scaled back and used to construct an FLBRP object where the Ricker model is to be used in the calculations

ple4SR <- transform(as.FLSR(ple4, model=ricker), ssb=ssb/100, rec=rec/100)
ple4SR <- fmle(ple4SR,control=list(silent=T))
params(ple4SR)['b',] <- params(ple4SR)['b',] / 100
ple4SR <- transform(ple4SR, ssb=ssb*100, rec=rec*100)
brp4Ri <- FLBRP(ple4, sr=ple4SR)

The process for calculating biological and economic reference points using the FLBRP class can now proceed. A first call to brp() will calculate the default reference points and return an object of class FLBRP where the results have been added to the refpts slot.

The default reference points include virgin stock, MSY level, \(F_{crash}\) exploitation, and candidate MSY proxies \(F_{0.1}\), \(F_{max}\) and \(SPR_{30}\).

brp4Ri <- brp(brp4Ri)
An object of class "FLPar"
refpt    harvest  yield    rec      ssb      biomass  revenue  cost    
  virgin 0.00e+00 0.00e+00 2.35e+05 1.05e+06 1.09e+06       NA       NA
  msy    2.91e-01 9.47e+04 8.37e+05 4.49e+05 5.74e+05       NA       NA
  crash  7.89e-01 2.11e-06 4.53e-05 4.94e-06 9.90e-06       NA       NA
  f0.1   8.76e-02 5.56e+04 4.29e+05 8.00e+05 8.75e+05       NA       NA
  fmax   1.35e-01 7.36e+04 5.37e+05 6.99e+05 7.89e+05       NA       NA
  spr.30 1.32e-01 7.24e+04 5.29e+05 7.07e+05 7.95e+05       NA       NA
  mey          NA       NA       NA       NA       NA       NA       NA
refpt    profit  
  virgin       NA
  msy          NA
  crash        NA
  f0.1         NA
  fmax         NA
  spr.30       NA
  mey          NA
units:  NA 

In this case no information on prices (price), variable costs (vcost) and fixed costs (fcost) were provided, so the calculation of economic reference points was not possible. We will see later how to add that information, not present in an FLStock object.


Standard plots are available in FLBRP. The basic plots include the relationships between SSB and F, recruitment and F, yield and F and Yield and SSB at equilibrium. The different reference points are shown on each curve.


Corresponding assessment estimates of SSB, recruitment and F, as well as observed landings representing “yield” can easily be added to these plots. It should be noted that the curves and associated reference points in these plots represent equilibrium states, whereas the assessment estimates and observations are non-equilibrium. Furthermore, F will always represent total catch (landings and discards), whereas the “yield” is only that portion of the catch that one would desire to optimise (i.e. landings) - so effectively one is looking for the F (total catch) that will optimise the yield (landings only) when estimating MSY reference points.


Economic reference points

We can add economic data to the FLBRP object in order to calculate the maximum economic yield MEY. To do this, three variables are needed: price (at age) in keuro per ton of fish, variable costs in keuro per unit of fishing mortality F, and fixed costs in keuro per unit of fishing mortality F. In this example, only the costs linked to the catch of plaice are considered (i.e. this is a simplification because plaice is caught in mixed fisheries).

# price of fish at age
price(brp4Ri) <- c(rep(1.15,3),rep(1.3,2),rep(1.55,5))
price(brp4Ri)@units <- "keuro/ton"
# variable costs per F 
vcost(brp4Ri) <- 70000
vcost(brp4Ri)@units <- "keuro/unit F"
# fixed costs per F 
fcost(brp4Ri) <- 35000
fcost(brp4Ri)@units <- "keuro/unit F"

The reference points can be calculated again

brp4Eco <- brp(brp4Ri)
An object of class "FLPar"
refpt    harvest   yield     rec       ssb       biomass   revenue  
  virgin  0.00e+00  0.00e+00  2.35e+05  1.05e+06  1.09e+06  0.00e+00
  msy     2.91e-01  9.47e+04  8.37e+05  4.49e+05  5.74e+05  1.32e+05
  crash   7.89e-01  2.11e-06  4.53e-05  4.94e-06  9.90e-06  2.65e-06
  f0.1    8.76e-02  5.56e+04  4.29e+05  8.00e+05  8.75e+05  8.20e+04
  fmax    1.35e-01  7.36e+04  5.37e+05  6.99e+05  7.89e+05  1.07e+05
  spr.30  1.32e-01  7.24e+04  5.29e+05  7.07e+05  7.95e+05  1.05e+05
  mey     2.42e-01  9.29e+04  7.56e+05  5.18e+05  6.35e+05  1.31e+05
refpt    cost      profit   
  virgin  3.50e+04 -3.50e+04
  msy     5.54e+04  7.64e+04
  crash   9.02e+04 -9.02e+04
  f0.1    4.11e+04  4.09e+04
  fmax    4.45e+04  6.25e+04
  spr.30  4.42e+04  6.11e+04
  mey     5.19e+04  7.90e+04
units:  NA 

and plotted


In this figure we see that \(F_{MEY}\) is lower than \(F_{MSY}\), meaning that the economic reference point is more conservative than MSY. In rare cases when the price of smaller fish is higher than the price of older fish, \(F_{MEY}\) can be higher than \(F_{MSY}\).

Pretty Good Yield

Because of the uncertainty around the MSY estimates, Hilborn (2010) introduced the concept of pretty good yield corresponding to at least 80% of the theoretical MSY. The range of Fs leading to the pretty good yield can be considered a region around the estimated \(F_{MSY}\) that does not loose too much yield. The advantage of using the pretty good yield compared to the MSY point estimates is that it is less sensitive to populations’ basic life history parameters. The concept of pretty good yield has been applied to European fisheries using 95% of MSY (Rindorf et al. 2016). The resulting F ranges could then be used in mixed fisheries management plans in an effort to reconcile the TACs of species caught together in mixed fisheries (STECF 2015).

Below is an example of calculating the pretty good yield at 95% of MSY.

(rge4 <- msyRange(brp4Eco,range=0.05))
An object of class "FLPar"
refpt harvest  yield    rec      ssb      biomass  revenue  cost    
  msy 2.91e-01 9.47e+04 8.37e+05 4.49e+05 5.74e+05 1.32e+05 5.54e+04
  min 2.13e-01 9.00e+04 7.01e+05 5.63e+05 6.73e+05 1.28e+05 4.99e+04
  max 3.77e-01 9.00e+04 9.31e+05 3.43e+05 4.73e+05 1.22e+05 6.14e+04
refpt profit  
  msy 7.64e+04
  min 7.80e+04
  max 6.09e+04
units:  NA 

The F and SSB ranges calculated can also be added to the plots

p <- plot(brp4Eco,obs=T)
p$data <- within(p$data,{minrge <- NA
                         minrge <- replace(minrge,grep("v. F",pnl),rge4@.Data["min","harvest",])
                         minrge <- replace(minrge,grep("v. SSB",pnl),rge4@.Data["max","ssb",])
                         maxrge <- NA
                         maxrge <- replace(maxrge,grep("v. F",pnl),rge4@.Data["max","harvest",])
                         maxrge <- replace(maxrge,grep("v. SSB",pnl),rge4@.Data["min","ssb",])})
p+ geom_area(aes(x = ifelse(x>=minrge & x<=maxrge , x, NA),y=y,group=iter),fill="grey",alpha=0.5)    



\(F_{Crash}\) is the level of F that will drive the stock to extinction.


\(F_{0.1}\) is a proxy for \(F_{MSY}\) and is the fishing mortality that corresponds to a point on the yield per recruit curve where the slope is 10% of that at the origin.


\(F_{Max}\) is F returning the maximum yield per recruit.

\(MEY\) and \(F_{MEY}\)

\(MEY\) represents the maximum economic yield, \(F_{MEY}\) corresponds to the level of exploitation that provides the maximum profit. Profit is obtained as the difference between the revenue (yield multiplied by prices) and the costs (cost per unit of F multiplied by the level of exploitation).

\(MSY\) and \(F_{MSY}\)

\(MSY\) represents the maximum sustainable yield, \(F_{MSY}\) corresponds to the level of exploitation that provides the maximum yield, derived from a yield curve that includes a stock recruitment relationship.


\(SPR_0\) is the spawner per recruit at virgin biomass.


\(SPR_{30}\) corresponds to the point on the curve where SPR is 30% of \(SPR_0\). In these cases the biomass, ssb and yield values are derived by multiplying the per recruit values by the average recruitment.


virgin represents the virgin biomass without exploitation.

More information

Software Versions

  • R version 3.4.1 (2017-06-30)
  • FLCore: 2.6.5
  • FLBRP: 2.5.2
  • ggplotFL: 2.6.1
  • ggplot2: 2.2.1
  • Compiled: Mon Sep 18 11:04:05 2017


This document is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license.

Author information

Katell Hamon Wageningen UR. Wageningen Economic Research. Alexanderveld 5, The Hague, The Netherlands.

Laurie Kell

Dorleta Garcia AZTI. Marine Research Unit. Txatxarramendi Ugartea z/g, 48395, Sukarrieta, Basque Country, Spain.


FAO. 1996. “The Precautionary Appraoch to Fisheries and Its Implications for Fishery Research, Technology and Management: An Updated Review.”

Halliday, R. G., L.P Fanning, and N.K Mohn. 2001. “Use of the Traffic Light Method in Fishery Management Planning.” Canadian Science Advisory Secretaria 2001/108.

Hauge, Kjellrun Hiis, Kare Nolde Nielsen, and Knut Korsbrekke. 2007. “Limits to Transparency Exploring Conceptual and Operational Aspects of the Ices Framework for Providing Precautionary Fisheries Management Advice 10.1093/Icesjms/Fsm058.” ICES J. Mar. Sci. 64 (4): 738–43.

Hilborn, Ray. 2010. “Pretty Good Yield and Exploited Fishes.” Marine Policy 34 (1): 193–96. doi:10.1016/j.marpol.2009.04.013.

Rindorf, Anna, Massimiliano Cardinale, Samuel Shephard, José A. A. De Oliveira, Einar Hjorleifsson, Alexander Kempf, Anna Luzenczyk, et al. 2016. “Fishing for Msy: Using ‘Pretty Good Yield’ Ranges Without Impairing Recruitment.” ICES J. Mar. Sci. doi:10.1093/icesjms/fsw111.

Rosenberg, Andrew A., and Victor R. Restrepo. 1994. “Uncertainty and Risk Evaluation in Stock Assessment Advice for U.S. Marine Fisheries.” Can. J. Fish. Aquat. Sci. 51: 2715.

STECF. 2015. “Evaluation of Management Plans: Evaluation of the Multi-Annual Plan for the North Sea Demersal Stocks (Stecf-15-04).” Publications Office of the European Union.

WSSD. 2002. “Report of the World Summit on Sustainable Development.”