Time Series Clustering of Baby Names

Who names their kids John anymore?! Kids don’t know what an awesome name they’re missing out on. It makes me wonder which other names are fading away. Which ones are rising? And which ones had their few years of glory? So using the Social Security baby names database, I applied a clustering technique to find different historical patterns and group names based on those patterns. Click the buttons to see results for boys and girls names:

boys - Pattern 1


Notes
The presidential group. Cleveland, George, Herbert, Monroe, Woodrow and probably others US presidents I'm missing.
Names
Adolph, Albert, Alfred, Amos, Archie, Armand, Arthur, Ben, Bernard, Carmine, Cecil, Charley, Charlie, Chester, Clarence, Claude, Clement, Cleveland, Clyde, Earl, Ed, Edmund, Elbert, Ellis, Elmer, Emil, Emory, Ernest, Ervin, Erwin, Everett, Floyd, Forest, Francis, Frank, George, Gus, Harold, Harry, Henry, Herbert, Herman, Homer, Horace, Howard, Hubert, Hugh, Ira, Irvin, Irving, Johnie, Leo, Lester, Lewis, Lloyd, Louis, Luther, Mack, Marion, Milton, Monroe, Morris, Ollie, Orville, Otis, Otto, Pasquale, Percy, Ralph, Roscoe, Rudolph, Rufus, Russel, Sam, Sidney, Sylvester, Virgil, Vito, Walter, Wilbert, Wilbur, Wilfred, Will, Willard, Willie, Willis, Wilmer, Woodrow

boys - Pattern 2


Notes
John, Johnnie and more US presidents: Roosevelt, Theodore, Truman, Ulysses, Warren!
Names
Alton, Alvin, Arnold, Aubrey, Augustine, Barney, Bennie, Bert, Billie, Boyd, Buford, Burton, Carl, Carmen, Carroll, Charles, Clair, Clifford, Clifton, Conrad, Cornelius, Coy, Delbert, Delmar, Denver, Dewey, Doyle, Earnest, Edmond, Edward, Edwin, Eldon, Elton, Elvin, Elwood, Eugene, Forrest, Franklin, Fred, Frederic, Frederick, Gale, Garland, Gilbert, Gordon, Grover, Harlan, Harris, Harvey, Hollis, Irwin, Jack, Jessie, Joe, John, Johnnie, Junior, Kermit, Laurence, Laverne, Lawrence, Lee, Leland, Leon, Leonard, Leroy, Leslie, Linwood, Loren, Louie, Lowell, Loyd, Lyle, Marvin, Mary, Maurice, Maynard, Melvin, Merle, Merlin, Merrill, Millard, Morton, Murray, Myron, Ned, Nick, Norbert, Norman, Norris, Odell, Pete, Ray, Raymond, Roland, Roosevelt, Roy, Salvatore, Sammie, Sanford, Seymour, Sherman, Stanley, Theodore, Thurman, Tommie, Truman, Ulysses, Vernon, Wallace, Ward, Warren, Weldon, Wilburn, Wiley, William

boys - Pattern 3


Notes
The diminutive / suffix era. Billy, Bobbie, Bobby, Buddy, Eddie, Frankie, Freddie, Jackie, Jimmie, Jimmy, Johnny, Lonnie, Teddy, Tommy!
Names
Al, Alan, Allan, Allen, Alphonso, Benny, Bill, Billy, Bob, Bobbie, Bobby, Buddy, Calvin, Carey, Carlton, Clark, Curtis, Dale, Dan, Darrel, Darrell, Darwin, David, Dean, Dick, Domingo, Don, Donald, Douglas, Duane, Eddie, Frankie, Freddie, Fredrick, Galen, Gene, Gerald, Gerard, Glen, Glenn, Guadalupe, Guy, Hal, Jackie, James, Jay, Jerald, Jerome, Jerry, Jim, Jimmie, Jimmy, Johnny, Joseph, Karl, Kenneth, Kirby, Lionel, Lonnie, Lynn, Marlin, Marshall, Martin, Neal, Neil, Nelson, Pat, Paul, Perry, Peter, Phil, Philip, Phillip, Rex, Richard, Robert, Roger, Ronald, Royce, Rudy, Russell, Sammy, Shelby, Sheldon, Stephen, Stewart, Stuart, Ted, Teddy, Thomas, Tom, Tommy, Van, Vance, Vaughn, Wayne, Wendell, Winston

