← All writing

How to read an outbound weekly report without fooling yourself

Six weeks of our own numbers. One week reads 8.7% or 1.8% depending on the denominator you pick. Seven checks to run before you trust a Friday outbound report.

Every Friday we send a one page report on our own outbound and on the outbound we run for clients. How many people we reached, how many accepted, how many answered, what happens next. The founders who read it usually have one sales channel and one question behind all the others. Is this working, and should I keep paying for it.

A weekly report can answer that question wrongly while every single number on the page is true. We have shipped each of the errors below in our own reports and corrected them afterwards. This is the corrected version, with our own figures attached, so you can run the same seven checks on your Friday page next week.

Everything here comes from our own sending profiles between 27 July and 4 September 2026: 1,857 connection requests, 364 accepts, 84 people who answered. Small samples in places, so treat the direction as the lesson and rerun the cuts on your own data.

The week you are reading is still open

Outbound results arrive after the week that produced them. Acceptances are fast: our median accept lands about five hours after the request goes out, 251 of 363 land inside the first day, and 92% are in by day seven. The tail is still real. The slowest tenth take five and a half days.

Replies are slower again. Measured from the moment the request went out, our median first reply arrives on day 2.9. The 75th percentile is day 6.4, the 90th is day 9.1, and 11 of 48 traceable replies came in after the first week had closed.

Now put that against a report written on Friday. Take four completed weeks of our sending, 1,508 connection requests. Counted at the end of each week, they had produced 270 accepts, an acceptance rate of 17.9%. Counted today, with the same 1,508 requests, they show 320 accepts and 21.2%. One of those weeks read 13.7% on the Friday and reads 19.8% now.

Nothing was broken. The week was simply still open when someone wrote the number down. A report that only shows the current week will always show the newest work at its worst, which is the exact moment a founder decides whether to continue.

Split the page in two. One block for activity, which is finished the moment it happens: people sourced, messages sent, hours spent. One block for results, measured on work old enough to have stopped moving. We use two weeks as the cutoff, because by day fourteen almost everything that will arrive has arrived.

This week's replies belong to earlier weeks

This is the most expensive error on the list, and it hides well.

The natural way to build a weekly reply rate is to take the replies that landed in the inbox this week and divide by the messages sent this week. Both numbers are true, both belong to the same seven days, and they describe two different groups of people.

Here are six of our own weeks, both ways. The naive rate is replies that arrived that week over requests sent that week. The cohort rate is replies traceable to that week's requests over the same requests.

| Week starting | Requests | Replies arrived | Naive | Traceable | Cohort |

|---|---|---|---|---|---|

| 27 Jul | 68 | 8 | 11.8% | 2 | 2.9% |

| 3 Aug | 313 | 8 | 2.6% | 9 | 2.9% |

| 10 Aug | 457 | 11 | 2.4% | 12 | 2.6% |

| 17 Aug | 277 | 24 | 8.7% | 5 | 1.8% |

| 24 Aug | 461 | 12 | 2.6% | 15 | 3.3% |

| 31 Aug | 281 | 20 | 7.1% | 5 | 1.8% |

Look at the week of 17 August. Read one way it is our best week of the summer at 8.7%. Read the other way it is our worst at 1.8%. Volume that week was low and the inbox was busy with people written to earlier, so the two numbers pulled apart fivefold. Across all six weeks the naive rate is 4.5% and the cohort rate is 2.6%.

There is a second reason those columns diverge. Of the 84 people who answered us in this period, 36 had no outbound request from us on their record at all. They came in through connection requests accepted months earlier, through the profile owner's existing network, or they wrote first. That is a different channel with a different cost, and counting it in the denominator of cold outreach flatters cold outreach.

The fix is to label every row by the week the message went out, and to let results attach themselves backwards to that row as they arrive. A report line then reads: the batch we sent on 17 August has now produced 5 replies from 277 requests. That sentence stays true next month.

A reply is an answer in a thread you started

Sending profiles collect a lot of inbound. In our period the inboxes of our profiles took 429 incoming messages. Of those, 207 attach to someone we had written to. The other 222 arrived from somewhere else entirely: cold pitches aimed at our own accounts, notifications, conversations belonging to the profile owner that our system never touched, threads a human is running by hand.

