ΣLadder Ranking Formula
In this article, we will dive deep into how the Official Ranking is calculated for Space Robots' collection on the ΣLadder ranking.
You can read more about the ΣLadder in this article. And here, you can find the ΣLadder ranking.
Introduction
We start with a high level and will explore each formula element. And in the end, we will show some examples. We will use Space Robot #7086 as an example.
⚠️ If you still have questions. You are always welcome to ask questions on the Space Robots' official Discord server.
RankingScore = ⚡ PowerScore + 💎 RarityScore
RankingScore is the final number that gives the position in the ΣLadder.
⚡PowerScore = Total Attack + Total Defense
TotalDefense = The sum of all RoboParts equipped on the Space Robot with Defense power, including the Body and Head.
💎 RarityScore =🥇RoboPartsRarityScore + 🥈 MatchBody&HeadRarityScore + 🥉 BackgroundRarityScore
RarityScore has three main components that allow us to dynamically calculate the Trait and RoboPart rarity taking into consideration the amounts of RoboParts available.
🥇 RoboPartsRarityScore
Calculations are done for Space Robot #7086 as an example.
(100 / 5.67 + 2) = 19.63 +
(100 / 3.14 + 5) = 36.87 +
(100 / 4.14 + 3.5) = 27.65 +
(100 / 1.43 + 7) = 76.83 +
(100 / 1.13 + 7) = 95.40 +
(100 / 5.26 + 1.3) = 20.32 +
(100 / 3.15 + 3.5) = 35.20
RoboParts short form HS - Head Slot, MT - Mouth, HN - Hands, ER - Ears, ES - Eyes.
XXScarcity = (Number of occurrences / Total Number by Type) * 100
- The Total Number by Type and Number of occurrences are dynamic values calculated from Blockchain.
- Total Number by Type - we understand the total number of a specific RoboPart for its specific type, e.g., Head Slot, Hands, Ears, etc. Dynamic value calculated from Blockchain.
- Number of occurrences - when calculating RoboParts scarcity for the Space Robots NFTs, we considered both the RoboParts already used on robots and those available from the RoboParts collection. Which results in Total Number by Type = in-use RoboParts + available Roboparts. Dynamic value calculated from Blockchain.
The Special Rarity Trait is treated differently, and it only weights 0.1 in the formula
RarityTraitScore
RarityTraitScore is part of RoboPartsRarityScore calculations.
RarityTraitScore has five fixed scores: LegendaryScore, EpicScore, RareScore, UncommonScore, and CommonScore.
RarityTraitScore is what we (Space Robots) call rarity (Legendary, Epic, Rare, Uncommon, Common) as traits in our RoboParts Collection.
Given that there are Legendary RoboParts that have a higher supply than Epic RoboParts or others, we have to treat such factors separately and should weigh separately to the final RoboPartsRarityScore formula.
In time, when upgrading is ON and the Roboparts become scarcer, we could have rarer Commons than a Legendary, meaning that the Rarity Trait should weigh separately in the formula.
Theoretically, this translates to 1/100 Common should never weigh the same as a 1/100 Legendary — where 99 were already burned from a total supply of 100.
🥈 matchBodyAndHeadTraitRarityScore
Matching Head and Body gives extra value to Robots.
🥈 MatchB&HRarityScore = 🧩 matchBodyAndHeadScarcityScore + 🪙matchBodyAndHeadRarityScore
where 🧩 matchBodyAndHeadScarcityScore = (50 - HeadAndBodyScarcity * 100)
where 🪙 matchBodyAndHeadRarityScore = (20 + (HeadAndBodyTraitRarity * 3)
- In 🧩 MatchB&HRarityScore formula 50 is a PREDEFINED RARITY VAUE. By predefined rarity value, we understand a predefined value inside that formula based on the rarity that helps us always achieve a positive value greater than 1(>1)
- In 🪙 matchBodyAndHeadRarityScore 20 is a PREDEFINED WEIGHTING VALUE. By predefined weighting value, we understand a predefined value inside that formula that directly contributes to the weighting part of it through a fixed value.
- Multiplying by 3 is the weighting value. By weighting value, we understand a multiplier that weights to the final formula based on complex calculations.
- For HeadAndBodyTraitRarity, we used the predefined values of the RarityTraitScore, but Special rarity was excluded.
Since Space Robot #7086 has no matching Body and Head, the value is 0.
🥉 BackgroundRarityScore
🥉 BackgroundRarityScore = 100 / BackgroundScarcity
BackgroundRarityScore = 100 / BackgroundScarcity
Example data set
Below you can see full data from our ΣLadder API for Space Robot #7086
{
"name": "Space Robots #7086",
"nonce": 7086,
"powerScore": 118,
"assetId": "SRC-27d8ff-1bae",
"url": "https://media.elrond.com/nfts/thumbnail/SRC-27d8ff- 587d845a",
"owner": {
"address": "erd1527pk2l5hr36uhgr96t3pg49scjhvya5ts9598xtn8fku48dc6ws9kka9x",
"profile": "https://media.elrond.com/nfts/thumbnail/SRC- 27d8ff-587d845a",
},
"attributes": [
{
"trait_type": "Background",
"value": "Hypno Purple",
"scarcity": 0.2185932879002186
},
{
"trait_type": "Body",
"value": "TrafficBot",
"scarcity": 5.6705670567056705,
"rarity": 2
},
{
"trait_type": "Hands",
"value": "HN StrikerBot",
"scarcity": 3.137958085845568,
"rarity": 5
},
{
"trait_type": "Head",
"value": "HornetBot",
"scarcity": 4.14041404140414,
"rarity": 3.5
},
{
"trait_type": "Head Slot",
"value": "Black Cap",
"scarcity": 1.4321154713576905,
"rarity": 7
},
{
"trait_type": "Ears",
"value": "Chappy",
"scarcity": 1.1312724014336917,
"rarity": 7
},
{
"trait_type": "Eyes",
"value": "Hexa",
"scarcity": 5.257914545052025,
"rarity": 1.3
},
{
"trait_type": "Mouth",
"value": "VU Meter",
"scarcity": 3.1544678940278406,
"rarity": 3.5
}
],
"matchBodyAndHeadTraitRarityScore": 0,
"matchBodyAndHeadScarcityScore": 0,
"matchBodyAndHeadRarityScore": 0,
"isHeadAndBodyMatching": false,
"roboPartsRarityScore": 769.37,
"rarityScore": 769.37,
"rankingScore": 887.37,
"rankingIndex": 1
},
//: End of transmission: Stay tuned ⚡
Linktree: http://linktr.ee/spacerobots
Space Robots Team @ Racyon Industries