The Price equation describes mathematically the evolution of a population of units from one generation to the next.

$\bar{w}\Delta \bar{z}$ = $Cov (w_i,z_i) $+$ E(w_i\Delta z_i)$

I would like to know how to actually employ the equation to some data. Perhaps a simple online "walk-through" type guide of the Price equation would help. It should simply show the calculation of the Price equation using numbers from an example population. For example, I'd like to see how the Price equation is applied to the following scenario:

A population, $P$, of 5 individuals reproduces to produce population $P'$.

The trait value of the $i^{th}$ individual is $z_{i}$ where $z_1$, $z_2$ and $z_3$ all = 1 and where $z_4$ and $z_5$ both = 2 and $\bar{z}$ = 1.4.

Absolute fitness is $w_i$ for the $i^{th}$ individual where $w_1$, $w_2$ and $w_3$ all = 1, and $w_4$ and $w_5$ both = 5.

Relative fitnesses, $\omega_i$, are $\omega_{z=1}$ = 0.077, and $\omega_{z=2}$ = 0.385.

Thus the population $P'$ has $n$ = 13, with 3 individuals where $z$ = 1 and 10 individuals where $z$ = 2 and $\bar{z}'$ = 1.769.

$\Delta z $ is the transmission bias and is equal to 0 in this case (perfect transmission of the trait score $z$)

The value $\Delta \bar{z}$ = $Cov (w,z)/ \bar{w}$ = ....

Here's an R script to create the above information:

# Define two trait values:
z1 = 1
z2 = 2

# Define two fitness values:
w1 = 1
w2 = 5

# Set number of units possesing each trait in P population:
n1 = 3
n2 = 2

# Create data
df = data.frame(c(rep(z1,n1),rep(z2,n2)),c(rep(w1,n1),rep(w2,n2)))
colnames(df) = c("z","w")

df$omega = df$w / sum(df$w)

n_P = length(df$z)
    n_O = sum(df$w)
z_P_bar = mean(df$z)
    z_O_bar = sum(df$w*df$z) / sum(df$w)
omega_z1 = mean(df$omega[df$z==z1])
omega_z2 = mean(df$omega[df$z==z2])

# Parental population size:
# Offspring population size:
# Parental mean trait:
# Offspring mean trait:
# Realtive fitnesses:

2 Answers 2


Here is a simple example using your data in which both terms of the Price equation are needed, since the value of the character for $z_2 $ changes in the second generation. I used your suggested change $z_2'=(9\cdot 2 + 1\cdot 3)/10 = 2.1$.

The Price equation or theorem is: $$(1)\hspace{10mm}w\cdot \Delta z = \text{cov}(z_i,w_i) + E(w_i\Delta z_i) $$

While the idea here is just to give a credible calculation using both terms in the right side of the equation, and while the intuition behind the equation is essentially mathematical (or is it? $^1$), Steven Franks' paper, 'George Price's Contribution to Evolutionary Genetics', J. Theor. Biol. 175 (1995), 373-88, is a good introduction. His characterization of the right side may be the best one can do:

"The two terms may be thought of as changes due to selection and transmission, respectively. The covariance between fitness and character value gives the change in the character caused by differential reproductive success. The expectation term is a fitness weighted measure of the change in character values between ancestor and descendant. The full equation describes both selective changes within a generation and the response to selection..." p. 376.

We work with reference to the following data and will define variables below.

$$\begin{array}{c | c | c | } n_i & 3 & 2 \\ \hline z_i &1 & 2 \\ \hline w_i &1& 5 \\ \hline n_i' & 3 & 10 \\ \hline z_i' & 1 & 2.1 \\ \hline \end{array}$$

All cites WK are to the Wiki page on the Price equation:

(1) We can write $\text{cov} (w_i, z_i)$ as $E(w_iz_i) - wz.\hspace{10mm}$ WK eq. (7).


$$ \text{Cov}(w_i,z_i) = E(w_iz_i)- wz = \frac{ w_1z_1n_1 + w_2z_2n_2}{n_1+n_2} - wz $$

$$ = \frac{1\cdot1\cdot3 + 5\cdot2\cdot2}{3+2} - (2.6)(1.4) =\frac{23}{5} - (2.6)(1.4)= 0.96$$

