How do we calculate rarities?

The rarity scoring and rank methodology


First off, we have to give credit to and others for doing groundwork and sharing their methodologies for calculating rarities. We follow a similar approach with some of our own additional checks to ensure accuracy. It's important to note that this is a formulaic approach to provide our users with easy heuristics while browsing, and may differ from other rarity sites, or from the rarities that a project creator officially decides best fits the collection.

If you want to chat more about our approach or rarities for a specific project, join us on Discord.

Rarity Scoring Methodology

  • NFT metadata will typically be in the format of: {Attribute: Trait}

    • The Degod below has {Head: Medusa}, {Eyes: Steampunk Goggles}, {Skin: Nebula}, etc.

  • NFTs in a collection generally won't always explicitly have a trait value for a given attribute, in which case we assign a value of None

    • {Specialty: None} in the screenshot below

So once we've figured out the attributes / traits for every NFT, we now know what this entire collection or population of NFTs looks like and can figure out its demographics.

What we want to know is how prevalent is every trait in a collection which we can calculate as:

And we can turn this into a rarity score for each trait by just taking the inverse:

Let’s go through a quick example with one of the traits from Degod #3251 above.

  • There are 10,000 Degods in total, 54 of which have Nebula Skin

We can do this for every trait in the collection and then add up the rarity scores of each NFT’s corresponding traits.

Once we sum up the rarity score for every NFT in the collection, we sort these from highest to lowest rarity score and stack rank. The token with the highest rarity score will be rank #1, the next highest rarity score will be #2 and so on.

In the cases where multiple NFTs have the same rarity score, they will have the same rank and the lower ranked NFTs will be pushed down accordingly.

Example with tied rarity scores


  • We exclude numeric ranges from rarity scoring

    • We define numeric ranges as any attribute category where all the possible values are numeric and there are more than 20 possible values. This will be most commonly found in algorithmically generated art collections

  • We do not update rarities when NFTs are burned or added to a collection

    • Some collections continuously add or burn NFTs from their collection over time. Degods and Pesky Penguins have well-know deflationary burn mechanisms, while collections like STEPN are increasing their supply over time by minting or adding new NFTs to the collection

Last updated