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.
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_automatedremoves common machine senders such asnoreply,mailer-daemon,postmasterandbounceaddresses. 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=reportMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