(2) We can write $E(w_i\Delta z_i) = E(w_i z_i') - E(w_i z_i).\hspace{10mm}$ WK eq. (8).

Now $E(w_i z_i') = \frac{1}{n}\sum w_iz_i'n_i\hspace{40mm} $ WK eq. (9a).

$ = \frac{1}{2 + 3}(1\cdot 1\cdot 3 + 5\cdot(2.1)\cdot 2) = 24/5.$

$E(w_iz_i) = 23/5$ from (1) above.

So $ E(w_i z_i') - E(w_i z_i) = \frac{24}{5} - \frac{23}{5} = 1/5$

(3) Finally we have $\Delta z = z' - z = \frac{2.1(10) + 3(1)}{13}-\frac{3\cdot 1+2\cdot 2}{5} = \frac{29}{65} $

and $w = \frac{3\cdot 1+ 2\cdot 5}{3+2} = \frac{13}{5} = 2.6$

So $$w \Delta z = (2.6) \frac{29}{65} = 1.16 $$

$$= \text{cov}(z_i,w_i) + E(w_i \Delta z_i) = 0.96 + .2 = 1.16 $$

$n_i$ is the number of elements in group $i.$

$n_i'$ is the same for the filial generation.

$z_i$ is the value of a character for group $i.$

$z_i'$ is the same for offspring of $z_i.$

$w_i$ is a fitness weight, often the number of offspring an element $z_i$ will have.

$w$ is the average fitness for the parental generation.

$z$ is the average value of z for parental generation;

$z'$ is the average of z for the filial generation.

$z_2' - z_2$ (for example) is the average value of $z_2$ in the second filial generation minus the average of $z_2$ in the parent's generation.

$^1$ This site condenses some critical discussion of the Price equation. I have not worked through it yet but it addresses some lingering doubts I have about just what this equation means. Strongly recommended.

  • $\begingroup$ Thanks - I've worked that out using my R script & got the same answer! I know it was not in the original question but could you help explain the second term on the RHS ($E(wiΔzi)$) which shows the transmission bias. Perhaps if I said that one of the $z$=2 parents has 4 offspring where $z$=2 and one where $z$=3, the other $z$=2 parent has 5 offspring of $z$=2. $\endgroup$
    – rg255
    May 22, 2014 at 7:35
  • $\begingroup$ This example only furnishes the requested calculation but there is no functional relationship between the trait z and fitness w. A more instructive example would be Wiki's note on 'altruism' at the linked page. $\endgroup$
    – daniel
    May 27, 2014 at 23:04

This is a nice numerical walk-through and explanation, see this webpage.

As requested I've sketched out a solution to the specific case above.

A nicer way for caclulations is to rewrite the price equation as:

$$ \Delta z = Cov(w_i/\bar{w}, z_i) +E(w_i/\bar{w}, \Delta z_i) $$

So lets draw out some important terms.

In the current population average for $z$, the average trait value in the second generation $z'$ and, the average relative fitness of the parents $\bar{w}$ are:

$\bar{z} = 1.4$

$z' = 1.769$

$\bar{w} = 0.2002$

So we an brute force the $\Delta z$ by doing $1.769-1.4 = 0.369$. However we shall also show this using the price equation (note for sample data the correction is $n-1$ not $n$ as shown below).

$Cov(x,y) = ((x_1 - \bar{x})*(y_2 - \bar{y})+(x_2 - \bar{x})*(y_1 - \bar{y})+ ... (x_n - \bar{x})*(y_n - \bar{y}))/n$

Using the data provided we can say:

$Cov(w_i/\bar{w}, z_i)= ((3 * (0.077 - 0.2002)*(1-1.769)) + (2 * (0.385-0.2002)*(2-1.769)))/5 = 0.07392 $

This is a per capita change. $0.07392 * 5 = 0.3696$ (rounding error).


So the OP identifies a situation where transmission effects are non zero. Lets just consider that the mutation that causes z=2 is a super-synergistic and causes its offspring to be z=4. The expectation term in this case is:

$E(w_i/\bar{w}, \Delta z_i)= ((w_4/\bar{w})*(z'_4-z_4) + (w_5/\bar{w})*(z'_5-z_5)) /5$

I've ignored the first 3 individuals because the transmission effect will make their terms 0 (1-1=0).

  • 5
    $\begingroup$ Thanks for sharing @Sanalphatau. Rather than providing a link-only answer, we typically ask community members to provide a brief summary or excerpt of the salient point(s) from the linked material (see biology.stackexchange.com/help/referencing). If for any reason your link gets broken in the future, this answer would become useless without any additional info. $\endgroup$ May 20, 2014 at 16:12
  • $\begingroup$ Thanks, I'll take a look shortly (@DanielStandage raised a good point so perhaps you would like to elaborate on the answer). I've also edited the question so that it makes a greater attempt to draw fuller answers. $\endgroup$
    – rg255
    May 20, 2014 at 17:19
  • 3
    $\begingroup$ Apologies, not very well versed with the guidelines. I'll read through and update my answer in the coming day or two (so its more stand alone). $\endgroup$ May 20, 2014 at 23:16
  • $\begingroup$ Thanks @Sanalphatau - I look forward to it. If you can then it would be good if you could help me solve the above problem, I think this would help me get my head around it, my main confusion is just knowing which numbers to use where $\endgroup$
    – rg255
    May 21, 2014 at 17:58
  • $\begingroup$ The first part of your calculation agrees with part (1) of my answer above (divide cov by w = 2.6). Your calculation works but I think by definition $\bar{w}= (1/[n_1+n_2])(w_1 n_1 + w_2 n_2).$ If you finish the second part and show the two sides equal I would upvote. OP added the second part after he got the first part. $\endgroup$
    – daniel
    May 29, 2014 at 0:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .