A whirlwind tour of the allotaxonometer

Comparing baby name distributions in Quebec with rank-turbulence divergence

Every year in Quebec, the newspaper La Presse does a short analysis of baby name dynamics. On June 22nd, they examined the trend of 433,000 unique baby names Quebecers have given to their children, over 4.1 million births since 1980. They found that Emma hit first place in 2023, while Noah stayed at the top for the fourth consecutive year. Some names have made a comeback, such as Charlie, a popular name in the 2000s that lost ground in the 2010s, before making a comeback between 2018 and 2023.

Here is the ranking of the girl baby names in 1980:

JULIEMELANIEKARINEGENEVIEVEISABELLECAROLINEANNIEVERONIQUEVALERIEMARIE EVECATHERINESTEPHANIEMELISSANATHALIENANCYSOPHIEMARIE CLAUDEANNICKJOSEEAMELIEAUDREYCHRISTINESANDRAEMILIESONIACHANTALCINDYJENNIFERNADIAMARTINE05001k1.5k2k

Here is the ranking for girl baby names in Quebec for 2023:

ALICEFLORENCEEMMAOLIVIACHARLIECHARLOTTELIVIALEAJULIETTEBEATRICECLARAMILAROMYSOFIAROSEZOEMIAEVAROSALIECHLOELEONIEVICTORIAJULIAFLAVIEJADEELENAADELEMAEVABILLIEJEANNE0100200300400500

I really like this analysis, but there are some limitations in comparing ranks using raw counts, especially when it comes to systems that are known to be "heavy-tailed". That is, when a few names, or types, occur many more times in your dataset than less frequent ones, aka the tail. For instance, in the analysis the author compares baby names between "then and now". By just looking at raw counts, we are stuck with such comparisons where top-ranking baby names in 1980 might now be in the tail, which is a bit underwhelming. How can we know about the most surprising comparisons, given the heavy-tailed distribution?

Allotaxonometer provides a systematic way to analyze these shifts using divergence metrics.

This is the diamond plot. The axes here represent the ranks for different types for a pair of systems. If, say, Alice and Florence were very frequent both now and then, exactly as frequent, they would rank high on both axes, and sit on the diagonal.

As we saw, Julie was the most popular baby name in 1980, while it was ranked much lower in 2023. Now, you'll notice that as you hover over less frequent types, they tend to have more types in them. This is because each cell represents the number of times baby names appear; there is only one Alice, appearing hundreds or thousands of times, while there are many names that appear only once or twice, like Ysabelle or Xiomara. The legend indicates the scale, with darker colors showing there are more counts per cell.

We now add 2023 to examine the shift in popularity. The bottom right plot helps keep track of the contribution from each system in the shared vocabulary, as we throw out any names that are not shared between the two systems. As discussed in the analysis, we can see that Charlie was in the tail in 1980, before ranking much higher in 2023.

The full picture

We now add the final chart to our canvas, the wordshift plot, with our divergence metric of choice, the rank-turbulence divergence. The wordshift plot shows a more direct view of how baby names shift across pairs of systems, with the rank being shown in pale grey. For instance, Florence going from the 409 rank in 1980 to 1.5 in 2023.

Where the α parameter lets us tweak the relative importance of the divergence metric, as shown in the top left expression. Try α = ∞, you will see that types tend to be similarly ranked with their frequency, with Julie at the top. By contrast, α = 0 allows us to inspect what is happening further down in the tail. Finally, those contour lines underlying the diamond plot help guide our interpretation of the rank-divergence metric, tracking how α is varied.

For much more detail about this tool, see the foundational paper. To try the tool with your own dataset, visit our web app. If you are more of a coder, you might enjoy our Python version.

Appendix: Data can be found here, La Presse trend analysis can be found here.