What a buyer seller fit score should actually contain
A buyer seller fit score should hold five sub-scores, each bounded between zero and one: product fit, industry fit, intent fit, authority fit and behaviour fit. Weighting happens after the bounding, and the score has to be computed in both directions, because a meeting only happens when both sides want it.
An exhibitor rings the week before doors and asks why the buyer you proposed came out at 0.62 while the one they asked for came out at 0.41. The concierge lead opens the record, finds a single column called score, and has nothing useful to say.
That call is where a buyer seller fit score either earns its keep or gets ignored for the rest of the edition. A number with no parts cannot be argued with, corrected, or improved between editions, because nobody can point at the piece of it that was wrong. The design question is what the number is made of, and how much of it survives contact with a sales team.
The version worth building has five sub-scores, each bounded between zero and one, computed for both sides of the pair, then combined by weights that live in a config file somebody has signed off. The five are product, industry, intent, authority and behaviour.
Why does a single number need five parts?
Because the failures are different from each other, and a composite hides which one happened.
A proposal can be wrong because the exhibitor sells packaging machinery and the buyer buys packaging film. It can be wrong because both sit in food and beverage but the buyer specifies and never purchases. It can be wrong because the buyer is a graduate analyst with no budget. It can be wrong because the buyer has not opened an email in two years and will not turn up. Four failures, four different fixes, and three of them are data problems that no amount of retuning will touch.
Splitting the score also decides what your team can do on the Monday after the show. If declined meetings cluster in proposals where product fit was high and authority fit was low, you have learned something about your registration form. If they cluster where product fit was low, you have learned something about your taxonomy. A single column tells you neither.
The five sub-scores and what each one is allowed to see
Product fit compares what the exhibitor sells against what the buyer says they buy, both expressed as nodes in one taxonomy. This is the term that does most of the work, and it is only as good as the category tree underneath it, which is its own build and belongs to I7.
Industry fit compares the sector the buyer's company operates in against the sectors the exhibitor sells into. It is separate from product fit because the same product sells into several industries and an exhibitor usually wants one of them. A conveyor manufacturer selling into pharmaceutical logistics does not want a proposal from a food retailer just because both need conveyors.
Intent fit uses what the buyer has done for this edition. Categories selected at registration, sessions saved, exhibitor pages viewed, meeting requests already sent. Which of those signals earn a place is a real argument and it belongs to I11.
Authority fit estimates whether this person can commit money, usually from job title, company size and any declared purchasing role. It is the sub-score most contaminated by self-reported data.
Behaviour fit estimates whether the person will actually be in the building and in the seat. Prior attendance, prior meeting attendance, email engagement, how early they registered.
Bounding every sub-score before the weights arrive
Each of the five has to come out on the same scale before anything is multiplied, and this is where most implementations quietly go wrong.
Product fit built from a taxonomy distance is naturally between zero and one. Authority fit built from a job title lookup is a small ordinal set, so map the levels explicitly: 1.0 for a named purchasing authority, 0.8 for director and above, 0.5 for manager, 0.2 for analyst or coordinator. Behaviour fit built from an engagement count is unbounded, so it needs a squashing function, and the choice of function is a decision to write down. A count of prior meetings capped at five and divided by five is crude and defensible. A raw count divided by the maximum in the file is neither, because one buyer with forty meetings compresses everybody else into the bottom fifth of the range.
Bounding first means the weight is the only thing controlling how much a term matters. If behaviour fit can reach 4.2 while product fit tops out at 1.0, then a weight of 0.13 on behaviour is doing the work of a weight of 0.55 and nobody reading the config would know.
Working one buyer through to a single number
Take a buyer at a packaging show. Product fit 0.8, industry fit 0.6, intent fit 0.4, authority fit 1.0, behaviour fit 0.2. Weights of 0.30, 0.20, 0.22, 0.15 and 0.13.
Product contributes 0.30 times 0.8, which is 0.240. Industry contributes 0.20 times 0.6, which is 0.120. Intent contributes 0.22 times 0.4, which is 0.088. Authority contributes 0.15 times 1.0, which is 0.150. Behaviour contributes 0.13 times 0.2, which is 0.026. The five add to 0.624.
Two things are visible in that arithmetic that were invisible in the 0.624. The buyer is a perfect authority match and a poor behavioural bet, and the second of those is the one that decides whether the meeting happens at all. And product fit, at 0.240, supplies 38 per cent of the total, which is the single largest contribution and the sentence you would put in front of the exhibitor.
Now score the same pair the other way. The exhibitor is a mid-sized machinery firm with 40 meeting slots and a stated preference for buyers in retail-ready packaging. Against this buyer: product fit 0.8 again, since product fit is symmetric, industry fit 0.3, because the buyer sits in a sector the exhibitor rarely sells into, intent fit 0.5, authority fit 1.0, behaviour fit 0.2. That comes to 0.240 plus 0.060 plus 0.110 plus 0.150 plus 0.026, which is 0.586.
Why should the score run in both directions?
Because a meeting needs two people to want it, and the average of two scores hides the case where one of them does not.
Pizzato and colleagues made this the centre of the RECON system at ACM RecSys in 2010, working on online dating, where a recommendation that ignores the other side's preferences produces a message nobody replies to. An event matching engine has exactly the same shape. The hosted buyer programme has a buyer with a twelve meeting quota and an exhibitor with forty slots, and a proposal that delights one and bores the other burns a slot on both sides.
The combination operator matters more than people expect. Neve and Palomares tested aggregation operators for reciprocal recommenders at ACM RecSys in 2019, and the choice is a real design decision rather than a formality. Take a pair scoring 0.90 for the exhibitor and 0.30 for the buyer. The arithmetic mean is 0.60. The harmonic mean is 2 times 0.90 times 0.30, divided by 1.20, which is 0.45. Against a balanced pair scoring 0.60 and 0.60, the arithmetic mean cannot tell the two situations apart, while the harmonic mean puts the balanced pair a full 0.15 ahead.
That gap is the whole argument. An exhibitor delighted by a buyer who does not want the meeting produces a no-show, and the no-show costs the exhibitor a slot they cannot get back.
The missing data problem, and why zero is the wrong default
Roughly a third of the registration rows on most shows will be missing something the score wants. No job title, no company size, no categories selected.
Scoring a missing field as zero is a claim you have not measured. It says this buyer has no authority, when what you know is that you do not know. The effect compounds: a buyer missing both job title and category selections loses 0.15 and 0.30 of available weight, so their ceiling drops from 1.0 to 0.55, and they will never appear in a top-ranked proposal no matter how good the true match is.
Carry an explicit unknown instead, and renormalise. If authority is unknown, drop its 0.15 from the denominator and score the buyer out of 0.85, then divide. Our buyer above without authority data scores 0.240 plus 0.120 plus 0.088 plus 0.026, which is 0.474, divided by 0.85, which is 0.558. Lower than 0.624, higher than the 0.474 a zero default would have produced, and honest about what is missing. Then report the share of proposals scored on partial data, because a concierge team should know that 22 per cent of the queue was ranked with a term missing.
Where a fit score stops
The score is a ranking device and it is not a prediction of anything until you check it against outcomes. A 0.62 and a 0.41 tell you which proposal to put first. They do not tell you that the first has a 62 per cent chance of being accepted, and treating them that way is the mistake that calibration exists to catch, which is I3's subject.
The deeper limit is that four of the five sub-scores are built on things people typed about themselves. Job title is self-reported. Categories are self-reported. Company sector is self-reported and often wrong on the day someone registers from a subsidiary. Only behaviour fit rests on something the buyer did rather than said, and it is the term carrying the smallest weight because it is empty for every first-time registrant.
A fit score is a compression of the registration file. If the file is thin, the score is thin, and no weighting scheme rescues it. The honest version of a matching programme at a first edition scores what it has, publishes how much of the score was available, and does not pretend the number means the same thing for a buyer with five years of history and a buyer who registered on Tuesday.
Start by taking last edition's proposals and recomputing them as five columns instead of one. Load the accepted and declined outcomes next to those five columns, then take the mean of each sub-score among accepted proposals and among declined ones. If two of the five have the same mean in both groups, those two are carrying weight without carrying information, and you have found the first thing to fix before you argue about the weights themselves, which is I2, or about how any of it gets explained to the buyer in I4. All five columns belong in whatever matchmaking reporting your team already reads.
Questions people ask about buyer seller fit score
- What should go into a buyer seller fit score?
- Five things, each measured separately and bounded between zero and one. Product fit compares what the exhibitor sells against what the buyer buys. Industry fit compares sectors. Intent fit uses declared and observed interest for this edition. Authority fit estimates whether the person can commit money. Behaviour fit estimates whether they will turn up.
- Should a fit score be calculated for both the buyer and the exhibitor?
- Yes. A proposal that scores 0.80 for the exhibitor and 0.25 for the buyer is a meeting one party will resent. Score each direction separately, then combine the two with an operator that punishes imbalance, such as the harmonic mean, so a lopsided pair cannot reach the top of the queue on one side alone.
- How do you handle a missing field in a fit score?
- Carry an explicit unknown value and redistribute that sub-score's weight across the terms you do have. Scoring a missing job title as zero authority is a measurement claim you have not earned, and it pushes every incomplete record to the bottom of the ranking regardless of how good the underlying match is.
Related reading
- How to decide on weighting a match score you can defend
- Match score calibration and why raw scores mislead your concierge team
- Explaining a match recommendation so the buyer trusts the meeting proposal