WeTrustPlatform / staking-dapp

Stake TRST for Your Favorite NPO's
https://staking.wetrust.io
GNU General Public License v3.0
2 stars 3 forks source link

Ranking calculation #13

Open gliinbox opened 5 years ago

gliinbox commented 5 years ago

Roll out sequence for ranking: V0: take into account staking amount V1: take into account staking amount, raised amount [UI UX of staking hub rankings will need to change] V2: take into account staking amount, raised amount, tweets [UI UX of staking hub rankings will need to change further] V3: take into account staking amount & duration, raised amount & recency, tweets & recency [UI UX of staking hub rankings will need to change further]

By default, whenever a new user navigates to either Causes or Crypto Unlocked, we should use a composite score filter for the list of Causes or Challenges as default, based on the following: V0: TRST Staked V1: TRST Staked + ETH Raised V2: TRST Staked + ETH Raised + Social Engagement

A user can choose any specific sorting method thereafter.

Note for V1 and V2: How do we count contributions in on-going CU campaigns in regards to Spring rankings? Count them if campaign is active or succeeded, Do not Count them for campaigns that failed

TRST STAKED = (x/y) (TRST staked for that cause = x) (max TRST staked for any cause = y)

ETH Raised = (x/y) (ETH raised for that cause = x) (max TRST staked for any cause = y)

Social Engagement = (x/y) (tallied hashtags for that cause = x) (max tallied hashtags for any cause = y)

Example https://docs.google.com/spreadsheets/d/1js-KePVfU7_Y25UBunvfpgdV7I4b3IFFjjGZaM1DfPA/edit#gid=0

Prysmatic has 400 TRST staked, 10 ETH raised, and 21 hashtags tweeted. ChainSafe has 300 TRST staked, 15 ETH raised, and 5 hashtags tweeted. Rainforest Trust has 500 TRST staked, 5 ETH raised, and 15 hashtags tweeted. Internet Archive has 200 TRST staked, 20 ETH raised, and 4 hashtags tweeted.

y for TRST staked = 500 (max staked for any cause, which is Rainforest Trust) y for ETH raised = 20 (max raised for any cause, which is Internet Archive) y for Engagement = 21 (max tweets, which is Prysmatic)

Prysmatic: TRST Staked (400/500) + ETH Raised (10/20) + Social (21/21) == 2.3 ChainSafe: TRST Staked (300/500) + ETH Raised (15/20) + Social (5/21) == 1.588 Rainforest Trust: TRST Staked (500/500) + ETH Raised (5/20) + Social (15/21) == 1.964 Internet Archive: TRST Staked (200/500) + ETH Raised (20/20) + Social (4/21) == 1.59

in this case ranking would be Prysmatic Rainforest Trust Internet Archive Chainsafe

more details here: https://docs.google.com/document/d/1D06djHB_hy9rtl2zr1KM5I_7EYtR5fi7P40gXkHlB0A/edit

gliinbox commented 5 years ago

@sihoang when will the list of Spring orgs be shown by stake by default? thanks

sihoang commented 5 years ago

@gliinbox you mean the ranking on spring.wetrust.io? It's been by stake by default for a while since we implemented the categorization. The ranking is refreshed daily. So if you stake today, you'll see the result on spring.wetrust.io tomorrow.

sihoang commented 5 years ago

there was a bug with Heifer because their original EIN in our system was wrong. But it has been fixed by now

gliinbox commented 5 years ago

It's been by stake by default for a while since we implemented the categorization. The ranking is refreshed daily. So if you stake today, you'll see the result on spring.wetrust.io tomorrow.

OK got it, let me think about how we can make that info apparent to user so they know it won't be instant refresh

sihoang commented 5 years ago

this was closed automatically by a github commit which only resolved a part of the issue. Therefore, I re-open it

sihoang commented 5 years ago

we can make spring refresh more frequently like every hour or 30 minutes. The rationale for the "delay" was:

  1. Review process.
  2. Faster load on Spring. It should not be blocked by blockchain's querying.
sihoang commented 5 years ago

as discussed, the refresh frequency on Spring is 10 minutes https://github.com/WeTrustPlatform/spring/pull/1155