Skip to content

Explaining a match recommendation so the buyer trusts the meeting proposal

MatchmakingUpdated 2026-08-188 min read

In short

An explanation for a match recommendation should be generated from the weighted contributions that produced the ranking, naming the two largest. A contribution is the weight multiplied by the sub-score, so product fit of 0.9 under a weight of 0.30 contributes 0.27, and that arithmetic is what the sentence describes.

A hosted buyer opens the app on the Sunday before the show and finds eleven meeting proposals. Under each one sits a line of text. The line says this exhibitor is a strong match for your profile, which is the same line under all eleven, and by the fourth proposal the buyer has stopped reading it.

Explaining a match recommendation is worth doing properly because the explanation is the only part of the model the buyer ever sees. It is also the part most likely to be wrong in a way that is hard to detect, because a sentence generated separately from the ranking can say whatever it likes and still look plausible.

The version that holds up is built from the same numbers that produced the ranking. No second model, no free text generation over the exhibitor profile, no template that picks a compliment at random.

What is the explanation actually for?

Three jobs, and they pull in different directions.

It should let the buyer decide quickly whether to accept, which is a filtering job. It should let the buyer correct the system when it is wrong, which needs the explanation to point at something the buyer can change, such as the categories on their profile. And it should let your concierge team defend the proposal when an exhibitor asks why they got this buyer and not the one they wanted.

Only the first is about persuasion, and the difference between the three is the design decision. An explanation optimised purely to raise acceptance is an advertisement, and once buyers notice, which takes about two editions, it stops working and takes the ranking's credibility with it.

Building the sentence out of the contribution, not the sub-score

The sub-score is not the interesting number. The contribution is, and it is the weight multiplied by the sub-score.

Take a buyer scored against a machinery exhibitor. Product fit 0.9, industry fit 0.7, intent fit 0.55, authority fit 0.8, behaviour fit 0.2. Under weights of 0.30, 0.20, 0.22, 0.15 and 0.13, the contributions are 0.270, 0.140, 0.121, 0.120 and 0.026, and the total is 0.677.

Sort those and the ordering is product, industry, intent, authority, behaviour. Product supplies 0.270 of 0.677, which is 39.9 per cent of the score. Industry supplies 20.7 per cent. Between them the two largest terms account for 60.6 per cent, which is why two reasons is usually enough and five is clutter.

The sentence then writes itself from a fixed template per sub-score, with the specifics filled from the data that produced it. Product fit becomes a line naming the two overlapping categories. Industry fit becomes a line naming the sector. Nothing in the sentence can be true unless the contribution behind it was large, because the sentence is only generated when the contribution ranks in the top two.

Notice what is missing. The buyer sees no number. Showing 0.677 invites a conversation about why it is not 0.9, and the total is the least explainable part of the whole system.

Two buyers with the same score and different reasons

Score a second buyer against the same exhibitor. Product fit 0.4, industry fit 0.5, intent fit 0.95, authority fit 1.0, behaviour fit 0.6. The contributions are 0.120, 0.100, 0.209, 0.150 and 0.078, and the total is 0.657.

Two buyers, 0.677 and 0.657, twenty thousandths apart, and the reasons have nothing in common. The first is proposed because of what the exhibitor sells. The second is proposed because of what they have been doing on the site, with authority second. If both explanations read this exhibitor is a strong match for your profile, you have thrown away the only genuinely useful thing the model computed.

The second buyer is also the case where an explanation earns its keep as a correction mechanism. Product fit of 0.4 is weak, and the buyer looking at a reason that mentions their saved sessions rather than their product categories has been told, without being told, that their category selections are thin. Some of them will go and fix it, which improves every subsequent proposal.

Why do post hoc explanations drift?

Because an explanation generated after the fact by a separate process has no obligation to agree with the ranking, and nothing in the pipeline checks that it does.

Zhang and Chen, in their survey in Foundations and Trends in Information Retrieval in 2020, draw the line between explanations produced by an inherently explainable model and explanations bolted on afterwards, and the distinction is the practical one here. A weighted linear score is already explainable. Every term is visible, the contributions add to the total, and no separate machinery is needed to say why a proposal ranked where it did. Adding a generative layer on top converts a transparent system into an opaque one and then explains the opacity.