boys - Pattern 4


Notes
The comebacks. These have stuck around a while and coming back again.
Names
Abraham, Alfonso, Alonzo, Angelo, Anton, August, Augustus, Benito, Bruno, Carlo, Clayton, Coleman, Dallas, Domenic, Dominick, Edgar, Emanuel, Emery, Emmett, Felix, Fidel, Grady, Gregorio, Harley, Houston, Ignacio, Isiah, Ivan, Jasper, Jean, Jefferson, Jess, Julius, Malcolm, Manuel, Max, Moses, Noel, Oscar, Ramon, Reuben, Rocco, Samuel, Santos, Simon, Solomon, Sterling, Thaddeus, Victor, Vincent, Wilson

boys - Pattern 5


Notes
The baby boomers. And four versions of Rick/Ricky.
Names
Barry, Bruce, Cary, Chuck, Dana, Danny, Dave, Denis, Dennis, Denny, Donnie, Doug, Dwight, Ernie, Garry, Gary, Gerry, Gregg, Jan, Jeff, Jeffry, Ken, Kent, Kerry, Kim, Larry, Mickey, Mike, Monte, Monty, Randal, Randall, Randolph, Randy, Rick, Rickey, Rickie, Ricky, Robin, Rodger, Rodney, Ron, Ronnie, Ronny, Steve, Stevie, Terry, Tim

boys - Pattern 6


Notes
Names
Bart, Brad, Bradford, Bret, Chris, Craig, Curt, Darin, Darren, Darrin, Darryl, Daryl, Dewayne, Donny, Dwayne, Greg, Gregory, Jeffery, Jeffrey, Jody, Jon, Keith, Kelly, Kirk, Kris, Kurt, Marc, Mark, Marty, Matt, Micheal, Reginald, Robbie, Rocky, Roderick, Rusty, Scot, Scott, Scottie, Scotty, Stacey, Stacy, Steven, Terence, Timmy, Timothy, Todd, Tony, Tracy, Troy, Tyrone

boys - Pattern 7


Notes
Hispanic explosion. All but one names are Spanish. Wow!
Names
Adolfo, Agustin, Alberto, Alfredo, Andy, Antonio, Armando, Arturo, Blaine, Carlos, Efrain, Elliott, Elvis, Enrique, Ernesto, Felipe, Francisco, Gilberto, Gino, Gonzalo, Guillermo, Hector, Heriberto, Humberto, Jaime, Jose, Juan, Julio, Lorenzo, Marcel, Mario, Orlando, Pedro, Rafael, Ramiro, Raphael, Raul, Ricardo, Roberto, Rodolfo, Rogelio, Rolando, Salvador, Tomas, Vicente

boys - Pattern 8


Notes
Names
Andre, Anthony, Ashley, Blair, Bradley, Brent, Brett, Brian, Bryan, Bryon, Byron, Cedric, Chad, Chadwick, Clay, Clint, Clinton, Corey, Cory, Damon, Daniel, Darnell, Derek, Derick, Derrick, Dexter, Dion, Donnell, Eddy, Eric, Erich, Erik, Freddy, Geoffrey, Hans, Heath, Jamie, Jason, Jermaine, Jesse, Joel, Joesph, Joey, Josh, Kelvin, Kenny, Kevin, Kory, Kurtis, Lamar, Lamont, Lance, Marlon, Michael, Patrick, Pierre, Rene, Reynaldo, Rory, Ross, Ruben, Sean, Shane, Shannon, Shawn, Shelton, Sonny, Stephan, Terrance, Terrence, Toby, Wade, Wesley, Wilfredo

