WhatsApp Chat Analysis

1 minute read

In this post, I will analyze some WhatsApp chats of mine. I forked this repo and modified it a little bit. My fork is here.


Messages that include Zoom links were causing the program to crash. I filtered these messages.

Chats that are exported without media were causing the word-cloud plot to have a giant “media omitted” phrase. Fixed this.

I added two functions for plotting the message counts per day and per month.

Figures of my chats

Let’s look at some plots now.

Family group

family_sunburst family_weekday

Naturally the peak time is the afternoon for me due to time zone difference, and we text before I go to bed too. Except Tuesday, the distribution over days is pretty much uniform.


mom_sunburst mom_weekday

We text throughout the day and the frequency increases towards afternoon. Tuesday is again the day with the least amount of texting.


dad_sunburst dad_weekday dad_wordcloud

Daily pattern has two peaks. Weekly texting pattern is much different compared to the one with my mom.


girlfriend_sunburst girlfriend_month

Hourly texting distribution is pretty much uniform. I was not in the U.S. during last summer, so the frequency peaked there.

Friend 1

friend1_sunburst friend1_month

10+ years of friendship. Interesting monthly plot. I really do not know the reason behind it.

Friend 2

friend2_sunburst friend2_weekday friend2_month

High school friend. We talk a lot about football (soccer). The frequency peaks on Tuesday-Wednesday and in the weekend at ~2pm Chicago time because of the matches. Monthly frequency increases starting in January and peaks in June, overlapping the end of the football season.

Friend 3


A friend in the U.S., apparent from the hourly plot.

Friend group 1

friendgroup1_sunburst friendgroup1_month

High school friends from Turkey. Irregular frequencies, both hourly and monthly.

Friend group 2

friendgroup2_sunburst friendgroup2_weekday friendgroup2_wordcloud

Friends in Chicago. Mostly weekend plans.