Evolution of thinking and techniques behind Hexmos Karma
We evolved several ideas for Hexmos Karma starting from a simple peer voting-based activity tool to a more sophisticated expertise-weighted voting ecosystem. Insights from economy, baseball sabermetrics, politics, philosophy, and existing data have made their way in our research. Karmashastra is the soul of Hexmos Karma we are currently developing to power the system and supervise the intricacies. In this post, I will go through various topics we discovered and the insights captured for Karmashastra.
How did Hexmos Karma begin?
Last year, we introduced a minimal voting system for exchanging feedback to each other. At the end of our daily sessions, we reflect and give points (1 to 5) for a fixed list of attributes. If somebody wrote good documentation during the session, others would [independently] vote the person on "Written communication" with certain points. With the incorporation of daily feedback, we got elemental data points on how individuals are growing on various attributes.
We found this immediately useful in understanding our own skills better. People we work with daily are the most reliable sources of our reflection. Soon, we hit complexities in converting it into a usable system. The need for deeper research motivated us to explore a wide variety of topics.
A simple analysis of our voting activity revealed a major flaw in the system. People started giving votes generously without investing much thought on the implications. Allowing such behaviors skews the system, and consequently the insights derived become meaningless. A system without constraints steers people's behavior to be unmindful and reckless.
We asked ourselves: Fundamentally, what does the "voting activity and feedbacks" represent? Could it be some sort of "wealth"? Are we creating wealth by helping each other grow?
Karma as a mini economy
Consider an ideal universe with an abundance of resources - unlimited supply of food, shelter, and wealth. Any amount of demand can be met without friction. We live on a planet with a limited supply of resources. Humans have the tendency to always desire for more than what is available. How do we map the scarce resources to meet human needs? We evolved the concept of "economy" to deal with this issue.
Economics is the study of the use of scarce resources which have alternative uses.
The term "wealth" in the context of economics leads us to the analogy - the voting activity and feedback is a form of "wealth", more specifically, "social wealth".
We observed some obvious issues with our existing system:
- What motivates someone to give daily feedback to their peers?
- What stops you from voting your favorites unlimited times?
- What stops you from giving thoughtless and meaningless feedback?
Once we started to think of the system as a "mini" economy, we got better answers to the existing issues. Specifically, a global economy with localized transactions.
Here are some more analogies in the terms:
- Vote = transaction
- In an economy, a transaction can be seen as either "spending" or "investment". It is uncertain at the moment whether we consider every voting transaction as an "investment".
- Vote points (and feedback) = scarce resource
The "boundaries of localization" could be configured based on the structure of organizations. A small organization with a close to flat hierarchy could allow voting between every member. Bigger organizations could restrict the voting between certain teams. We retain the value in the system by maintaining the authenticity of votes, i.e. people with direct knowledge of activities to provide testimony. The wealth acquired [locally] in one organization by an individual is retained forever. When the person leaves the current organization for another, the wealth is carried over [globally].
Wealth generation mechanisms in Karma system
Any successful economy should continuously generate wealth and appropriately allocate scarce resources. In the Karma system, we are considering two sources of wealth generation:
- Boost factor: Whenever someone initiates a vote transaction, the magnitude of vote is factored with some sort of boost (positive or negative).
- Settlement reward: In an economy, the return on investment is almost always delayed. Based on voting activity in a given week, the system rewards each individual based on several heuristics discussed in the next section. Settlement reward is more sophisticated and of higher value compared to the "Boost factor".
Factors for calculating reward
A mathematical function for calculating the reward during the settlement process comprises several factors. It may seem like a simple formula on the surface. But as we plow through the nitty gritties, it becomes an immensely complex representation. The algorithm essentially models people's behavior over time and rewards them for it. The Karma system rewards for the voting activity in various ways, independent of personal preferences.
Every "valuable" transaction should increase the wealth of the individual as well the economy as a whole. How we identify and quantitatively measure "valuable"ness of a transaction will define the usefulness of the Karma system. We reward a person for both "giving votes" as well as "receiving votes". In order to give you a preview of the intricacies involved, let's go through some of the influencing factors we are incorporating in the initial version. Each of these factors could define separate ways of dealing with "giving" and "receiving".
Consistency factor
Exercising everyday for 20 minutes is a better strategy than performing a marathon workout of 2 hours once in a week, in order to stay fit. We can bring the same analogy to the settlement process.
From a relative measure viewpoint, the following assertions should hold:
- A person who "received" 1 vote every day of the week should get a higher consistency score than 5 votes on a single day.
C([1, 1, 1, 1, 1]) > C([0, 0, 5, 0, 0])
- Similarly, a person who "votes" every day should get a higher "given consistency score" than a person voting once in a week, even though the overall number of votes remains the same.
At present, we take the largest streak of activity (giving or receiving) to calculate a consistency score. If there are two largest streaks with the same number of days, we compare the sum of points. This is to encourage not to break the activity flow.
Growth factor
We prefer growth over stagnation and decline of our wealth - individual or aggregate. When someone receives more votes (magnitude and count) in the current week than the previous week(s), it is a growth in their wealth. Our present calculation of growth factor only compares current week and previous week. We may want to sophisticate the calculation to look back even further with some sort of recency bias.
With respect to "giving", we consider the growth in the number of votes compared to the previous week. We have not yet evaluated the implications of considering the growth in magnitude.
Convergence factor
Consider four of your teammates have voted you on "Written communication" in the current week. Let's compare two sets of values:
v1 = [5, 5, 4, 4]
v2 = [1, 1, 3, 5]
Here, the instance v1
has a better convergence than v2
. The system rewards more for receiving "similar opinions" than "variable opinions". We use the inverse of the coefficient of variation for calculating the convergence factor.
Diversity factor
Acquiring a diverse set of skills is valuable for an individual. We consider two types of diversity in the settlement process.
- Diversity in attributes: Number of unique attributes you voted for others.
- Diversity in voters: Number of unique people you voted for.
Expertise factor
Expertise-weighted voting is a salient property of the Karma system. Consider two people (P1
& P2
) voted on "Presentation skills" for the same person (P3
). If P1 has got more expertise on presentation skills than P2
, the system should weigh P1
's expression more than P2
. This enables meritocracy in the system, rather than simple democracy.
In the mathematical calculation, the system maintains a real-time global ranking on each attribute with respect to the points accumulated. Based on the percentile position of the voters, the weight factor is included in the calculation.
Intensity factor
More wealth in the system is harnessed when people engage more in their voting activity. Intensity factor represents the energy of individuals. For the weekly settlement reward of a person, the system considers the percentile of their number of votes given w.r.t others.
Definition of intensity slightly differs for the votes received. Consider the following set of votes received by two different people:
v1 = [3, 2, 3, 3, 2, 4, 3], sum = 20
v2 = [1, 5, 3, 4, 5, 1, 1], sum = 20
The set v1
is more "focused" than v2
in terms of "variability", even though the overall points are the same.
Hexmos Karma points (HKP)
The famous Baseball Sabermetrics is a perfect example of how teams can be formed by empirical analysis of individual player's score. Bill James's work on sabermetrics practically proved the right team can be formed without top performing players.
Hexmos Karma points, or HKP is a single continuously evolving score that represents an individual's accumulated social wealth through the voting activity. In addition to the received votes from peers, the system gives "settlement reward" every week based on various factors discussed above, added to the overall HKP.
We explored several economics and financial related topics to gain insights that would go into sophisticating the algorithm. Programmatic simulations are effective to practically understand concepts and an enjoyable process as explorers. Here are some samples:
- Gini index is a measure of degree of inequality within a certain group (usually nations). Peter Norvig's notebook helped us visually understand the dynamics of the Gini index. It inspired us to pursue a "simulation" based approach to economic concepts.
- We came across Options trading (somehow) in our research. Black Scholes equation is a traditional and relatively simple model to price options contracts. We modeled the basic equation in a Jupter notebook (Notebook Link).
- Credit score is a widely accepted method of modeling "financial wealth" of individuals. David Durand published some early research works on formalizing credit risk through a Credit-rating formula. Credit Scoring and Its Applications book (ISBN: 978-0898714838) explains numerical ways of calculating credit risk using the Markov Chain process. With the help of QuanEcon's notebook on Finite Markov Chain and Kaggle Credit Risk Dataset, we replicated the model to strengthen our knowledge base (Notebook Link).
Driving more activity in the system
Money is an accepted form of entity to exchange physical or virtual goods in modern society. However simple it sounds, it took thousands of years for humans to evolve this system. Despite certain outliers (fraud, fake currency, etc.), we still trust money for economic transactions. If you are spending or investing, you would be reasonably careful in your decisions. Why? Every penny you spend or earn has a value associated - it is a "scarce resource". Individuals are motivated to work for money because it has the ability to provide certain living standards.
How do we bring a similar mindset of transactions to the voting activity?
- A society always consists of different economic classes. In the U.S. economic system, it is possible for individuals to move from one class to the other. This "potential mobility" to upgrade your economic/social class motivates people to work harder. We should develop Karmashastra to support such a possibility - one can always accumulate more HKP than others by improving their skills.
- Taking cues from social media, people could engage in the system more if they have access to their peer's voting activities. We show a mixed feed of voting activity of the user and the peers (team/company), along with their accumulated points.
- Incentives in the system: Financial investments can bring future returns. Engaging in the economy is necessary for the society's well being as opposed to stagnation (or excessive hoarding). Similarly, we mandate choosing a Commitment plan to the user during the onboarding process. Right now, we offer three tiers: (1) Short-term, (2) Medium-term, and (3) Long-term commitment plans. The system preloads certain HKP based on the plan selection upfront. Users can utilize the initial points to vote on others. At the end of the plan, the system rewards them as an incentive for effectively engaging in the system.