Fusion vs Fan-Out
How does correlating layers produce a buying signal?
A buying signal comes from the joins between layers, not any single layer. When a company's AI stack, firmographics, and infrastructure line up (an OpenAI SDK with no vector store at a mid-market SaaS that self-hosts), the correlation names a moment worth acting on. Bassethound computes that join in one keyless call and returns it as an icp_signal of hot, warm, or cold.
Best move: read the joins between layers, not any single layer. A lone detection is a fact. A correlation is a judgment about intent.
Why it works: a buying signal is a company being both a fit and at a moment. No single layer carries both. The alignment across layers does.
Key takeaways
- A buying signal lives in the agreement between layers, not inside any one layer.
- One detection has many readings. Two aligned detections narrow it to one, which is where you can read intent.
- A join only means something when the layers share a subject: same domain, same crawl, same moment.
- Fan-out across five vendors can merge facts but cannot join them, because each source observed a different state at a different time.
- Bassethound computes the icp_signal (hot, warm, cold) from the same single call that produced the layers, so the signal and its evidence are one observation.
What turns five separate facts into one signal?
A single layer answers one question. Tech stack says what they run. Infrastructure says where. Firmographics says who. AI-readiness says whether they ship. Security says how careful they are. Each is true, and none is a decision. A buying signal is a decision: act on this company now, or not. That decision lives in the agreement between layers.
An OpenAI SDK in the tech stack is a fact. The same SDK next to no vector store, no observability, and a mid-market firmographic profile is a story: a team building AI that has not matured its stack. That story is what you sell into. The join adds information neither layer holds alone, because it rules out readings each layer allowed on its own. One detection has many readings. Two aligned detections have one.
Bassethound builds the dossier so the layers share a subject: the same domain, the same crawl, the same moment. That shared subject is the precondition for a join to mean anything. Without it, you have coincidence, not correlation.
Why can’t an agent get this by calling five tools?
Fan-out looks equivalent. Call BuiltWith for tech, Censys for infra, Clearbit for firmographics, some AI-readiness checker, a header grader, then merge. The merge is where it breaks. Each source crawled at a different time, resolved a different host, and used a different notion of “the company.” You get five facts about five subjects that do not quite match, and no guarantee they describe one state.
Correlation needs a shared subject. When the AI stack and the TLS certificate come from the same fetch of the same origin, “they use OpenAI and they self-host” is one observation. When they come from two vendors a week apart, it is two observations you are hoping line up.
The cost is not just latency or keys. The join you most want (does the AI signal sit on infrastructure they control) is the one join fan-out cannot make. An agent can fan out. It cannot cheaply reconstruct correlation after the fact. That reconstruction is the work Bassethound does inside one request, before anything leaves the call.
Which layer joins carry the most buying intent?
Three joins pull weight. First, AI-readiness against firmographics. A “shipping” verdict at a company too small to have a platform team means a buyer who owns the whole stack and moves fast. An “experimenting” verdict at a funded mid-market company means budget without maturity, the classic tooling gap.
Second, AI stack against infrastructure. A model provider detected on infrastructure they control (own ASN, own nameservers) reads differently from the same provider behind a managed platform that ships AI by default. The first is a deliberate build. The second may be a vendor’s feature you are misreading as intent.
Third, security grade against AI-readiness. A team shipping AI with an F header grade is building faster than it is hardening, which names both a fit and a pain.
None of these joins is visible in a single layer. Each needs two layers observed together. The buying signal is not “they use AI.” It is “they use AI in a configuration that implies a need you can name.” Bassethound surfaces these as the icp_signal, and the underlying layers stay in the dossier so you can audit why it fired.
How does the icp_signal land on hot, warm, or cold?
The icp_signal fuses the layers into one of three reads. Hot means the joins align toward a fit at a moment: a shipping or experimenting AI verdict, a firmographic profile inside your ICP, and infrastructure that says they own the decision. Warm means partial alignment: the AI signal is there but the firmographics are off, or the fit is right but the AI verdict is “none.” Cold means the layers do not cohere into intent, or they point away from you.
The signal is a summary, not a verdict you outsource judgment to. It rides on top of the five layers and never replaces them. You can open the dossier and see which detections drove it, which is the point: a correlation you cannot audit is a guess with a confidence score attached.
Bassethound computes the icp_signal from the same single call that produced the layers, so the signal and its evidence are one observation, not a stitched-together approximation you trust on faith.
Where can correlation mislead you?
Correlation strengthens a signal, and it can also manufacture one. A static crawl plus optional JS render misses fully server-side or proxied components, so an absent detection is not proof of absence. Read “no vector store found” as “not observed from the front end,” not “they do not use one.”
Managed platforms muddy the AI-stack join: a provider shipped as a default feature can look like deliberate adoption. And a join is only as trustworthy as its weakest layer, so a low-confidence detection should lower the weight of every correlation it enters, not travel as fact.
Bassethound reports these gaps in the dossier rather than hiding them. Each detection carries confidence and how_detected, so you can see whether a correlation rests on strong evidence or a single weak hit. The honest use of correlation is to raise or lower a prior, not to close a case. Treat a hot signal as a reason to look, not a reason to skip looking.
Bassethound perspective
The industry sells detection as fan-out: pick your layer, buy the best corpus, bolt the results together. BuiltWith owns tech stack. Censys and Shodan own infrastructure. Clearbit and ZoomInfo own firmographics. Each is deep in one column and blind to the joins between columns. We think that is the wrong axis.
A buying signal does not live in any single layer. It lives in whether the layers agree, and agreement is only measurable when the layers come from one observation of one subject at one time. Stitching five vendors together after the fact does not recover that. It approximates it and calls the approximation a match.
Our bet is that correlation is the product and the layers are the raw material, which is the opposite of how the incumbents are built. A competitor with a better tech-stack corpus still cannot tell you whether that stack sits on infrastructure the company controls, because they never fetched both in the same breath. Bassethound does the correlation inside one keyless call and hands you the joins, with the evidence attached. The single layer is commodity. The join is the signal.
Sources
- Model Context Protocol: https://modelcontextprotocol.io
- llms.txt standard: https://llmstxt.org
- Anthropic documentation: https://docs.anthropic.com
- OpenAI platform documentation: https://platform.openai.com/docs
Frequently asked questions
Is a buying signal the same as an ICP fit?
No. Fit is one input. A buying signal is fit plus a moment. Firmographics say a company matches your ICP. The AI stack and infrastructure say whether they are at a point where they would buy. Correlation joins the two.
Can a single layer be a buying signal on its own?
Rarely. One detection is a fact with many readings. An OpenAI SDK could be a serious build or a vendor default. The signal appears when a second layer constrains which reading is true.
Why does correlation need one call instead of five tools?
A join only means something when the layers share a subject: same domain, same crawl, same moment. Five vendors crawling at different times give you five facts about states that do not quite match, which you can merge but cannot join on a shared subject.
What makes a signal hot rather than warm?
Hot means the joins align toward fit and readiness at once: a shipping or experimenting AI verdict, a firmographic profile inside your ICP, and infrastructure that says the company owns the decision. Warm means only some of those agree.
Can correlation produce a false positive?
Yes. A static crawl can miss server-side components, and a managed platform can make a default feature look like deliberate adoption. Bassethound attaches confidence and how_detected to each layer so a weak detection lowers the weight of every join it enters.