Rudin argued the stronger version in Nature Machine Intelligence in 2019: for consequential decisions, explaining a black box instead of using an interpretable model in the first place is the wrong trade, because the explanation is a second model that can disagree with the first. Meeting proposals are not high stakes in the sense she was writing about. The mechanism is identical, and the failure is easy to picture. A language model handed the exhibitor's profile text will write that the exhibitor specialises in cold chain logistics, which may be true and may have contributed nothing at all to the 0.677, and the buyer who accepts on the strength of it arrives at a stand that does not sell what they came for.

If you want fluent sentences, give the language model the ranked contributions as its only input, forbid it from adding any fact not in that list, and check a sample every edition. Templates avoid the problem entirely, and after five editions of watching generated text I would still take the templates.

Rules for the sentence itself

Name the thing, not the quality. Your categories include industrial labelling and this exhibitor lists industrial labelling as a primary product beats a line about strong alignment.

Say which side the reason came from. Buyers behave differently towards a proposal that exists because the exhibitor asked for buyers like them. Both directions are in the score, and hiding the direction makes the proposal look like it came from nowhere.

Keep it to two reasons and one clause each. The proposal card has a decision to support, not a report to deliver.

Never state a reason that came from a term contributing under five per cent of the total. Behaviour fit at 0.026 out of 0.677 is 3.8 per cent, and a sentence about how engaged the buyer has been is technically true and materially false about why the proposal was made.

Handle near-ties with a fixed rule. In the second buyer above, the second and third contributions are authority at 0.150 and product at 0.120, a gap of 0.030 on a total of 0.657, which is under five per cent of the score and comfortably inside the uncertainty on either sub-score. That gap decides which of the two the buyer reads as the supporting reason, so it needs a precedence order written into the config, product first, then intent, then industry, then authority, applied whenever two contributions sit within five per cent of each other. Otherwise the same pair rescored on Tuesday shows a different second reason from the one it showed on Monday, and a buyer who notices has learned something about your system you did not intend to teach.

What not to put in the explanation

The behaviour term is the one to hold back from the exhibitor-facing version entirely, along with anything derived from the buyer's browsing. The reasoning sits in what exhibitors get to see, which is I6, and it is about what people do once they know the rule.

The raw sub-scores are the second thing to withhold, at least as numbers. A buyer told their authority fit is 0.5 will ask what would make it 1.0, and the honest answer is that they would have to change their job title.

Free text typed by a concierge manager is the third. It cannot be counted, it cannot be audited, and two years later nobody can answer which reasons actually work. That is the case for a controlled list, which is what reason codes give you and belongs to I5.

Where explanation stops

An explanation built this way is faithful to the model and says nothing about whether the model is right. If product fit is computed from a taxonomy where labelling and coding sit in the same leaf, the explanation will confidently name a shared category that means two different things, and it will do so in a sentence the buyer has no way to check.

The explanation is also silent on the counterfactual, which is the question buyers and exhibitors actually ask. Why this exhibitor and not the one two stands down. Answering that needs the contributions for the pair that was not proposed, which is a different interface and a much longer conversation, and most programmes are better off answering it by hand for the handful of people who ask.

There is a fairness edge too. Explanations make the ranking legible, and legible rankings get optimised against by whoever has the most to gain, which is rarely the buyer.

Start by taking fifty proposals from last edition and computing the five contributions for each. Sort them, count how often each sub-score lands in the top two, and read the sentence your current system showed next to the one the contributions would have produced. If the top contributor is product fit on 30 of the 50 and your standard line mentions industry, you have a template that has never matched the model, and fixing it costs an afternoon rather than a rebuild of the score itself in I1. Run the same check whenever the matchmaking weights change, since the top two contributors move when the weights do.

Questions people ask about explaining a match recommendation

How should a matchmaking system explain a meeting recommendation?
By naming the two largest weighted contributions to the score in plain sentences. Compute each contribution as the weight times the sub-score, sort them, and render the top two as reasons. The explanation then cannot say anything the ranking did not use, because both come from the same arithmetic.
Why not use a language model to write the explanation?
Because a model writing from profile text has no access to the contributions that produced the ranking, so it will produce fluent reasons the score never considered. If a language model is used at all, give it the ranked contributions as its only input and forbid it from introducing any fact that is not in that list.
How many reasons should a match explanation show?
Two in the proposal itself, with the rest available on request. Two covers most of the score in practice, since the largest contribution is usually around 40 per cent of the total and the second around 20 per cent. Listing all five gives equal visual weight to terms contributing under four per cent.

Related reading

All matchmaking articles