How is a NFT rarity score calculated?

3 minute read

Humans tend to assign value to odd things. In the case of 1 of 1 art, it might be easier to look at a body of work and say “this artist has done X, Y, Z, and I will give $__ value to their work”. On the other hand, how do you reason about a collection of baseball cards or NFTs from lesser-known artists?

Rarity scores and trait calculation seem to help folks reason empirically about the value of a collectible. Beyond rarity scores, there is also individual value (aka weight) assigned to art/collectibles that can alter the value of a collectible.

Rarity is one of the simplest ways to reason about the value and thus drives the need for rarity tools.

Types of rarity calculations

A lot of this comes from information I learned from how Rarity Tools defines Rarity Score for Ethereum NFT collections. Out of convenience, this article uses the same terms and calculations for Chia NFT collections.

There are many ways to compute rarity but these 3 are easiest to reason about:

  1. Trait Rarity Ranking
  2. Statistical Rarity Ranking
  3. Rarity Score

The main reason to compare these 3 computations is to show rarity score solving issues with the former.

Trait Rarity Ranking

Comparing the NFTs using the rarest trait of each NFT. Easy to think about but it has a glaring issue. It doesn’t account for any of the other NFT traits in the same collection.

NFT trait rarity

Statistical Rarity Ranking

This method multiplies all of the trait rarities of a single NFT together. Just like with trait rarity this approach is missing the same trait rarities of the other NFTs in the same collection. This gives a false sense of rarity because you are once again looking at a single NFT’s rarities just in a different way.

NFT statistical rarity ranking

Rarity Score

In retrospect, it should be obvious the entire collection’s traits must be considered for a more balanced calculation. created and defined Rarity Score as:

[Rarity Score for a Trait Value] = 1 / ([Number of Items with that Trait Value] / [Total Number of Items in Collection])

The total Rarity Score for an NFT is the sum of the Rarity Score of all of its trait values.

src: (Rarity Score)[]

NFT statistical rarity ranking

For example, the rarity scores for Chia Friends look like this:

NFT statistical rarity ranking
Click to expand


The article does an excellent summary so I’ll paste it here verbatim:

As noted, Statistical Rarity and Average Rarity have a tendency to over-emphasize the overall level of rarities of all traits in an NFT, while not giving enough emphasis to single rare traits that could be 1 of 1s in the whole collection.

Trait Rarity on the other hand has the complete opposite problem where it only considers the rarest trait.

Rarity Score give results that give enough emphasis to single rare traits and also includes overall trait rarities in its calculation. And most importantly the results it gives match better with our human expectations.

Rarity Score Normalization

This calculation attempts the combination of rarity score calculation while giving more weight to categories with fewer traits. Fewer traits mean higher rarity scores. Take it for what you will. This calculation simply gives the viewer another way to look at the same data.

You can see there are many ways to look at the same data. ranking

What about weighted scores?

Sometimes an artist or a community will give more weight to the rarity score. With Chia Friends, you can see how special art associated with Chia employees ends up giving more weight to those NFTs. Chia Friends - weighted rarity scores src:

As you can see there are different ways to think about rarity. It all boils down to this: Art is subjective.

Buy what you like. 😄