About Baby Names

This app lets you search for baby names and view their popularity trends over the past 134 years. In addition, it shows alternative spellings and other names that sound like your search. The "sounds like" results are based on Double Metaphone and the "trends like" results are based on Euclidean distance (i.e., between the distributions).

The original babynames data is maintained by the US Social Security Administration. For each year since 1880, they provide a plain text file in this format:

yob2011.txt yob2012.txt yob2013.txt
Sophia,F,21799
Isabella,F,19850
Emma,F,18761
...
Sophia,F,22245
Emma,F,20871
Isabella,F,19026
...
Sophia,F,21075
Emma,F,20788
Olivia,F,18256
...

In order to visualize the data, I wrote a Python script to combine the individual text files into a single JavaScript object. For each name, I store how many times it occurs in each year:

f_counts = {
    ...
    'Sophia': [..., 21799, 22245, 21075],
    ...
};

Using this format, I wrote a JavaScript function to draw a bar chart in an HTML5 canvas. The x-axis ranges from 1880 to 2013 (year of birth) and the y-axis ranges from 0% to 0.3% (percent of births with that gender). Darker colors indicate higher percent values for the more popular names.

Here are the top 10 names for 2013 (see also Popular Baby Names on the SSA website). Hover your mouse over the charts for more details.

The original data consists of 102,690 names given to 333,417,770 people. For performance reasons, my app only includes names with at least 5,000 occurrences over time. Interestingly, this subset represents 92.3% of the population but only 3.58% of the names.

Male Female Total

Total People

168,137,041 165,280,729 333,417,770

Total Names

38,601 64,089 102,690

 Included People

158,153,848
94.1%
149,740,917
90.6%
307,894,765
92.3%

 Included Names

1,486
3.85%
2,187
3.41%
3,673
3.58%

Copyright © 2014 Chris Mayfield. Software released under the MIT license.