NewIntroducing PartnerView. Software built for partner services firms.Read the field note →
← Field Notes

Every account sends signals. Most firms never hear them.

The vendor export lands, someone opens it, and the accounts that needed a call look exactly like the ones that did not. Here is how to change that.

Every partner services firm sits on a stream of account data it barely reads. The vendor sends an export. Someone opens it, scans it, maybe sorts a column, and closes it. The accounts that needed a call this month look exactly like the accounts that did not. The file goes in a shared drive, and next month a fresh one lands on top of it.

That stream is full of signal. The firm just has no way to hear it.

Three ways the signal gets lost

A snapshot cannot show movement. One export says an account has one admin. It does not say the account used to have four. The number that matters is not the one, it is the drop, and a single file can never show you a drop. You need the history, kept pull over pull, or you are always reading the present tense of a story that is really about change.

A shared pile is not an owner. The at-risk account gets flagged into a channel everyone can see. Everyone seeing it is not the same as someone owning it. The alert sits there, correct and unread, until the renewal it warned about arrives.

The renewal conversation starts at day 30. Nobody staged the account at 150, 120, and 90 days out, so the first real look is a rushed one, and the number is whatever the vendor says it is.

What we built

Signals turns the stream into work.

It reads the feed on a schedule, or watches a folder and picks up the newest file. It keeps every pull as a dated snapshot, so a change is visible and not just a fresh present tense. It links accounts to your records, and sends anything it cannot match to a queue for a person to link by hand.

Then it runs the rules. A fixed set of conditions on every import. No judgement calls at this step, so the same file always produces the same list: renewals coming due, seats sitting unused, an expansion opening, a satisfaction dip. Each one becomes a worklist item routed to the person who owns that account, with the evidence attached. Not a shared pile. An owner.

The parts that are easy to skip and should not be

It stops on bad data instead of guessing. If a column goes missing or gets quietly renamed between pulls, the import halts and a person reviews. A reconciler proposes the fix and never applies it on its own. Running a rule on a field that is not what it says it is worse than running no rule at all.

It measures whether it was right. Every worklist item logs an outcome on close, including a one-click “this signal was wrong.” The false-positive rate is tracked per rule. A rule that keeps flagging accounts that turn out fine gets caught and cut. A signal you cannot measure is a signal you cannot trust.

The guardrails live in the code, not a policy doc. Large accounts wait for a check before anyone reaches out. An account showing a risk signal is held out of expansion outreach in the same cycle, automatically. And the one agent that touches outreach drafts it for a person to send. It never sends on its own.

None of this is AI reading tea leaves. It is rules you can name, running on data you can trust, put in front of the person who can act. That is the whole idea.

See how it works on the Signals page, or bring us a recent export and we will read it with you.

Recognize your firm in this note?

Bring an active engagement. We will model it in PartnerView live.

Get a demo→