Frequent Contacts Ranker

Paste an mbox export and see who you actually correspond with — ranked by how often and how recently you exchange mail. Copy the top of the list straight into an address book, or export CSV/JSON, without uploading your mailbox anywhere.

Try:
Ranked contacts

About this tool

Frequent address lists drift. A one-off launch thread can crowd out the person you wrote to every week, and an old coworker can stay in autocomplete long after you stopped emailing them. This tool rebuilds that list from a mailbox export: paste an mbox file or a batch of raw email messages, then rank the people in the headers by both frequency and recency.

The parser reads only the mail headers it needs — From, To, Cc, Bcc and Date. Message bodies and attachments are ignored. Addresses are case-folded so [email protected] and [email protected] become one row, while the most common display name is kept for paste-ready output. Use Exclude addresses and domains for your own address and internal/list domains, otherwise your own address often ranks first.

The default score is recency-weighted: every message contributes 0.5^(age_days / half_life_days), measured from the newest dated message in the paste. That means the same archive produces the same list next month, and recent conversations rise above ancient bulk threads. Set the half-life to 0 when you want a pure message-count ranking.

Worked example

Input:

From 1@x Mon Sep 03 10:00:00 +0000 2018
From: Alice Example <[email protected]>
To: Bob <[email protected]>, Carol <[email protected]>
Date: Mon, 3 Sep 2018 10:00:00 +0000

Hi both.

From 2@x Tue Sep 04 09:30:00 +0000 2018
From: Bob <[email protected]>
To: [email protected]
Cc: Dave <[email protected]>
Date: Tue, 4 Sep 2018 09:30:00 +0000

Sounds good.

From 3@x Wed Sep 05 08:00:00 +0000 2018
From: Alice Example <[email protected]>
To: Bob <[email protected]>
Date: Wed, 5 Sep 2018 08:00:00 +0000

Slides attached.

With [email protected] excluded, the default report is:

Top 3 of 3 contacts · 3 messages · 2018-09-03 → 2018-09-05 · half-life 180 days, clocked from 2018-09-05

#  contact                    msgs  to  from  last seen   score
1  Bob <[email protected]>         3   2     1  2018-09-05  100.0
2  Dave <[email protected]>       1   1     0  2018-09-04   33.3
3  Carol <[email protected]>     1   1     0  2018-09-03   33.2

Switch Output shape to Paste-ready Name

lines when you want a compact address-book seed list, or to CSV/JSON when you want to audit the counts elsewhere.

Limits and edge cases

  • One run parses at most 5000 messages.
  • The tool expects text input: an mbox export or raw RFC 5322 messages. It does not connect to Gmail, Outlook, IMAP or a local mailbox database.
  • Messages without parseable addresses are skipped. If every address is excluded, automated, or below the minimum-message threshold, the run reports that filtering removed everything.
  • Dates are used for recency only. Undated messages still count, but they receive no recency boost and do not set the date range.
  • skip_automated removes common machine senders such as noreply, mailer-daemon, postmaster and bounce addresses. Turn it off when you are intentionally ranking newsletters or alerts.

FAQ

What should I paste into the mailbox box?

Paste an mbox export from a mail client or service such as Gmail Takeout, Thunderbird or Apple Mail. A single raw .eml message also works, and multiple raw messages can be pasted back to back when they have standard headers. The tool splits mbox messages on the classic From postmark line at column 0.

How do I keep my own address out of the ranking?

Put your address in Exclude addresses and domains, for example [email protected]. You can also exclude a whole domain with @example.com or example.com. Exclusions are useful for dropping your own account, internal aliases, mailing-list domains or shared helpdesk addresses before scoring.

What does the half-life slider change?

It controls how quickly old conversations fade. With the default 180-day half-life, a message six months older than the newest message in the archive counts about half as much as a new one. Lower values favour very recent contacts; higher values behave more like a lifetime frequency count. Set it to 0 to disable recency weighting entirely.

Should I rank recipients, senders or both?

Use recipients for an autocomplete list of people you write to. Use senders to see who writes to you most often, or to find noisy newsletters by turning off automated-sender filtering. Use both when you want a general relationship-strength list; the report still shows separate to and from counts.

Does this upload or read my real mailbox account?

No. The page runs the parser in WebAssembly on the text you paste, and the CLI reads only the input you give it. It does not log in to a mail provider, read contacts from an account, or upload the mailbox anywhere.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool frequent-contacts-ranker "From 1@x Mon Sep 03 10:00:00 +0000 2018
From: Alice Example <[email protected]>
To: Bob <[email protected]>, Carol <[email protected]>
Date: Mon, 3 Sep 2018 10:00:00 +0000

Hi both.

From 2@x Tue Sep 04 09:30:00 +0000 2018
From: Bob <[email protected]>
To: [email protected]
Cc: Dave <[email protected]>
Date: Tue, 4 Sep 2018 09:30:00 +0000

Sounds good."

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/frequent-contacts-ranker/?mbox=From%201%40x%20Mon%20Sep%2003%2010%3A00%3A00%20%2B0000%202018%0AFrom%3A%20Alice%20Example%20%3Calice%40example.com%3E%0ATo%3A%20Bob%20%3Cbob%40example.org%3E%2C%20Carol%20%3Ccarol%40example.net%3E%0ADate%3A%20Mon%2C%203%20Sep%202018%2010%3A00%3A00%20%2B0000%0A%0AHi%20both.%0A%0AFrom%202%40x%20Tue%20Sep%2004%2009%3A30%3A00%20%2B0000%202018%0AFrom%3A%20Bob%20%3Cbob%40example.org%3E%0ATo%3A%20alice%40example.com%0ACc%3A%20Dave%20%3Cdave%40example.com%3E%0ADate%3A%20Tue%2C%204%20Sep%202018%2009%3A30%3A00%20%2B0000%0A%0ASounds%20good.&count=both&include_cc=true&exclude=me%40example.com%2C%20%40newsletter.example.net&skip_automated=true&half_life_days=180&min_messages=1&limit=25&sort=score&format=report

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.