boys - Pattern 9


Notes
Names
Aaron, Adam, Andrew, Antoine, Brandon, Brenton, Bryant, Casey, Christopher, Courtney, Dustin, Jared, Jarvis, Jeremy, Jonathan, Jonathon, Joshua, Justin, Kendall, Kyle, Marcus, Mathew, Matthew, Ryan, Shaun, Stefan, Terrell, Travis

boys - Pattern 10


Notes
Names
Alec, Alejandro, Alex, Alexander, Alvaro, Andres, Aron, Austin, Bailey, Benjamin, Blake, Brendan, Brice, Bryce, Cameron, Cesar, Chandler, Christian, Cody, Colin, Dalton, Dante, Darius, Desmond, Devin, Devon, Dominique, Donovan, Drew, Duncan, Eduardo, Esteban, Fernando, Garret, Garrett, Gerardo, Grant, Gustavo, Hugo, Ian, Ismael, Jacob, Jake, Javier, Jesus, Jordan, Jorge, Luis, Malik, Marco, Marcos, Miguel, Mitchel, Mitchell, Moises, Morgan, Nathan, Nathaniel, Nicholas, Nickolas, Nicolas, Noe, Octavio, Omar, Pablo, Quentin, Quincy, Quinton, Saul, Sergio, Seth, Spencer, Taylor, Trevor, Tyler, Tyree, Zachary

boys - Pattern 11


Notes
K names got hot!
Names
Antwan, Beau, Branden, Brendon, Conor, Dakota, Damion, Davon, Deandre, Deangelo, Demarcus, Demetrius, Deon, Deshawn, Devan, Devonte, Dillon, Donte, Jamal, Jamar, Jamel, Jaquan, Jarod, Jaron, Jarred, Jarrett, Jarrod, Johnathon, Jordon, Kareem, Kasey, Keenan, Kendrick, Kody, Korey, Kristopher, Marquis, Marquise, Nigel, Rashad, Tanner, Tevin, Trevon, Tyrell, Zachery, Zackary, Zackery

boys - Pattern 12


Notes
Liam's arrival. Went on to be most popular name in 2013.
Names
Abel, Abram, Anderson, Asa, Asher, Axel, Barrett, Bennett, Brantley, Braxton, Brooks, Cruz, Eli, Elliot, Emerson, Ezra, Graham, Grayson, Hudson, Jace, Jameson, Josiah, Judah, Jude, Kai, King, Levi, Liam, Lincoln, Lucas, Mateo, Maximiliano, Miles, Milo, Oliver, Porter, Prince, Reid, Roman, Romeo, Santiago, Silas, Titus, Waylon, Weston

boys - Pattern 13


Notes
Ashton = Kutcher? Diego from Dora? Brady = Tom? Peyton = Manning?
Names
Adan, Aden, Adrian, Aldo, Alexis, Angel, Ashton, Avery, Brady, Caleb, Carson, Carter, Cole, Cullen, Cyrus, Davis, Dayton, Diego, Dominic, Drake, Elias, Elijah, Emiliano, Emilio, Emmanuel, Ethan, Evan, Ezekiel, Ezequiel, Fabian, Gabriel, Gavin, Giovanni, Harrison, Hayden, Hunter, Isaac, Isaiah, Isaias, Israel, Issac, Jackson, Jeremiah, Joaquin, Jonah, Jonas, Julian, Kieran, Landon, Lane, Leonardo, Leonel, Logan, Luke, Malachi, Mason, Mauricio, Maxwell, Myles, Noah, Nolan, Owen, Parker, Peyton, Pierce, Preston, Reece, Reed, Reese, Riley, Rodrigo, Sebastian, Walker, Wyatt, Xavier, Zane

boys - Pattern 14


