Skip to main content

An age-dependent ovulatory strategy explains the evolution of dizygotic twinning in humans

Cite this dataset

Tomkins, Joseph et al. (2020). An age-dependent ovulatory strategy explains the evolution of dizygotic twinning in humans [Dataset]. Dryad.


Dizygotic twinning, the simultaneous birth of siblings when multiple ova are released, is an evolutionary paradox. Twin bearing mothers often have elevated fitness1-5; but despite twinning being heritable6, twin births only occur at low frequencies in human populations7. We resolve this paradox by showing that twinning and non-twinning are not competing strategies, instead dizygotic twinning is the outcome of an adaptive conditional ovulatory strategy of switching from single to double ovulation with increasing age. This conditional strategy when coupled with the well-known decline in fertility as women age, maximizes reproductive success and explains the increase and subsequent decrease in twinning rate with maternal age that is observed across human populations8-10. We show that the most successful ovulatory strategy would be to always double ovulate as an insurance against early fetal loss, but to never bear twins. This finding supports the hypothesis that twinning is a byproduct of selection for double ovulation rather than twinning.


These data are used to generate the figures in the manuscript.

Figure 1 is a composite data set where twinning rates are taken from different populations and fitted with the model as described in the ms.

Fig 2 are data generated from the simulation model.

Fig 3 are generated from the analytical model

The R code is supplied by the authors with the request that future users of the code are aware that this is code represents an ongoing research enterprise of ours and that they contact the authors in a spirit of collaboration ( We think that there are lots of interesting things to do with the simulation and we are happy to engage in collaborations and test new ideas. We are currently working on variation within and across populations.

The code runs the simulation, numerous replicates of which, with appropriate adjustment to the input variables, are used to generate the data in Figure 2. 

The manual is a help file for the code.

Usage notes

Because the R code is a simulation where, at numerous stages, the probabilities of various events are drawn from distributions, exact replication of the Fig 2 data is not anticipated, however the pattern should be very similar when numerous runs of the simulation are combined. 


Australian Research Council, Award: FT110100500