It’s possible for multiple candidates to win with less than a Hare Quota in a Vote Unitarity PR method (like Sequentially Subtracted Score), which is problematic because these methods are sequential, and so every candidate who won with a Hare Quota before the “deficit winners” took more points from their voters’ ballots than they needed to win; to keep things sequential, you’d have to retroactively lower the quota those candidates needed to win, which forces you to redo all the calculations every time someone wins with a deficit, making things very complex.
For an easier solution, you can restore this number of points to voter’s ballots when a winner gets less than the current quota (call them C1 or the “deficit winner”):
Number of points spent on non-C1 candidates * (1 - C1’s score/current quota)
Optionally: add (stored value from previous checks) to the value generated by the formula
The quota starts at a Hare Quota and drops to whatever the previous round winner’s point total was if no candidate got the current quota in that round and the current round.
Two modifications: if the formula would restore more total points to all ballots than the number of points C1 fell short of the quota, then divide the number of points restored to all ballots by a constant factor to ensure that the total number of points restored is equal to C1’s deficit (this preserves Vote Unitarity.)
And while this is an experimental step, check whether, in each round, restoring points can push any candidates to the current quota. If it can, all ballots that contribute to any such candidate get their points restored; all other ballots have the points they would’ve been restored “stored” away. We add this stored value to the number of restored points a future check would give to that ballot and keep checking, adding in each check’s to-be restored points into the stored value until that ballot can help elect someone at the current quota, at which point we restore all of the outstanding points to that ballot. The reasoning is that in non-Vote Management scenarios, the regular deficit handling formula somewhat over-prioritizes voters who already elected someone they like over voters who didn’t, because they have points to be restored that the unsatisfied voters never spent, so it favors larger parties.)
(For an example of the experimental step, if you have A 53 B 28 C 10 D 9 (5 winners, 100 votes) after 3 rounds this drops to A 13 B 8 C 10 D 9, and if we hadn’t run any deficit handling C would’ve won the final seat, since the final round would’ve been B 8 C 10 D 9. With no suspended restoration, B would win because they would have 8 points + 7/3 from the restoration = 10.333 points to C 10’s; this “suspended restoration” step first checks whether B can reach the current quota with the sum of all stored and to-be restored points; in this case, B can’t, because the current quota is 13 (from A3’s win), so it’s still B 8 C 10 D 9 and C wins.
I suspect suspended restoration is gameable somehow; if a voter strategically gives a 1/5 to a candidate that would’ve reached a quota without them, they can force point restoration that way. I don’t know if this is a serious issue, but it’s probably possible to significantly counteract it by sorting the ballots that contribute to each candidate that now meets the quota, and only restoring points to enough of the highest-contributing of those ballots to ensure the candidate reaches a quota, which is similar conceptually to Unitary Monroe, though it may slightly reduce performance under honest voting.
Perhaps a better solution is to only restore a fraction of the outstanding points, based on what fraction of your points you would be spending on the candidates that now meet the quota if you had your points restored. Actually, it might be necessary to run surplus handling here, to make sure voters don’t spend more than the current quota on the candidate once their points are restored.
You might be able to skip the delayed restoration if you always refuse to run deficit handling on the final 2 seats)
The idea behind deficit handling is that it’s similar in concept to surplus handling, relates to Vote Unitarity and the principle that the leading candidate in each round should win, and is probably one of the easiest methods to compute for when you have multiple deficit winners.