Notes
Names
Addison, Ahmad, Ahmed, Aidan, Ali, Amir, Ari, Ariel, Braden, Brenden, Brennan, Brock, Bryson, Cade, Camron, Chance, Chase, Colby, Collin, Colton, Conner, Connor, Corbin, Cristian, Cristopher, Damian, Damien, Dane, Darian, Davion, Dawson, Deven, Dorian, Dylan, Erick, Gage, Griffin, Gunnar, Jakob, Jamison, Javon, Jayson, Johnathan, Josue, Justice, Kade, Kaleb, Kameron, Keaton, Keegan, Khalil, Kolby, Kristian, Kyler, Lukas, Markus, Maximilian, Micah, Mohamed, Mohammad, Mohammed, Moshe, Nathanael, Nikolas, Orion, Osvaldo, Payton, Quinn, Quintin, Rhett, Rigoberto, Skylar, Skyler, Tate, Tobias, Trace, Trent, Trenton, Trey, Tristan, Tristen, Triston, Tucker, Ty, Tyson, Ulises, Uriel, Zachariah

boys - Pattern 15


Notes
So hipster. 'den is in! Aiden, Ayden, Braeden, Brayden, Braydon, Caden, Caiden, Camden, Cayden, Holden, Jaden, Jaiden, Jayden, Kaden, Kaiden, Kayden, Zayden. And River??
Names
Aiden, Amari, Ayden, Bentley, Braeden, Brayan, Brayden, Braydon, Braylon, Brody, Caden, Caiden, Camden, Cash, Cayden, Cohen, Colt, Colten, Cooper, Declan, Easton, Finn, Gael, Greyson, Gunner, Holden, Izaiah, Jaden, Jadon, Jaiden, Jalen, Jamari, Jase, Jaxon, Jaxson, Jayce, Jayden, Jaylen, Jaylin, Jaylon, Jett, Kaden, Kaiden, Kayden, Kellen, Kingston, Kobe, Kolton, Landen, Luca, Maddox, Maximus, Mekhi, Nasir, Nehemiah, Paxton, Phoenix, River, Rowan, Ryder, Ryker, Rylan, Sawyer, Xander, Yahir, Zander, Zayden, Zion

girls - Pattern 1


Notes
The classics. Is your grandma here?
Names
Ada, Addie, Agnes, Alma, Beatrice, Bertha, Bessie, Clara, Cleo, Edith, Edna, Effie, Elma, Elsie, Elva, Estelle, Esther, Ethel, Fannie, Flora, Florence, Frieda, Gladys, Goldie, Hattie, Hazel, Helen, Hilda, Ida, Inez, Iva, Jessie, Jewell, Josephine, Lela, Lena, Leona, Lillie, Lizzie, Lucille, Mabel, Mae, Mamie, Marguerite, Mattie, May, Mildred, Minnie, Nellie, Opal, Pearl, Selma, Thelma, Vera, Viola

girls - Pattern 2


Notes
Names
Adele, Adeline, Alberta, Alice, Alta, Angeline, Anna, Annie, Bernice, Beulah, Blanche, Carmela, Carmella, Cecelia, Celia, Clarice, Cora, Cornelia, Della, Dora, Dorothea, Dorothy, Eleanor, Elinor, Elnora, Eloise, Elvira, Erma, Essie, Estella, Etta, Eula, Eunice, Eva, Evelyn, Fern, Frances, Francis, Freda, Geneva, Genevieve, Gertrude, Harriet, Harriett, Henrietta, Ila, Ina, Irene, Jennie, Jewel, Leola, Lillian, Lola, Lorene, Lottie, Louise, Lucile, Lucy, Luella, Lula, Mable, Marian, Marie, Marion, Marjorie, Matilda, Maxine, Millie, Mollie, Muriel, Myrtle, Nannie, Nell, Nettie, Ola, Olga, Olive, Ollie, Ora, Pauline, Pearlie, Ruby, Ruth, Sallie, Stella, Susie, Velma, Verna, Violet, Virgie, Virginia, Willie, Winifred

