← All writingField note / RAG

· 2 min read

A match nobody can explain is a match nobody trusts

Notes from building an LLM-powered business matching pipeline where traceability mattered as much as accuracy.

  • RAG
  • LLM
  • Product
An analyst comparing business profiles while two business owners discuss a potential partnership
Editorial project visualization · illustrative, not a product screenshot

Recommending which businesses should work together sounds like a pure ranking problem. Feed in profiles, get out a sorted list. In practice the hard part arrived before the ranking and after it.

Before the ranking: the data is a mess

Business data is heterogeneous. Free-text descriptions, half-filled forms, categories that mean different things to different people. If you compare raw inputs, you mostly measure how similarly two companies write, not what they do.

So the first job of the LLM in our pipeline isn’t matching at all. It’s structuring: turning whatever we receive into a consistent representation — what the business offers, who it serves, what it’s looking for. Once every business speaks the same schema, retrieval and scoring have something solid to stand on.

The ranking: retrieval, then scoring

The core loop is familiar to anyone who has built RAG:

  1. Retrieve semantically similar candidates from the structured profiles.
  2. Score them, combining semantic similarity with explicit business signals instead of trusting a single number.
  3. Enrich sparse profiles where the data allows, so thin inputs still get reasonable candidates.

After the ranking: why should I believe this?

This is where most matching systems lose their users. A list of “top matches” with no reasoning is a black box, and people don’t act on black boxes — especially when a match means a sales call or a partnership.

We designed every recommendation to keep its trail:

  • which attributes aligned,
  • what was retrieved and from where,
  • how the final score was composed.

That traceability does double duty. Users can sanity-check a recommendation in seconds. And when a match is wrong, we can see which stage was wrong — structuring, retrieval or scoring — instead of shrugging at “the model.”

Explainability isn’t a feature you bolt on at the end. It’s a property of how you shape the data from the first step.

Takeaway

LLMs are excellent at turning messy input into structure. Let them do that, keep the ranking logic inspectable, and store the reasons alongside the results. Quality goes up, and — more importantly — trust does too.