Starting from the Startup template
Motivation
Joshua Green describes Utilitarianism in Moral Tribes as a Pricing mechanism for different human values. We use monetary prices as a proxy to the value of different objects in society, based on Supply and Demand. We can use Supply and Demand to price Societal Change.
App flow
Goal
We want to compare the value add in different Universes:
- A world with an UBI > 100$ per month vs a world with no UBI
- A pro-choice world vs A pro-life world
- An open borders world ( i.e. no passports ) vs a world with borders ( as we have it now )
To do this we will have users answer questions about the various changes so that we can build estimates of the utility and likelihood of any change .
User Flow
Core Flow
Users will compare the value add of these changes and their likelihood. They will do it by getting a table such as:
Universe | Change | Universe |
---|---|---|
UBI > 100$ | 1 | UBI = 0$ |
Pro-choice world | 2 | Pro-life world |
Closed borders | 3 | Open borders |
Having seen this table, they are asked 2 questions:
- Which Universe would you rather live in, or
- Which of these changes is most likely to change over the next decade: 1, 2 or 3?
Advanced Flows
Users should be able to
- Add Changes to an Ignore list, so that they are not asked about that change again
- Add Changes to a preferred list, so that they see it compared with others more often
- Propose New Changes
- See the current best changes, in a Top Changes table. This will be based on ranking the changes by the properties of a change , described below.
Business Logic
Estimating
will be described with a Beta distribution , requiring 2 parameters, and .
Initialisation
Update
Whenever a user submits a vote, they provide the information that for some changes , and . The result of this depends on details to be completed on the Beta Distribution note. Until that get’s finished, we will update the values of , , to , , via:
Old | Old | New | Old | |
---|---|---|---|---|
Estimating
will be modelled with a Normal distribution, requiring 2 parameters, and .
Initialisation
Updates
Whenever a user submits a vote, they provide the information that or .
Database
Tables needed:
- User
- username: str
- email: str
- Change
- submitted_by: FK to User
- option_a: str
- option_b: str
- details: str
- likelihood_alpha: float
- likelihood_beta: float
- utility_mean: float
- utility_sigma: float
- Vote
- change_a: FK to change
- change_b: FK to change
- change_c: FK to change
- universe_chosen: Option ( or )
- change_chosen: Option ( 1, 2 or 3 )
- User_Change
- user: FK to user
- change: FK to Change
- ignored: boolean
- favorite: boolean