girls - Pattern 3


Notes
Don't kill the messenger; the database has 16,000 female John's. Jean, John, Johnnie, Juanita.
Names
Bernadine, Bette, Bettie, Betty, Billie, Dolores, Doris, Dorthy, Earline, Ernestine, Eugenia, Fay, Faye, Frankie, Georgia, Geraldine, Helene, Imogene, Irma, Jean, Jeannette, Jimmie, John, Johnnie, Juanita, June, Laverne, Lenora, Lenore, Lois, Lorraine, Lupe, Marcella, Margaret, Margie, Martha, Mary, Mavis, Melba, Nola, Norma, Reba, Rhoda, Rosalie, Rose, Rosetta, Rosie, Sybil, Sylvia, Vivian, Willa, Wilma

girls - Pattern 4


Notes
The ette's. Antoinette, Bernadette, Cluadette, Jeannette.
Names
Anita, Ann, Anne, Annette, Antoinette, Antonia, Arlene, Barbara, Bernadette, Betsy, Bettye, Beverly, Bobbie, Catherine, Claudette, Constance, Corinne, Corrine, Delia, Delores, Deloris, Dixie, Earnestine, Eileen, Elaine, Elizabeth, Ellen, Glenna, Gloria, Gwen, Gwendolyn, Jackie, James, Jane, Janette, Janie, Jeanette, Jeanne, Jeannine, Joan, Joann, Joanne, Joy, Joyce, Kathryn, Lee, Loretta, Lorna, Lou, Marilyn, Marlene, Mona, Myra, Myrna, Nadine, Nelda, Nina, Pat, Patsy, Patty, Peggy, Phyllis, Polly, Rae, Ramona, Rena, Rita, Robbie, Robert, Roberta, Rosa, Rosalind, Rosalyn, Rosemarie, Rosemary, Ruthie, Sally, Shirley, Sondra, Theresa, Therese, Wanda, Yvonne

girls - Pattern 5


Notes
Names
Bonita, Bonnie, Carol, Carole, Carolyn, Charlene, Connie, Dale, Darlene, Diane, Dianna, Dianne, Donna, Francine, Gail, Gale, Gay, Gayle, Glenda, Janet, Janice, Janis, Jeannie, Jo, Judith, Judy, Kathleen, Kay, Linda, Lucinda, Lynda, Lynne, Marcia, Margo, Marianne, Marsha, Maryann, Maureen, Nancy, Noreen, Patricia, Paulette, Sandra, Saundra, Sharon, Sharron, Sue, Susanne, Suzanne, Trudy

girls - Pattern 6


Notes
Names
Becky, Belinda, Beth, Brenda, Cathleen, Cathy, Cheryl, Chris, Cindy, Cynthia, Darla, Debbie, Debora, Deborah, Debra, Denise, Doreen, Jan, Jayne, Jeri, Joni, Karen, Kathy, Kim, Laurie, Lori, Lorie, Lorrie, Lynn, Marla, Pam, Pamela, Patrice, Patti, Paula, Penny, Rene, Rhonda, Robin, Ronda, Roxanne, Sandy, Shari, Sheila, Shelia, Sheri, Sherri, Sherrie, Sherry, Sheryl, Susan, Tami, Tammie, Teresa, Teri, Terri, Terrie, Terry, Vicki, Vickie, Vicky

girls - Pattern 7


Notes
The comeback. These names have stayed around and making a strong comeback.
Names
Aileen, Audrey, Callie, Caroline, Cecilia, Charlotte, Claire, Clare, Daisy, Elsa, Esperanza, Grace, Greta, Guadalupe, Hallie, Helena, Iris, Isabel, Josie, Julia, Lila, Lydia, Madeline, Maggie, Miriam, Naomi, Nora

girls - Pattern 8


