Skip to main content
This guide analyzes how the number of emails sent to a prospect correlates with the final win rate. The goal is to quantify the value of sales email outreach by measuring its impact on closing deals.

The Result

The result is a simple table showing a clear trend: more emails sent during a deal cycle strongly correlates with a higher win rate.
email_buckettotal_dealswon_dealswin_rate
0-2 Emails1500750.05
3-5 Emails22002200.10
6-10 Emails18003600.20
11-20 Emails9002700.30
21+ Emails3001200.40
This insight demonstrates how sending more emails increases the likelihood of winning th deal by 100+%.

The Query

The following query first identifies every deal and its start date. It then counts the total number of emails sent for each deal and flags whether the deal was won. Finally, it groups deals into buckets based on email volume to calculate the win rate for each.
WITH Deals AS (
    SELECT
        customer_id,
        ts AS assignment_ts
    FROM customer_stream
    WHERE activity = 'sdr_assigned'
    QUALIFY ROW_NUMBER() OVER(PARTITION BY customer_id ORDER BY ts ASC) = 1
),
DealStats AS (
    SELECT
        d.customer_id,
        SUM(CASE WHEN s.activity = 'email' THEN 1 ELSE 0 END) AS email_count,
        MAX(CASE WHEN s.activity = 'closed_won' THEN 1 ELSE 0 END) AS is_won
    FROM customer_stream s
    JOIN Deals d ON s.customer_id = d.customer_id AND s.ts >= d.assignment_ts
    GROUP BY d.customer_id
)
SELECT
    CASE
        WHEN email_count <= 2 THEN '0-2 Emails'
        WHEN email_count <= 5 THEN '3-5 Emails'
        WHEN email_count <= 10 THEN '6-10 Emails'
        WHEN email_count <= 20 THEN '11-20 Emails'
        ELSE '21+ Emails'
    END AS email_bucket,
    COUNT(distinct customer_id) AS total_deals,
    SUM(is_won) AS won_deals,
    (SUM(is_won) * 1.0 / COUNT(distinct customer_id)) AS win_rate
FROM DealStats
GROUP BY 1
ORDER BY MIN(email_count);