🎯 Free lead-scoring tool · download now

Score Your Lead List in Minutes

Turn any raw CSV of leads into prioritized GTM intelligence — a clear opportunity score, ICP fit, pain point and a ready cold-email opener for every single row. Free to download, runs on your own machine.

No sign-up walls · no SaaS · self-hosted and private

What the tool adds to every lead row

Point it at any leads CSV. For each row it appends five columns and then sorts the whole list by how worth-pursuing each lead is.

ICP Fit

High / Medium / Low — how well the lead matches your ideal customer profile.

Pain Point

The likely problem the lead is trying to solve, stated in a phrase.

Buying Signal

A concrete signal from their row (or "None detected" when there isn't one).

Opportunity Score

0 to 100. Higher = more worth pursuing right now.

Personalization Angle

A ready-made cold-email opening line tailored to that lead.

Get the free tool

One self-contained zip: the scoring script, a sample lead file, a configurable ICP definition and step-by-step instructions. Unzip, install one dependency, run it.

⬇ Download the free tool

Detailed setup instructions

1. Unzip & install

  1. Download the zip above and unzip it (unzip lead-intelligence-system.zip).
  2. Open a terminal in the folder and run pip install -r scripts/requirements.txt (installs polars, mlverse-mall and chatlas).

2. Get a DeepSeek API key

Create a key at platform.deepseek.com. This is the low-cost model the tool scores with — roughly pennies per lead. Keep it private.

3. Set your Ideal Customer Profile (ICP)

Edit scripts/icp_config.json and replace the example with your own ideal-customer definition. This is the yardstick every lead is scored against.

4. Prepare your leads CSV

Make a CSV with one row per lead. Columns can be anything — the tool reads every field per row. The scripts/sample_leads.csv file shows the recommended shape: company, contact_name, title, industry, employee_count, notes.

5. Run it

export DEEPSEEK_API_KEY=sk-xxxxxxxx
python scripts/process_leads.py --input leads.csv --output scored_leads.csv
    

Optional flags: --icp-config icp_config.json to point at your ICP file, --limit 500 to only process the first N rows (great cheap test run), and --model deepseek-chat to override the model.

6. Verify it works

Run the tiny sample first to confirm everything wired up correctly:

python scripts/process_leads.py --input scripts/sample_leads.csv --output /tmp/sample_scored.csv
    

You should get a scored CSV sorted by opportunity_score (highest first).

How it works

The tool runs local, row-by-row scoring on your machine — your data never leaves your hands. It feeds each lead row plus your ICP definition to the model, which returns strict JSON that becomes the five output columns. Honest by design: if a signal (funding, headcount, tools) isn't in your row, the tool treats it as unknown, not favorable — so nothing is invented.

Frequently Asked Questions

Is this really free?

Yes. The tool is free to download and run. It uses a DeepSeek API key you provide — you only pay DeepSeek's own rate, which is a fraction of a cent per lead.

Do I need to know how to code?

No. You need Python 3 installed, then two commands (install + run). All configuration is plain-English edits to a JSON file.

How accurate is the scoring?

It's driven by your ICP definition and the actual data you give it, and it refuses to invent facts. It works best as a prioritization sieve that tells you which leads deserve a human look first — not as an oracle.