Notes
Names
Alisa, Amy, Angela, Angelia, Annmarie, Bobbi, Bridgette, Candy, Carla, Cheri, Cherie, Christi, Christie, Christine, Christy, Colleen, Dana, Darcy, Dawn, Deana, Deanna, Dena, Dina, Gina, Ginger, Gretchen, Heidi, Jana, Janine, Jeanine, Jill, Jodi, Jodie, Jody, Julie, Karin, Kelley, Kelli, Kellie, Kelly, Kerri, Kerry, Kimberley, Kimberly, Kristi, Kristie, Kristine, Ladonna, Leann, Leanne, Leigh, Lisa, Lora, Lynette, Malinda, Marcy, Melinda, Michele, Michelle, Regina, Renee, Robyn, Rochelle, Shawn, Shelley, Shelly, Sonia, Sonja, Sonya, Stacey, Stacie, Stacy, Tamara, Tammy, Tanya, Tina, Toni, Tonia, Tonya, Tracey, Traci, Tracie, Tracy, Tricia, Trina, Valarie, Wendy, Yolanda, Yvette

girls - Pattern 9


Notes
Names
Angie, Camille, Carmen, Carrie, Celeste, Claudia, Colette, Daphne, Diana, Elisa, Elisabeth, Hope, Ingrid, Jacqueline, Jacquelyn, Johanna, Julianne, Karla, Katharine, Katherine, Lana, Laura, Laurel, Lea, Leslie, Lorena, Luz, Margarita, Maria, Maura, Melanie, Melody, Priscilla, Rebecca, Sara, Sarah, Valerie, Veronica

girls - Pattern 10


Notes
K names were hot
Names
Adrienne, Aimee, Aisha, Alicia, Alisha, Alison, Amanda, Amber, Amie, Andrea, April, Audra, Beatriz, Blanca, Brandi, Brandy, Brianne, Bridget, Candace, Candice, Cara, Cassie, Chandra, Charity, Chasity, Christa, Christina, Cortney, Cristina, Crystal, Danielle, Ebony, Erica, Ericka, Erika, Erin, Felicia, Heather, Hilary, Hillary, Holly, Jaclyn, Jaime, Jami, Jamie, Janelle, Jenifer, Jennifer, Jenny, Jessica, Joanna, Jolene, Kara, Kari, Katie, Katrina, Katy, Keisha, Keri, Krista, Kristen, Kristin, Kristina, Kristy, Krystal, Lacy, Lara, Latasha, Latisha, Latonya, Latoya, Lesley, Leticia, Lindsay, Lindsey, Mandy, Maribel, Melisa, Melissa, Meredith, Michael, Mindy, Misty, Monica, Monique, Natasha, Nichole, Nicole, Nikki, Rachael, Rachel, Rachelle, Randi, Raquel, Shana, Shanna, Shannon, Shauna, Shawna, Sheena, Silvia, Staci, Stefanie, Stephanie, Susana, Tabatha, Tabitha, Tamika, Tanisha, Tara, Tasha, Tiffany, Trisha

girls - Pattern 11


Notes
Names
Abbey, Abby, Adriana, Alanna, Alissa, Allison, Allyson, Alyson, Alyssa, Ana, Angel, Angelica, Angelique, Araceli, Ariel, Arielle, Ashlee, Ashleigh, Ashley, Ashton, Asia, Bethany, Bianca, Breanna, Brenna, Briana, Brianna, Britney, Brittany, Brittney, Brooke, Caitlin, Caitlyn, Carissa, Carly, Casey, Cassandra, Chelsea, Chelsey, Christian, Ciara, Cierra, Clarissa, Courtney, Desiree, Devin, Devon, Diamond, Dominique, Francesca, Haley, Hayley, India, Jasmin, Jasmine, Jenna, Jillian, Jordan, Justine, Kaitlin, Kaitlyn, Kali, Karina, Karissa, Kasey, Kassandra, Katelyn, Katlyn, Kayla, Kelsey, Kelsie, Kendra, Kenya, Kirsten, Lacey, Larissa, Lauren, Leanna, Mallory, Mara, Marina, Marisa, Marisol, Marissa, Maritza, Mayra, Meagan, Megan, Meghan, Mercedes, Miranda, Molly, Morgan, Noelle, Noemi, Precious, Raven, Rebekah, Ryan, Sabrina, Samantha, Sasha, Shayla, Shelby, Sierra, Simone, Summer, Tania, Taryn, Tatiana, Taylor, Tia, Tiana, Tiara, Tori, Vanessa, Victoria, Whitney, Yesenia

