I looked at the birth dates of the top 100 ranked professional boxers of all time (67 of them to be exact). 40% of them were born during certain 3 month-long time periods. If birth date of boxers were totally random (as we'd expect) than in any 3 month period, about 25% of boxers should be born during any 3 month period, but I found a period where it was 40%. I found another 3 month period where only 12% of boxers were born. Question is--is that 40% statistically significant compared to the expected 25%? Same question for the 12% (is that statistically significant different from 25%)

I can't seem to figure out how to run the numbers. As mentioned n = 67.

(Actually, birth month is not perfectly distributed--somewhat more people are born in summer months than winter but I think this should not affect the total 'story' here). I very much appreciate any help.


2 Answers 2


The results, as reported, are not statistically significant.

We can arrive at this conclusion (and better understand how it is meant to be interpreted) in steps. The first step is to take to heart Scortchi's comment,

Beware of data dredging.

This is the process of looking for "patterns" in data, finding one, and then applying a formal statistical test to determine its "significance." This would be an abuse of statistical testing, as has been amply explained and demonstrated in many places.

The second step is to ask whether the pattern found in these data is nevertheless so striking that it would be reasonable to take it as evidence of a meaningful variation in birth month. Some patterns are perfectly obvious, no matter what! Let's screen the results, using crude approximations and statistical models, to see how strong the results might be. Suppose that

  1. The data could be conceived of as a random, representative sample of a well-defined population, such as "all champion professional boxers." Although this is obviously not a random sample, it is plausible to treat it as if it were, at least for these screening purposes.

  2. Birth months are divided into four contiguous non-overlapping seasons (without reference to the data values).

  3. As a null hypothesis (tentatively held, to be evaluated in light of the data), all variation observed in these seasonal totals is random.

With these assumptions, the count for any individual season has a Binomial$(67, 1/4)$ distribution. A Normal approximation to this distribution, which has a mean of $67/4\approx 17$ and standard deviation of $\sqrt{67(1/4)(1-1/4)}\approx 3.5$, suggests that values within a couple SDs of the mean should be expected as a result of sampling variation. This is the interval $[10, 24]$, having a width of $14$ (equal to $21\%$ of the total).

Although the quoted statistic of $40\% - 12\%$ = $28\%$ for the range, equal to $19$, is larger than $14$ (and therefore on the high side), it isn't that high. Variations in natural birth rates as well, variations in the lengths of quarters (which range from $90$ to $92$ days), and the fact there are $12$ (not just $4$) possible three-month sequences to look at, all suggest that $19$ might be on the margin of being statistically significant.

This takes us to the third step: let's try to reproduce the data evaluation that actually occurred. If one were exploring birth date data to look for patterns, the most powerful methods would look at individual dates. I will suppose, though, that this was not performed and that initially dates were summarized by month. One might then plot frequencies by month and look for patterns of highs and lows, much as described in the question. Plausibly, such a "pattern" would consist of some contiguous series of months with high average counts and some other contiguous series of months with low average counts.

We could generously characterize this search for patterns as a systematic statistical procedure. One way would be to look for statistically significant differences (at some desired level $\alpha$, such as $\alpha = 0.05 = 5\%$) among the individual months. If such differences did not appear, one would look for significant differences among windowed monthly sums using a two-month window, then a three-month window, and so on. (It is intuitively obvious that no more information is gained beyond a six-month window.)

The statistic for this procedure will be a vector $\mathbf t = (t_1, t_2, \ldots, t_6)$ giving the observed ranges of windowed means for windows of lengths $1, 2, \ldots, 6$ months. For, example, consider these simulated monthly counts (which occurred in the second of $1,000,000$ iterations of this experiment):

Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb 
  0   8   8  10   9   5   3   6   5   7   3   3 

Their range is $t_1 = 10 - 0=10$. Their two-month sums (given by Mar+Apr, Apr+May, ..., Jan+Feb, Feb+Mar) are

  8   16   18   19   14    8    9   11   12    10     6     3

The range of those is $t_2 = 19-3=16$. Continuing like this through the six-month sums gives the vector of ranges

$$\mathbf t = (10,16,21,22,22,19).$$

Such a statistic will be considered "significant" if, as one scans through it, any of its components $t_k$ is in the critical region for a size-$\alpha$ test for windowed sums of width $k$. Because we are looking at ranges, the critical region of unusually high ranges for each $k$ can be described by a single number $c_k$. If any of the $t_k$ exceed $c_k$, one would have noticed a "pattern."


Marginal distributions of the ranges for windowed sums with $67$ total observations were computed by simulating $1,000,000$ samples. The observed value of $19$ is somewhat rare, as seen by its position in the tail of the "Window Width 3$ plot, but in the context of the overall search for patterns it does not appear unusual, as explained below.

Because multiple, interdependent tests are performed on the same data, the actual test size will not be the same as the nominal size of $\alpha$. The error rate will be inflated due to the repeated "dredging" that occurs during this six-step process. Simulation helps us estimate that error rate. For instance, when running all six steps at a nominal level of $\alpha=0.05$, simulations show that fully ten percent of perfectly random results appear to be "significant." To compensate for this inflation, I performed a search to find a smaller nominal $\alpha$ that leads to a five percent error rate. Based on a simulation of $1,000,000$ samples, the nominal $\alpha$ must be very close to $0.0254$. Using it, the critical vector is

$$\mathbf c = (c_1, c_2, \ldots, c_6) = (12, 16, 19, 20, 22, 23)$$

and the actual (Type I) error rate is $0.048\approx 5\%$. (It is not possible to hit $5\%$ exactly due to the discrete nature of the distribution.)

The one thing we know about the actual data is that $t_3 = 19$. Because this does not exceed $c_3$, we do not reject the null hypothesis. In other words, none of the information disclosed in the question is strong enough to convince us of the need for any explanation of the data behavior beyond natural, random chance variation.

The fourth step is to consider whether the previous conclusion should be modified due to departures between reality and our models of the data and the data-exploration process. The binomial model is fairly good: it accounts adequately for major behaviors in birth rates (but ignores small fluctuations in overall birth rates in the population and temporal correlation in those rates). The sequential pattern-seeking model is likely inadequate: it cannot reflect all the different ways these data might have been looked at to seek patterns. Both limitations of the models suggest they are not sufficiently conservative. We should therefore require strongly significant results before we are comfortable concluding that there is any temporal pattern to professional boxing birth rates at all.

One could conduct more powerful exploration of these data, but given that they have already been worked over so well, it seems unlikely that any new results would be strong enough to change our negative conclusion. The best use of these data might be to provide corroborative evidence to support conclusions from another related dataset that is carefully and formally evaluated.

R code to reproduce the simulation.

It requires about one second per $100,000$ iterations. Set n.iter accordingly.

# Precalculate coefficients for a width-k circular neighborhood sum.
focal.coeff <- function(n, k) {
  outer(1:n, 1:n, function(i,j) {
    m <- (j - i + floor((k-1)/2)) %% n
    0 <= m & m < k
# Return days per month.
month.days <- function() {
  months.per.year <- 12
  days.per.year <- 365.25
  days.per.month <- ceiling(days.per.year / months.per.year)
  # This is the pattern:
  d <- round(days.per.month - (((1:months.per.year-1) * 3) %% 5) / 5, 0)
  # Adjust the last month to correct the total:
  d[months.per.year] <- days.per.year - sum(d) + d[months.per.year]
  names(d) <- c("Mar", "Apr", "May", "Jun", "Jul", "Aug", 
                "Sep", "Oct", "Nov", "Dec", "Jan", "Feb")
# Multinomial simulation.
size <- 67
n.iter <- 1e6
p <- month.days()
x <- matrix(rmultinom(n.iter, size, p), nrow=length(p), dimnames=list(names(p)))
# Find the ranges of windowed sums.
m <- floor(length(p)/2)
ranges <- matrix(NA, m, n.iter)
for (k in 1:m) {
  stats <- apply(focal.coeff(dim(x)[1], k) %*% x, 2, range)
  ranges[k, ] <- stats[2, ] - stats[1, ]
# Study them.
# par(mfrow=c(2,3))
# range.max <- max(ranges)
# colors <- hsv(0:(m-1)/m, 0.7, 0.8)
# invisible(sapply(1:m, function(k) 
#   hist(ranges[k, ], breaks=(0:range.max)+1/2, xlim=c(0, 32), 
#        border="#e0e0e0", col=colors[k],
#        xlab="Range", freq=FALSE,
#        main=paste("Window width", k))))
# Critical values.
alpha <- 0.0254
(critical.values <- apply(ranges, 1, quantile, probs=1-alpha))
# Sequential error rates.
# The Type I error rate is the maximum of these six rates.
(rowMeans(apply(ranges > critical.values, 2, cumsum) > 0))
  • 1
    $\begingroup$ This is a really wonderful answer -- it certainly deserves more upvotes!! $\endgroup$ Jul 24, 2015 at 4:03

A basic approach

You should be able to find data on births by time of year for the population as a whole.

To see if there is evidence that boxers have a different distribution of birth dates, given your sample size I suggest you work at a granularity of "months". Your null hypothesis is that boxers' birth months follow the same distribution as the wider population.

For each month you can calculate the "expected frequency" of boxer birthdays by multiplying your sample size by the proportion of people in the wider population who were born in that month.

You can then compare that to the "observed frequency" - the number of boxers who actually did have a birthday in that month. To determine if there is significant evidence of a difference between them, you can use a chi-squared goodness of fit test.

Issues with the basic approach

For a student working at an introductory level I'm hoping the above is an appropriately pitched answer. I don't think it is the "best" way to do things - for instance it throws away data on actual date of birth because it only looks at month, and it groups 1 Feb with 28 Feb despite it being close to Jan 31. Statisticians generally hate throwing away information from their data. This is really just a special case of binning or discretizing continuous data and that's well-known to be a bad idea.

More sophisticated approaches are certainly possible that would take account of the actual day of birth. Moreover, they should recognise that 1 January is not at the opposite end of the year to 31 December, but rather those days are adjacent - this is the domain of circular statistics (also called directional statistics). Note that the chi-squared goodness of fit test treats month as nominal data, so lacks any concept of ordering of months at all - not only is the subtle point that January is next to December missed out, so is the more obvious fact that January is next to February.

There is another issue with binning by month. If you find a significant result because, say, March and November are overrepresented while May and January are underrepresented, it is difficult to interpret that meaningfully. I suspect this relates to the underlying purpose of your investigation: it's probably not month-to-month variation you're interested in.

Relative age effect and the problem with three month windows

I thought I should say something about why time of year might matter for birthdays of professional sportspeople - at youth level it can be advantageous to be one of the older people in your age category. So what you are investigating isn't a completely silly idea - it is a well-studied phenomenon in academia and sports science called the relative age effect - though your sample size may be too low to detect such an effect even if it exists (this is the problem of statistical power).

I suggested months as you should have enough of a sample size to make a chi-squared test feasible (I imagine your expected frequencies will be at least 5 in each month) and months are a pretty objective thing to classify by.

An issue with sorting into three month windows is that it introduces some subjectivity - do you take January to be part of the window from January to March, or from December to February, or from November to January? It would be tempting to choose in such a way as to maximise the discrepancy between observed and expected births.

Suppose that in youth competition, someone born in September will be the youngest in their age category while someone born in August will the oldest, and you wonder whether this confers an advantage that might impact whether they transition to professional status, then you might just want to compare two six month windows - in my example, September to February versus March to August. You can then see whether being one of the older competitors in your age band as a youth competitor is associated with becoming a professional boxer - though this is subject to various caveats and can't prove causation. What's important is there was an objective justification for the selection of the six month windows, rather than selecting them based on the data. This could be done as a basic chi-squared goodness of fit test with two cells in your table and hence one degree of freedom.

  • $\begingroup$ That is very helpful, thanks. I will post a part 2 to this question soon and explain why I phrased the question the way I did. $\endgroup$
    – Dave S
    Dec 19, 2014 at 10:48
  • $\begingroup$ (+1) Consider including that important comment as at least a footnote to the answer & mentioning circular statistics. $\endgroup$ Dec 19, 2014 at 11:01
  • $\begingroup$ @Scortchi When writing the answer I was in two minds about mentioning circular statistics - when investigating relative age effects, we anticipate there to be something that breaks circularity. But on reflection I think you're right that it should be mentioned. After all, the null distribution should assume circularity. $\endgroup$
    – Silverfish
    Dec 19, 2014 at 11:27
  • $\begingroup$ I am hoping somebody posts the "correct" approach as a complement to the "introductory" approach! (If nobody does, I will have a go at it when I've got time.) Since this is an active area of research it would also be interesting to look at some papers (I'll do this at some point, if I've got access, and hopefully add to my answer) to see what the "actual" approach is. $\endgroup$
    – Silverfish
    Dec 19, 2014 at 11:30
  • 1
    $\begingroup$ @Scortchi I think it's probably a bad idea to assume uniformity, so long as data for the wider population can be obtained. For this sample size it's unlikely to be an issue, but we wouldn't want to reject $H_0$ in the case where boxers do follow the same birthdate distribution as the wider population and the test simply detects this distribution's departure from uniformity! I think if population data is available then it should be possible to perform Kuiper's test to detect if boxers deviate from it. $\endgroup$
    – Silverfish
    Dec 19, 2014 at 12:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.