Chris Benham proposed IBIFA in May and June, 2010, on the election-methods mailing list:
IBIFA is, as originally stated, a "Bucklin-like method meeting Favorite Betrayal and Irrelevant Ballots." Its key principle is to compare the ballots voting for a candidate at-or-above a particular rating to the most-approved candidate on the complementary ballots. When the former exceeds the latter, a meaningful threshold has been crossed, unlike the arbitrary 50% threshold of median rating methods. This is what enables IBIFA to yield the same result if irrelevant ballots are added or dropped. By construction, IBIFA is cloneproof.
With this in mind, I realized that a minor modification of IBIFA would make it more like Majority Judgment, reducing later-harm and improving Condorcet consistency (though not completely), while satisfying the same criteria as MJ.
IBIFA, simply stated, does the following:
- Find the highest rating R, for which there is at least one candidate X who is rated at or above level R on more ballots than any candidate is approved on ballots that rate X below R.
- If there is more than one such candidate X, elect the candidate X with the most ballots rating X at R or above.
- If no candidates satisfy the first criterion, for any approved rating R, elect the candidate with the highest approval over all ballots.
My modification is inserted with emphasis added.
- Find the highest rating R, for which there is at least one candidate X who is rated at or above level R on more ballots than any candidate is approved on ballots which rate X below R.
- If there is more than one such candidate X, then if there is at least one candidate Y who is rated above R on more ballots than the highest approved candidate on ballots that rate Y below R, elect the candidate Y with the most ballots rating Y above R.
- Otherwise, elect the candidate X with the most ballots rating X at R or above.
- If no candidates satisfy the first criterion, for any approved rating R, elect the candidate with the highest approval over all ballots.
I call this IBIFA variant "EXACT", because it uses an EXclusive Approval Comparison Threshold. That is, the candidate compared to X is the one with maximum approval on ballots that exclude votes for X at some rating or above. Like IBIFA, it is also cloneproof.
For EXACT, it is convenient to keep track of co-approval: the approval for candidates X[j] on a ballot containing candidate X[i] with rating k:
for ballot in ballots:
for candidate i on ballot with score k:
if k approved:
for candidate j on ballot with score m:
if m approved:
W[k,i,j] += 1
Note that W[k,i,i] is the total approval for candidate X[i] at rating k, and the total approval for candidate X[i] at rating k and higher is the sum of W[k,i,i] over all approved ratings k.
It should then be clear that the approval for any candidate j on a ballot that rates X[i] at R or higher is
Approval[j] - W[R,i,j] - W[R+1,i,j] ... - W[MaxScore,i,j]
The EXACT score for a candidate is tuple similar to Majority Judgment's "majority grade":
EXACT score for candidate X = (R, S, T)
where R is the rating at which X's votes at or above R are greater than the highest approved candidate on ballots excluding X at R or above.;
If the number of ballots with X at rating R+1 and above is greater than those of the highest approved candidate on ballots excluding X at ratings R and above, then S = R+1, and T = votes for X at R+1 and above.
Otherwise, S = R and T = votes for X at R and above.
By sorting these tuples in descending order, one gets, as with Majority Judgment, an EXACT ranking for the candidates.
EXACT satisfies all the same properties as Majority Judgment, and in addition, is irrelevant-ballot-immune (IBI). That is, a ballot containing approval only for non-contending candidates won't affect the results.
EXACT does require several N^2 arrays for summable storage, but note that no sorting of the ballots is required as with pairwise methods.