girls - Pattern 12


Notes
Names
Abigail, Allie, Amelia, Angelina, Annabelle, Athena, Aurora, Ava, Bella, Chloe, Delilah, Eliza, Ella, Ellie, Emilia, Emma, Evangeline, Faith, Gracie, Isabella, Isabelle, Ivy, Jocelyn, Juliana, Julianna, Juliet, Juliette, Laila, Leila, Leilani, Lilly, Lily, Lyla, Madalyn, Madelyn, Mariana, Natalia, Olivia, Phoebe, Piper, Sadie, Scarlett, Sofia, Sophia, Sophie, Valentina, Valeria, Zoe

girls - Pattern 13


Notes
Names
Adrianna, Alana, Alejandra, Alexa, Alexandra, Alexandria, Alexia, Alexis, Alondra, Anastasia, Ariana, Autumn, Cameron, Carolina, Daniela, Daniella, Dulce, Elena, Elise, Emilie, Emily, Esmeralda, Eve, Fatima, Gabriela, Gabrielle, Giselle, Hanna, Hannah, Jada, Jade, Julissa, Kate, Kendall, Kira, Kyla, Kyra, Leah, Lizbeth, Lucia, Macy, Madeleine, Mariah, Maya, Michaela, Nadia, Natalie, Paige, Paris, Perla, Savannah, Selena, Serena, Sidney, Sydney, Tessa, Viviana, Yasmin

girls - Pattern 14


Notes
Names
Aaliyah, Alexus, Alivia, Amaya, Aniyah, Ashlyn, Ashlynn, Bailey, Baylee, Brooklynn, Bryanna, Cadence, Camryn, Cassidy, Cheyenne, Dakota, Delaney, Destiny, Emilee, Hailey, Harley, Haylee, Heaven, Imani, Izabella, Jayda, Jayden, Jayla, Jazmin, Jazmine, Jordyn, Kailey, Kaitlynn, Kamryn, Kassidy, Katelynn, Kaylee, Kayleigh, Kaylie, Kaylin, Kennedy, Khloe, Kiana, Kiara, Kiera, Kiley, Kylee, Kylie, Lauryn, Lexi, Logan, Mackenzie, Madison, Makayla, Makenna, Makenzie, Mckenna, Mckenzie, Mikaela, Mikayla, Nayeli, Nevaeh, Nia, Paola, Payton, Reese, Riley, Rylee, Ryleigh, Savanna, Skylar, Skyler, Talia

girls - Pattern 15


Notes
Names
Addison, Alaina, Alayna, Alina, Aliyah, Aria, Arianna, Aubree, Aubrey, Avery, Brielle, Brooklyn, Brynn, Camila, Eden, Elaina, Eliana, Emely, Fiona, Gabriella, Genesis, Gianna, Harmony, Harper, Hayden, Keira, Layla, Liliana, London, Malia, Marley, Mia, Mya, Penelope, Peyton, Reagan, Serenity, Sienna, Tatum, Trinity, Zoey

How to read the charts

cluster-example-chris

This chart is for the boys name "Chris". It shows Chris's popularity in a given year relative to his average popularity. His name was 4 times more popular in the 1960 than his usual.

The charts in the following pages show the average (median) pattern of all names that have a similar historical pattern, and the shaded area represents the range where roughly half the names fall in (1 MAD from median). The pattern for Chris looks a lot like Bart's, Kurt, Kris's and Michael's. See boys' pattern #6.