Read from the other end, 290 of the 429 needed no answer from us at all.

If your report counts inbound messages, it is counting somebody else's outbound as your success. Define the metric once and hold it: a reply is a message from a person you contacted, in a thread you opened, after your message. Everything else is inbox traffic, and it deserves its own line if it deserves any.

Count people next to touches

Our system recorded 3,041 sent items across the period. Those went to 1,926 distinct people. Inside them, 727 direct messages went to 337 people, an average of 2.2 messages each.

Both framings are honest and they answer different questions. A founder reading "727 messages sent" pictures 727 conversations. The truth is 337 conversations with a second message in most of them, a different picture of coverage that changes what you do next. A low people count with a high touch count says the follow up engine works and the sourcing is thin. The reverse says you are opening doors and walking away.

Put both on the page: new people reached, and total messages sent.

One number, one source, named

We keep two records of every connection request: an event written by the sender at the moment of the action, and a stamp written back onto the person's record afterwards. They should agree. In the week of 3 August they reported 398 and 313 for the same work. On one day in August they reported 30 and 2.

The cause is ordinary. The stamp on the person's record is a separate step that runs after the send, and it fails on exactly the branches where something else already went sideways. The event is written at the moment of the action and survives.

Our rule since then is three lines long. Every number that goes outside is defined by one source. That source is named in the definition. The numerator and denominator of any rate come from the same table. A number that takes two sources to defend stays off the page until it takes one.

A related trap, from our own logs: 80 connection requests carried a personal note that the platform dropped at the door, because the sending profile was on a plan where notes are rationed. Every row said sent. A report counting personalized notes would have been wrong by 80, and it would have been wrong in the direction of comfort. Measure at the last step between you and the recipient.

Most weeks are too small to decide anything

Since 6 July we have run 253 batches. The median batch carried 6 sends. Seven of the 253 crossed 30 sends. Two of the 253 reached both 30 sends and 3 replies, which is our floor for letting a slice change anything. And 214 of the 253 produced zero replies.

That last number looks like a verdict on the copy. It is arithmetic. At a 3% reply rate, a batch of 6 produces a reply about one time in six, so a zero is the expected outcome, and it says the same thing about a brilliant message and a terrible one.

The trap is a report that reacts to those zeros. Every Friday there is a slice that looks dead and a slice that looks brilliant, and both are noise until the counter passes thirty sends and three replies. Write the zero down with its denominator, say plainly that it decides nothing yet, and change one thing a week against the full month.

What a reply is actually worth

In this period 84 people answered us. Seven of them qualified as a real fit with live interest. Five booked a call. That is the whole funnel, and the last check is that your report shows all of it.

Replies are a leading indicator, and they are the fastest signal you have that the message and the audience match. Meetings are the number the business runs on. A report that ends at the reply line lets a good week of conversation look like a good week of pipeline. Carry the funnel to the end every time, even when the end is a small integer, and especially when the reply line looks strong.

The Friday checklist

Seven lines you can apply to your own report next week without any tooling:

  1. Split activity from results, and measure results on work that is at least two weeks old.
  2. Attach every reply to the week its message went out, and let the old rows update.
  3. Count replies only from people you contacted in threads you opened.
  4. Show people reached next to messages sent.
  5. Name the single source of every number, and take rates from one table.
  6. Hold a floor of 30 sends and 3 replies before a slice is allowed to change anything.
  7. Carry the funnel to booked calls, and write zeros down with their denominators.

If you want to build this yourself and read your own pipeline with your own model, our stack exposes the sourcing and reporting tools directly, and that door is described on the MCP page. If you would rather have the machinery operated for you, with the cohorts, the sources and the counters already wired up, that is our work, and the levels are laid out on the levels and pricing page.

Re:Vault runs this for you. Operated LinkedIn outreach: we find the buyers, write in your voice, handle replies and book the meetings. $2,000 a month, month to month. Your own Claude can watch the whole thing from $199 a month.
Tell me who you need to reach See the MCP access