My Profile Photo


Youth is not a time of life, it is a state of mind.

The one-child policy and the imbalanced sex ratio

It is well known that China has an imbalanced sex ratio. I was discussing one day with my wife if this has anything to do with the infamous one-child policy. Note that there were practically many variants of this policy. In particular, in some regions rural families were allowed to have a second child if their first one was femaile. Clearly this seems to favor boys, but is there any causal relationship between this and the imbalanced sex ratio?

To simplify the problem, we made two assumptions. Firstly, every familiy would keep having babies until they have got a boy, after which no more children could they have. This is more or less reasonable. We have seen quite a few families in real life with two or three elder sisters and one little brother. Secondly, the probabilities of a baby being a girl and a boy are equal: both are 0.5. Now the problem reduces to the comparison between the expected number of boys and girls each family will have.

Based on the assumptions stated above, the number of boys is exactly 1 for any family, so the expectation is 1 as well. But what about girls? A family will have no girls if their first baby is male, will have one girl if the first baby is a girl but the second is not, etc. It’s easy to see the pattern: to have \(n\) girls, a family need to have their first \(n\) babies as girls plus the \(n+1\)th as the terminating boy. The expectation is just a sum over all the possibilities:

The sum is an arithmetico-geometric sequence and may require some high school math to solve. But the answer is clear: both the number of expected boys and girls are 1, so the (simplified) policy has no effect on the sex ratio.

Hmm, interesting. That actually sounds a bit counter-intuitive. So I wrote the short Python script below to confirm my findings.

#!/usr/bin/env python2

import random

N = 100000
n_boy = n_girl = 0
for _ in range(N):
    while random.getrandbits(1): n_girl += 1
    n_boy += 1
print float(n_boy) / n_girl

It turns out my previous conclusion is correct. With this simple model, the sex ratio is indeed 1:1!

Out of curiosity, I did some further searching online about the causes of the imbalanced sex ratio, which is beyond the scope of this passage. However, I recommend this zhihu post on this issue for furthe reading.

comments powered by Disqus