Voters rank any number of candidates in order of preference.
N is the number of seats in the election.
1. 1 at a time, each ballot is removed from the ballot box and assigned to its highest-ranked candidate who isn't elected yet.
(a candidate is elected as soon as 1/N of the ballots have been assigned to him)
2. If, after all the ballots have been so assigned, there are not N candidates elected, then the candidate with fewest ballots is eliminated, and, 1 at a time, each of his ballots is assigned to its highest-ranked candidate who is not yet elected or eliminated.
3. If the elimination & re-assignment process in the previous paragraph is begun, then it is continued until either N candidates have been elected, or until only N candidates remain un-eliminated (in which case those N are declared elected), whichever happens 1st.
*****
If you & I both have the same 1st choice, but different 2nd choices, and if your ballot goes to our 1st choice, but my ballot is drawn after he's elected, then I help my 2nd choice & you don't. This is much less important a problem than it sounds. The important thing is that we elected our 1st choice, and everyone has a better chance to help their 2nd choice than either of us would have had in the current non-PR system.
But, in order to avoid early voters, or late voters being systematically favored any:
If the ballots are not in a stack, then thouroughly mix them up before beginning to draw them.
If the ballots are stacked, then flip a coin to determine whether or not to turn the stack over before beginning to draw from it.
Though this random step really bothers some people, this stv count method is still incomparably better than no PR, and it gives both of us (in the above example) an equal chance of helping our 2nd choice.
*****
But, if it's felt necessary to get rid of randomness altogether, the more complicated " fractional stv" would be proposed.
I emphasize that the above simple stv count is 100% adequate.
It's just an improved wording of the old Massachusetts general law stv, with one small improvement--a more accurate election threshold. I call it "minimal stv".
*****