I attempted to devise a proportional score voting system a few years ago, and while I thought it would work, I since found some problems with it.
The reason why I want to get it to work is that there are some problems I've seen in other proportional approval/score systems that shouldn't be exhibited by this. I haven't proved any results but empirically it seems to work wherever there are two factions of voters.
I'm not really that good on mathematical notation so I'll have to explain in in a more "wordy" way. I'll start with a simple approval voting example (approval being a specific form of score). The letters correspond to approved candidates.
Approval voting, 2 to be elected.
1 voter: C, D
The system works by looking at root mean squared "dissatisfaction".
If A and B are elected, then 3 voters have no dissatisfaction, and 1 voter has a dissatisfaction of 2 (they have 0 out of 2 candidates elected).
The root mean squared dissatisfaction is sqrt ((3*0^2 + 1*2^2)/4) = 1. This is then taken away from the number of seats (to find the "average" number of seats per voter that this result is equivalent to) and then divided by the number of seats to find the "representation score" out of 1 for the result.
So (2-1)/2 = 0.5. So 0.5 is the representation score for A, B (equivalent to 1 seat for each voter).
If the result was A, C then the root mean square dissatisfaction would be sqrt (4*1^2/4) = 1. This is the same as for A, B so it gives a representation score of 0.5. So these potential
results are tied. If every voter has voted for the same number of elected candidates (as in the A, C case), then the representation score for that result is just that number of candidates divided by the total number of elected candidates.
If it was C, D we'd have sqrt ((3*2^2 + 1*0^2)/4) = sqrt 3. The representation score is (2-sqrt 3)/2 = 0.134. This is a worse result.
This result basically fits the Sainte-Laguë system rather than D'Hondt. Hopefully it's quite simple so far.
However, the system is nowhere near complete. Take this election scenario:
Approval voting, 3 to be elected.
3 voters: A, B
1 voter: C, D
The same as the last case except that 3 candidates are elected. Let's look at the potential result A, B, E. Candidate E has not received any votes. To calculate the
representation score, we have to ignore any candidates not voted for by either faction or it messes up the calculations and would not award the same representation score to A, B, E as it would to A, C, E, which it should do (given that A, B and A, C would score the same).
So we have to look at the dissatisfaction from 2 seats rather than from 3. As before we look at the root mean squared distance from 2 rather than 3. It would be 1 in this case and equivalent to 1 seat. But the representation score is worked out using the total number of available seats. So it would be 1/3 or 0.333.
In general, when we have the simple case of two factions of voters, to calculate the representation score of a potential result, we count the total number of candidates voted for by at least one faction and look at the root mean squared dissatisfaction from that. For example:
2 voters: A, B, C, D, E, F
1 voters: A, B, C, G, H, I
When evaluating the result A, B, C, D, E, G we work out the difference from 6. We don't count any of the candidates twice even though they have been voted for by both factions. In this system, A, B, C, D, E, G would beat A, B, C, D, E, F unlike other systems I've encountered.
For a generalisation to score voting, you look at the fraction of the max vote that the voters have given to the elected candidates. For A, B if I scored them 6/10 and 4/10, then it would be as if I had 0.6+0.4 = 1 candidate elected. If someone else scored them 7/10 and 3/10, then it would be as if they had 0.7+0.3 = 1 candidate elected as well. However, the dissatisfaction would be calculated from the higher of each so 0.7+0.4 = 1.1.
The problems start when (as there always will be in real life) there are more than two
types of voter. You can't simply pick a point to calculate the dissatisfaction from and use it for several factions. It doesn't give the right results. It seems that you can only do it for two factions at a time.
I don't have a simple system to sort this out. Maybe there is one but I'm just missing it. The previous (failed) system I had involved iteratively "levelling out" the result for voters until they were all at the same level. But I noticed that the result can depend on how you do the levelling out.
To see what I mean by levelling out, take a look at the first example again, but double everything.
Approval voting, 4 to be elected.
3 voters: A, B (faction 1)
1 voter: C, D (faction 2)
3 voters: E, F (faction 3)
1 voter: G, H (faction 4)
Take the result A, B, E, F. Because A, B is
proportionally equivalent to the voters in factions 1 and 2 all having one candidate elected (as we saw before), you can equivalently see that result as representationally equivalent to 4 voters having 1 candidate elected. So those 4 voters have been "levelled out". You can do the same for factions 3 and 4. Then every voter has been levelled out to 1 candidate each and the representation score is 1/4 or 0.25. However, it is not always that simple. Doubling the other example I gave:
Approval voting, elect 12
2 voters: A, B, C, D, E, F (faction 1)
1 voters: A, B, C, G, H, I (faction 2)
2 voters: J, K, L, M, N, O (faction 3)
1 voter: J, K, L, P, Q, R (faction 4)
Take the result A, B, C, D, E, G, J, K, L, M, N, P
Factions 1 and 3 have 5 candidates elected, and factions 2 and 4 have 4 candidates
If you level out factions 1 and 2, they have candidates in common and there are 6 that one or both voted for, so the dissatisfaction score is calculated from 6. The same would apply to levelling out factions 3 and 4. Because 1 and 2 combined are equivalent to 3 and 4 combined, this would level out every voter, so we could work out a representation score. However, we could equally level out faction 1 with faction 4 and faction 2 with faction 3. As pairs factions 1 and 4 together are equivalent to factions 2 and 3 together, so we'd end up with all voters levelled to the same level, but it would be a different level from last time! This is because when comparing factions 1 and 4 (and 2 and 3), we would have to work out the dissatisfaction score from 9 candidates (rather than 6) because that is the total of the elected candidates that at least one faction voted for, as they have none in common. Working out representation
scores using squared differences from different numbers does not give the same result. I won't show you any numbers here, but it's quite trivial to calculate.
I have a potential system that might give the correct results and always the same result. But anything below here is really just speculation, and I was hoping that someone might spot something glaring that I've missed to make a simple system.
First of all you have to compare and level the result for every pair of factions. If no two voters vote the same way, this could mean every pair of voters, which would mean n*(n-1) pairs for n voters. So at this point you have up to n*(n-1) "results". Each "result" will later be treated as a faction with the number of voters added together from each faction that made the "result".
Then you have to use trial and error to find the actual representation score. First of all, you
"guess" what the representation score is, and you use a template two-faction result that you know has that representation score to compare it against.
For example, if there are two candidates to be elected and you are testing for a representation score of 0.5, you can use the template where x voters have 2 candidates elected and x/2 voters have 0 candidates elected (we know from previous examples that this gives a representation score of 0.5).
For any paired "results" below the being-tested-for representation score, they are levelled to being-tested-for representation score using the required number of voters from the template faction that is above the representation score (treated as if they have no candidates in common). For any "results" above the being-tested-for representation score, they are levelled to this representation score using the required number of voters from the template faction
that is below this representation score (again treated as if they have no candidates on common). So at the end, all the "results" are now levelled to the same score.
You then look at how many template voters were needed from above and below the representation score to put everything at the right level. If it is the correct proportion (2 to 1 ratio using the example above) then you have found the correct representation score. Otherwise you go up or down as required. Obviously when comparing candidate sets, you only need to know if a set is better than the best set so far, so you can just set the initial "guess" to the best so far. If it's lower, you don't need to work out the exact representation score and can move on.
If it's too much computation to work out the representation score for every potential result, then electing candidates can be done sequentially.
might not work as it is, but I think there is potential in there as long as the two-faction method can be applied to any number of different types of voter. So does anyone have any ideas?