Tradelynx adjusts how much new work a tradesperson is offered based on how their recent jobs ended. Disputes count against you. That is defensible: if a run of jobs ends in a row about the revised price, that is worth knowing before we hand you the next one.
Cancellations were being counted the same way. They no longer are.
The reason is dull and it is the whole point
Our job records do not store who cancelled.
A job can be cancelled because a tradesperson took better work elsewhere, or because the customer changed their mind, moved house, got a cheaper price, or had a boiler that limped on for another winter. Those are completely different facts about a tradesperson, and the row in our database looks identical for all of them.
So the adjustment was reading a mixed signal as if it were a clean one. A tradesperson whose customers cancelled on them was being offered less work for it.
What we did not do
We did not build a guess. We could have inferred attribution from timestamps, or from who last touched the record, and been right most of the time. Most of the time is not good enough when the output is how much work somebody is offered, and a wrong guess is invisible to the person it costs.
We also did not add an "who cancelled?" field and start counting again on the strength of it. That may come. If it does it will be because the record actually says, not because we inferred it.
What still counts
Disputes over a revised quote still count, because that is recorded unambiguously. Your reliability, measured over the same ninety days everything else uses, still counts. The adjustment is clamped, so the gap between the best and worst standing is about one and a half times the flow of work rather than a cliff.
And nothing about this is a fee. It never was. We take no commission on your jobs and charge nothing for a lead, so what the adjustment changes is the order you are offered work in, never the price of getting it.