In my last post, I mentioned that the Steward and Executive Councillors were chosen using a process called Sortition. Rather than purely random selection, however, we opted to use a weighted-random algorithm. Today, I wanted to explain the reason behind that choice and explain the algorithm we adopted. It’s a particularly difficult subject to make interesting, but I’ve had a go by including an interactive playground below.
Sortition normally involves selecting a small number of people at random from a larger grouping. However, one of the main weaknesses of Sortition is it doesn’t value experience. In the context of mentoring and supporting a Stewardship Trust, the Stewardship Council must balance fresh new viewpoints with the experience necessary to provide effective support. For this reason, Sortition has often been abandoned as a viable process in governance.
“[Socrates] taught his companions to despise the established laws by insisting on the folly of appointing public officials by lot, when none would choose a pilot or builder or flautist by lot, nor any other craftsman for work in which mistakes are far less disastrous than mistakes in statecraft.”
Xenophon of Athens (Memorabilia Book I, 2.9)
Stewardship Councils address this issue in several ways. Firstly, one-third of the Council is not selected by Sortition (the Independent Councillors) but is appointed based on their independence and experience. Secondly, the remainder of the Council is split into two groups, the Executive members (directors) and the Stewards (non-directors). Although the Executive members may be relatively new to the Trust, there’s a presumption that they will bring management expertise that can be of value. Regardless, both the Executive members and Steward members are also mentored and trained prior to taking their seats, via the Shadow Council.
The final mitigation, and the topic of this post, is the weighted-random algorithm used. In a purely random Sortition, the chance of any individual being selected from their group is equal amongst all individuals. For example, at Troy, as Achilles was sulking in his tent, the Greeks needed to choose their most valorous soldier to meet Hector in single combat. Each soldier inscribed their name on a piece of parchment (klèroi) and threw it into a helmet.
“They took the lots and shook them in a bronze-armoured helmet”
Homer Iliad III, 316 = XXIII, 861; cf. Odyssey X, 206
With one lot each in the helmet, each soldier was equally likely to be chosen. However, imagine that one soldier, enthused at the prospect of putting Hector in his place, decided instead to put their name on two lots, and place both in the helmet. It would not guarantee that soldier’s selection, but it would make it twice as likely that he was selected over one of his peers. It would be the ancient equivalent of buying two lottery tickets (the name is not a coincidence).
As soon as the one soldier placed in two lots, it was no longer a random selection, but a weighted-random selection. That is each person’s chance of selection is proportional to the weight (or number) of lots they have thrown into the helmet. Our enthusiastic soldier has a weight of ‘2’, whilst his peers have a weight of only ‘1’. If there were 20 soldiers, the total number of lots would not be 20, but 21, and our soldier’s name would appear on 2 out of the 21 lots, giving him an improved 9.5% chance of selection, compared to just 5% (note though, it’s not quite twice as good).
\[\left(2\over 21\right) \approx 9.5\% > \left(1\over 20\right) = 5\%\]The formula we use produces a weight for each employee being selected from the group. It takes into account two factors, the employees total remuneration in the last year (that includes salary, bonuses, benefits, etc.) and their length of service. Because it needs to take remuneration received into account, and due to the way logarithms work, we don’t consider anyone eligible for selection if they’ve been employed for less than one year.
\[weight = \ln\left(service + director\over365\right)\cdot\ln\left({2\cdot remunaration\over minRemuneration}\right)\]We start by adding the number of days an employee has been with the Trust to the number of days they’ve been a director. This has no impact when selecting the Steward Councillors (as director = 0). However, it does affect the selection of Executive Councillors, as it takes into account how much of an employee’s service has been as a director. Dividing this figure by 365, effectively ‘removes the units’ and gives us a smaller number that is similar to years (there are not exactly 365 days in a year, on average there are approximately 365.2422 days due to leap years, leap seconds, etc.). This first fraction represents the employee’s experience in terms of time spent with the Trust.
The second fraction takes the employee’s perceived value to the Trust based on the remuneration they have received. It divides this by the minimum remuneration within the group of employees to ‘inflation-proof’ the formula, by removing the units. We then double this so that the lowest-paid individual doesn’t get a fraction of ‘1’, but ‘2’. That step is important as –
\[ln\left(1\right) = 0\]We now have two fractions that we take the natural logarithm of and multiply together. This produces a graph that passes through zero at exactly one year. The natural logarithm is an amazing function, but we use it here for a very good reason. It ensures that the importance of the two fractions diminishes with their size. For example, if we take our minimum earner, their weight increases from 0 → 0.5 in the first year, but it takes 2 more years to go from 0.5 → 1.0, and then 4 more years to go from 1.0 → 2.0. Similarly, increasing an employee’s salary from £20,000 → £30,000 has the same effect as increasing it from £30,000 → £60,000. Effectively, it gets harder and harder to shift the needle. This has the very real effect of keeping the range of weights within a reasonable level.
That’s the maths, but it’s not the easiest to understand. Instead, I thought I’d brush off the old javascript skills and provide an interactive playground so you can get used to the idea yourself. The below chart shows the above formula, but also allows you to choose a non-logarithmic version. Using the chart you can see that, an employee on £20k, after 2 years will have a weight of approximately 0.5, compared to an employee of 20 years, and a salary of £50k, whose weight will be approximately 4.82, which makes them just less than ten times as likely to be selected. Compare that to the linear algorithm, where the more senior employee has a weight of 100 compared to approximately 4.82 for the more junior employee. That would make them almost 25 times as likely to be chosen.
By using the example employee, you can see the effect of increasing salary, length of service, or time as a director on the individual’s weight. By changing the scales you can get a sense of how the formula applies to different companies.
As a final note, though the formula does a reasonable job of keeping the weightings within a narrow band, the Council has two further protections against excluding the most junior voices. Firstly, one-third of the seats are dedicated to non-directors ensuring that employees are selected in a group of their peers. Secondly, councillors only spend one year on the full council, after which they are ineligible for reselection for another year, this opens up opportunities for those who weren’t selected last time around.
Interactive playground
The above playground is also available on CodePen where you can see the code for yourself.