I chose this metric because I wanted to analyze the shape of the curves, not the actual popularity of a name. By looking at relative popularity, these two names end up grouped together because they had the same trajectory.

Click the RIGHT arrow to navigate the name groups

Like what you saw?

Share with your friends!

How I did the Analysis

I started eyeballing a few charts like this:

name_samples2

The name Penelope showed up in the 1940s, went away and now is back strong again (thanks to Penelope Cruz?). John’s glory days are long gone, and so are Bertha’s. With 1000s of names in the database, how could I systematically find the different patterns and group names based on those patterns? One answer is time series clustering, which is a special application of cluster analysis.

Methodology summary:

Reminder: I am not a statistician; a professional might find things here statistically imprecise, but that’s ok with me. I’m just looking for some nice, intuitive insights and moving on to the next problem. The documented code is at Github.

  • Picked the top 1000 boys and top 1000 girls names . These represent ~95% of all births recorded in the Social Security database in the past 103 years. Disregarded the remaining 28,000 names to keep the groups to a manageable size.
  • Analysis is US nationwide. I bet we would see interesting differences across states — that’s an extra credit problem
  • Used functions in the dplyr library to transform the data set. Excel Users: basically a PivotTable with 1000 rows, one for each name, Year as the columns and the metric described in the next bullet.
  • For each name, computed its relative popularity each year. A relative popularity of 3.0 in 1980 means the name was 3x more popular that year compared to its usual popularity. That’s the metric we’re analyzing. Popularity itself = # of births with that name in a year / total births for that gender in a year. E.g., John’s 5% popularity in 1930 means 5% of all boys were named John that year.
  • Applied agglomerative / hierarchical clustering technique. This is the hclust() function along with dist() to compute the distance matrix. I preferred this to k-means clustering, because I wanted stable, nested results. K-means results vary each time it’s run, unless you set.seed(). And I used Ward’s method instead of the default complete linkage because I wanted fairly even-sized groups. I lost some precision in exchange for more interesting clusters. hclust(data, method="ward.D")
  • Performed the analysis separately for each gender. Really wanted to group boys and girls names separately.
  • Cut the tree at 15 branches. With 1000 names per gender, it was hard to visualize the dendrogram, so I just made the arbitrary call and it felt OK.

Unlike prior posts, I won’t walk through the code; it’s well-documented at Github if you’re interested.

General Findings

  • 15 clusters per gender seem to separate the names out fairly well.
  • I love how a lot of the alternate spellings of names ended up together. I never instructed the algorithm to consider spellings.
  • With the distance matrix, we can not only see which names are alike, but which names are very different. The next sections shows some of the “farthest” names.
  • After seeing clusters 14 and 15 for boys, I realized for time series clustering, the algorithm needs to know the order of time periods. E.g., that year 2012 is close to year 2013, so a name that spikes in 2012 can be grouped with a 2013 name if there is no better place for it. I’m sure that tweak is out there somewhere.

Worlds Apart

Aside from seeing which names are most similar, we can also see which ones are most different in terms of historical patterns. Here are the winners for the most far-apart names, living in different worlds:

Boys Names – Brantley vs Woodrow

About 34,000 Woodrow’s have been recorded, and most of them were born pre-1920. Brantley just started showing up in the past few years — all 9,000 of them.

woodrow_brantley

Girls Names – Ava vs Mabel

Ava (181k of them) and Mabel (72k) are worlds apart in terms of eras. But Mabel is starting a comeback now — let’s give it a few years and see what happens.

mabel_ava

Credits

John Foreman’s book, Data Smart, inspired me to try clustering. That book is awesome … if you know Excel and are a hands-on practical learner, there is no better book to start learning data mining / machine learning.

This site looks a little sketchy, but explained a few things in a really simple way. And thanks to my wife for putting up with all my newfound insights on baby names.

What do you think? Any surprises? Isn’t time series clustering awesome?

Leave a Reply

Be the First to Comment!

avatar

wpDiscuz