Pages:
Author

Topic: [Results 2nd Edition] 🥧 Bitcointalk Pie Baking Contest 🥧 - page 2. (Read 361 times)

legendary
Activity: 1008
Merit: 3001
Changelog:
Code:
02/04/2024 - Winners announced. Block number for the giveaway will be 837400 and Bitcointalk Giveaway Manager by bitmover will be used.
02/04/2024 @01:26PM - Giveaway winner found - Agbe. Thread updated. If accepted the prize will be sent to the provided address by 1Dq.
03/04/2024: Corrected apogio amount (0.0053 to 0.00053).
03/04/2024 @ 05:09PM - Added more information regarding winners entries.
legendary
Activity: 1008
Merit: 3001


I understand that this table (and voting counting) may cause confusion to most members. If you are interested in understanding the Single Transferable Vote methodology, please check the bottom of this post. Warning: Lengthy post...

Take another look at the winners pie here:


This year we have received 87 votes but considering that I had to discard 4 of them (not meeting either merit or activity requirements[1][2][3][4]), it makes a total of 83 votes!

The prize pool of this year edition was of 0.0086 BTC. I kindly ask the contributors to send the following quantities (I'll transfer the amount associated with apogio):

Prize Pool distribution (per winner):
════════════════════
UsernameAmount (BTC)
════════════════════
RickDeckard0.001
════════════════════
PowerGlove0.001
════════════════════
UserU0.00033
════════════════════
apogio0.00053
════════════════════
Total0.0086
════════════════════

Table interpretation: I'll have to send 0.001 BTC to GazetaBitcoin, Mame89 and Agbe. Since I hold apogio funds, I will also send them 0.00053 BTC each.

@GazetaBitcoin, @Mame89 and @Agbe - Congratulations of being recognized as this year best pie makers! Kindly post your address in this thread so that the funds can be sent over to you. Ideally the amount should be sent to the winners within 1 week of this post.

Special edition canvas - Bitcointalk Pie Contest

Also, as previously announced, one of the winners is also entitled to receive a special canvas made by 1Dq to celebrate this year edition! All the costs are covered (shipping) so you just need to provide an address. Per the rules:

(...)
Here is the main information:
  • Canvas size: 30x40cm/12x15in (frame not included)
  • The pool of winners of this collectible will be one of the 3 users that will share the podium;
  • The winner of the collectible will be chosen using bitmover Bitcointalk Giveaway Manager;
  • If the winner of the giveaway declines to receive the award, then another draft will be made using the same tool for the remaining 2;
  • If no winner accepts the award, then it shall be made a giveaway between all other entries to the contest;
  • This process will repeat until someone accepts the collectible.
(...)

The order of the list will be the same as the order of being elected winners (GazetaBitcoin, Mame89 and Agbe). The block # will be 837400. I will update this thread once the block is mined and the winner is found.

EDIT: We have a winner! According to bitmover giveaway manager, Agbe is the winner! @Agbe: If you accept the prize, could you please send a PM directly to 1Dq with your address information so that he can send you the canvas? If not, please let me know so that we can run the giveaway manager again.

Thank you once again to @theymos for helping promoting this contest within our community and @jayce for the great banner!


Tools used for determing the winners:

  • (1) - OpenTally[5]
  • (2) - pie.blt file
  • (3) - Excel (to work with the ballots data)

What is OpenTally[5]?

Per their about page[5]:
Quote
OpenTally is an application for counting various preferential voting elections, with an academic focus, and emphasis on configurability.
The software is free and open source[6] and the whole counting process happens within the browser and no data is sent to any kind of server.
To use the software, I just needed to create a BLT file[7] of the ballot data of this contest (more on that on the next chapter).

Making the pie.blt file:

After transferring all the valid votes to Excel, I had to create a numbered list of each candidate:

Code:
Amphenomenon	1
GazetaBitcoin 2
|MINER| 3
(...)

With that list and a combined usage of a mix of functions (VLOOKUP, Pivot Tables and CONCATENATE) I created the format that OpenTally uses to compute the results:

Code:
22 3
1 13 0
1 13 17 3 0
(...)
"Amphenomenon"
"GazetaBitcoin"
"|MINER|"
(...)
"Muba20"
"Agbe"
"Bitcointalk Pie Contest - 2nd Edition"

Computing the result:

You can do it yourself (providing that you trust that my work with the voting data is correct). If you do, then the full code of the pie.blt file is the following:
Code:
22 3
1 13 0
1 13 17 3 0
1 13 19 16 0
1 13 2 16 15 0
1 13 2 3 7 0
1 13 20 22 8 0
1 13 3 7 20 0
1 13 5 3 7 0
1 13 9 7 0
1 15 1 22 0
1 15 22 1 0
1 16 17 4 7 0
1 16 17 5 8 0
1 17 16 21 14 0
1 17 2 16 7 0
1 17 2 22 16 0
1 17 2 6 3 0
1 17 2 7 13 0
1 17 20 16 5 0
1 17 21 3 7 0
1 17 3 13 2 0
1 17 3 15 22 0
1 17 3 6 21 0
1 17 4 15 7 0
1 17 6 7 0
1 17 7 2 13 0
1 17 8 2 0
1 17 8 7 0
3 2 0
1 2 12 9 20 0
1 2 13 16 5 0
1 2 16 17 15 0
1 2 16 19 6 0
1 2 17 16 0
1 2 17 3 15 0
1 2 17 7 13 0
1 2 17 7 4 0
1 2 22 6 0
1 2 3 0
1 2 3 17 0
1 2 3 5 7 0
1 2 4 17 0
1 2 5 3 15 0
1 2 5 6 10 0
1 2 5 6 14 0
1 2 5 6 17 0
1 2 5 6 4 0
1 2 6 12 3 0
1 2 6 15 5 0
1 2 6 4 0
1 2 8 12 0
1 2 8 17 0
1 20 21 1 11 0
1 22 1 15 0
1 22 1 3 0
1 22 15 2 16 0
1 22 17 2 0
1 22 17 4 5 0
1 22 2 5 15 0
1 22 2 5 4 0
1 22 2 6 15 0
1 22 2 6 3 0
1 22 4 15 0
1 22 7 2 0
1 3 7 5 17 0
1 4 16 7 6 0
1 5 10 6 2 0
1 5 2 15 7 0
1 5 3 21 17 0
1 5 7 17 2 0
1 5 8 17 4 0
1 6 16 14 13 0
1 6 16 22 2 0
1 6 20 17 0
1 6 3 12 7 0
1 7 17 21 0
1 7 2 17 0
1 8 1 3 2 0
1 8 17 19 16 0
1 8 4 3 0
1 8 7 2 16 0
0
"Amphenomenon"
"GazetaBitcoin"
"|MINER|"
"kuriboh"
"Bd officer"
"Crypto Library"
"puloweh555"
"8rch7"
"Gaza13"
"AirtelBuzz"
"Nothingtodo"
"@nn@_pen9"
"Becassine"
"Fuso.hp"
"Hatchy"
"Despairo"
"Mame89"
"Solokan"
"Helena Yu"
"acroman08"
"Muba20"
"Agbe"
"Bitcointalk Pie Contest - 2nd Edition"

Simply copy the previous code to Notepad++, save as ".blt" filetype and then submit the result to OpenTally[8]. You will get the same result as the one announced here. Do not change anything in the configuration options available.

How were the winners chosen? How did my preference votes contributed?

As it was previously announced, the method for counting the votes was the Single Transferable Vote (STV). With this method the users are able to vote in more than one entry and whenever their first candidate is elected the remaining votes (above a quota) can be transferable to their next candidate of preference.

The quota mentioned before acts as a goal - the user that gathers a number of votes equal or bigger than it, is elected a winner. In this case OpenTally uses the standard formula of the Droop quota[8] (Total Votes/K+1) where K is the amount of winners. This is equal to 20.75.

You can see the whole process of the STV at the bottom of OpenTally results:
Quote
  • First preferences distributed. 83.00 usable votes, so the quota is 20.75. GazetaBitcoin meets the quota and is elected.
  • Surplus of GazetaBitcoin distributed. Transferring 26 ballots, totalling 26.00 votes, with surplus fraction 0.20. [View detailed transfers]
  • No surpluses to distribute, so AirtelBuzz, Amphenomenon, Fuso.hp, Gaza13, Helena Yu, Muba20, Nothingtodo and Solokan are excluded. Transferring 0 ballots, totalling 0.00 votes. [View detailed transfers]
  • No surpluses to distribute, so @nn@_pen9 is excluded. Transferring 1 ballot, totalling 0.20 votes. [View detailed transfers]
  • Tie between acroman08 and kuriboh broken backwards. No surpluses to distribute, so acroman08 is excluded. Transferring 2 ballots, totalling 1.20 votes. [View detailed transfers]
  • No surpluses to distribute, so kuriboh is excluded. Transferring 2 ballots, totalling 1.20 votes. [View detailed transfers]
  • No surpluses to distribute, so |MINER| is excluded. Transferring 4 ballots, totalling 1.61 votes. [View detailed transfers]
  • No surpluses to distribute, so Hatchy is excluded. Transferring 2 ballots, totalling 2.00 votes. [View detailed transfers]
  • No surpluses to distribute, so puloweh555 is excluded. Transferring 3 ballots, totalling 3.00 votes. [View detailed transfers]
  • No surpluses to distribute, so Despairo is excluded. Transferring 5 ballots, totalling 3.40 votes. [View detailed transfers]
  • No surpluses to distribute, so 8rch7 is excluded. Transferring 6 ballots, totalling 4.40 votes. Mame89 meets the quota and is elected. [View detailed transfers]
  • Surplus of Mame89 distributed. Transferring 28 ballots, totalling 21.62 votes, with surplus fraction 0.04. [View detailed transfers]
  • No surpluses to distribute, so Crypto Library is excluded. Transferring 12 ballots, totalling 5.93 votes. [View detailed transfers]
  • No surpluses to distribute, so Bd officer is excluded. Transferring 15 ballots, totalling 7.49 votes. As they cannot now be overtaken, Agbe is elected to fill the remaining vacancy. [View detailed transfers]

Understanding the process:

  • GazetaBitcoin is elected the first winner because there were 26 ballots were he was the first choice. Since this value is bigger than the quota (20.75) he is elected. There is currently 5.25 votes (26-20.75) that surpassed the quota and can be distributed to the next candidates.
  • The users that had GazetaBitcoin as first preference had more preferences afterwards (2nd,3rd and 4th). We couldn't just transfer the 5.25 votes as we would ignore the majority of the preferences of the 26 users that voted for Gazeta. This is where the Gregory method[9] comes into play:
    Quote
    In 1880, J B Gregory contended that this process of random seelction could produce varying results depending on the choice of the randomly selected ballots used for making the transfers to other candidates.  He suggested that all the relevant ballots should be recounted, assigned to other candidates according to the preferences of the voters, but at a reduced value called the transfer value.  The transfer value is calculated by dividing the surplus votes by the total number of relevant votes.
  • By using Gregory method (surplus votes (5.25) / total number of relevant votes (26), we get a surplus fraction of ~ 0.201.
  • We then count the users that were voted as 2nd preference in those 26 ballots and we increase their results by the corresponding amount. For example, in those 26 votes, 5 users voted for Bd officer as their 2nd preference. This means that we multiply 5 x ~0.201 which gives us 1,01 and we add that result to the previously value of 5 that Bd officer had in the first round. The user has now 6.01
  • In the 3rd step, no user achieved the quota. When this happens, the user with the lowest number of votes is eliminated. In this particular case we had a lot of users that didn't had any votes as 1st preference, so they were just removed of the process.
  • In the 4th step, @nn@_pen9 is the user with least number of votes (0.20). Since we are now looking for a 2nd winner, we have to look to who voted for 2nd preference for @nn@_pen9 and see who their next candidate was. In this particular case, there was only 1 vote in this scenario and since Gaza13 was removed earlier, the surplus vote ended up going for the 4th preference (acroman08). He now has 1,20 as a value.
  • This process will continue until two more winners are elected.

Conclusion: I hope that with this brief explanation of how STV works, I was able to make you understand how your vote was used to select each winner. If not, please let me know and I'll try to explain any doubts that may remain.

[1]https://bitcointalksearch.org/topic/m.63822266
[2]https://bitcointalksearch.org/topic/m.63834641
[3]https://bitcointalksearch.org/topic/m.63845549
[4]https://bitcointalksearch.org/topic/m.63855369
[5]https://yingtongli.me/opentally/docs/about.html
[6]https://yingtongli.me/git/OpenTally/tree/COPYING
[7]https://yingtongli.me/git/OpenTally/about/docs/blt-fmt.md
[8]https://yingtongli.me/opentally/stv/
[9]https://citizensassembly.arts.ubc.ca/public/learning_resources/glossary/2004/csharman-10_0412141113-329.htm
Pages:
Jump to: