WaChat to PDF

WhatsApp Chat Statistics: Analyse Your Chats

How many messages have you exchanged? Who sends more? When are you most active? Here's how to generate statistics from your WhatsApp chat using the JSON export.

WhatsApp's own wrapped-style statistics have become a cultural moment - seeing who you message most, when you are most active, and how your communication patterns have changed over time is genuinely interesting. With the WaChat to PDF JSON export and a little data analysis, you can go far beyond the basics and answer much more specific questions about any chat.

Getting Started - The JSON Export

Statistics analysis starts with the structured JSON export from WaChat to PDF's pro plan. The JSON gives you a clean, tabular dataset where each message is a row with clearly labelled fields for sender, timestamp, message type, and content. Unlike the raw _chat.txt, the JSON requires no parsing - you can load it directly into Python, R, or a spreadsheet application and start querying immediately.

For a refresher on the JSON format and how to obtain it, see the <a href='/blog/whatsapp-json-export'>export WhatsApp as JSON</a> guide. Once you have the file, the analysis techniques below work with any JSON-compatible tool.

Basic Statistics with a Spreadsheet

For users who prefer not to write code, Google Sheets or Excel can handle basic WhatsApp statistics effectively. Import the JSON (Google Sheets: Extensions → Apps Script, or use a JSON import add-on; Excel: Data → Get Data → From JSON), which creates a table of messages. From there, a COUNTIF formula gives you message count per sender, and a pivot table with date rows provides daily message volume.

The most useful basic statistics to calculate in a spreadsheet are: total message count, messages per sender (with percentage), messages per month (to see volume trends), and most active day. These can be produced in under ten minutes with basic spreadsheet skills and give a meaningful overview of the conversation's history.

Using Python for Deeper Analysis

Python's pandas library makes deeper WhatsApp analysis straightforward. After loading the JSON with pd.read_json() and parsing the timestamp column with pd.to_datetime(), you have a fully queryable DataFrame. Grouping by sender with df.groupby('sender').size() gives message counts in one line. Resampling by day with df.resample('D', on='timestamp').size() gives daily message volume as a time series.

For hourly activity patterns, extract the hour with df['hour'] = df['timestamp'].dt.hour and plot a histogram. This typically reveals clear patterns - whether your conversations are most active at lunchtime, in the evening, or late at night. Adding matplotlib or seaborn for visualisation turns these numbers into readable charts that can be saved or shared.

Interesting Statistics to Calculate

Beyond basic counts, some statistics that WhatsApp chat data makes uniquely possible include: the longest streak of consecutive days with messages (a measure of conversation consistency), average response time between messages from different senders (who replies faster?), the most-used words or phrases across the full history (word frequency analysis), and the ratio of media messages to text messages (who communicates primarily through photos?).

For group chats, additional interesting statistics include: which participants are most vs. least active, whether activity is clustered around specific events or topics, how the composition of active participants has changed over the group's history, and what percentage of messages come from the top five contributors. These patterns can reveal a great deal about how a group dynamic has evolved.

Using AI for Stats Without Coding

For users who prefer not to write code or use spreadsheets, AI tools like ChatGPT and Claude can perform basic statistical analysis directly. Upload the JSON file and ask: 'Who sent the most messages?', 'What month had the most activity?', 'List the five most frequently used words excluding common words', or 'Calculate the average number of messages per day'. The AI will analyse the data and return the results in plain language.

AI-generated statistics are best treated as approximate - the model may approximate counts rather than producing exact figures for very large datasets. For precise counts, a spreadsheet or Python script is more reliable. But for a quick overview of patterns without any setup, AI analysis is impressively capable. Read the full guide on <a href='/blog/analyse-whatsapp-chat-ai'>analysing WhatsApp with AI</a> for detailed prompting advice.

Get the JSON export and start exploring your WhatsApp statistics.

upload_fileConvert Your Chat Free

Related Articles