We are proud to announce that we are now Official!

ASC NFT Rank Checker Documentation

Always NFA and DYOR

Overview

This app ranks the ASC NFT collection of 10,000 supplies based on hierarchical feature categorization and dynamic scoring rules. The ranking considers rarity at multiple trait levels and ensures fair scoring for rare traits and other traits. The ranking logic is based on the ASC101 Trait Guide, Understanding Statistical Rarity on Magic Eden article of Magic Eden and OpenRarity article of Opensea.

Key Features

Hierarchical Trait Categorization:

The Hierarchical Trait Categorization is based on the ASC101 trait guide.

Main Trait: 'Schooler' is the primary trait.
Top Traits: Includes 'Eyes', 'Mouth', 'Mask', 'Top', 'Headgear', and 'Accessoires'.
Side Traits: Sub-categories for top traits (e.g., 'Top' includes 'T-shirt', 'Sweatshirt', etc.).
Sub-Traits: Specific details for traits, e.g., 'Eyes' → 'Blindfold'.

Dynamic Scoring System:

Each NFT is assigned a score based on the presence and rarity of its traits. Missing traits incur penalties inversely proportional to their rarity.

Scoring Rules:

1- Missing Traits: If a Top trait (e.g., Eyes, Mouth, etc.) is missing, its penalty or bonus depends on rarity.

  • Rare traits (low frequency): A penalty proportional to the frequency.
  • Common traits (high frequency): A bonus proportional to the frequency.

2- Present Traits:

  • Each present trait is scored based on its rarity.
  • For traits with hierarchical subcategories, the score combines frequencies of the top trait, side trait (if applicable), and sub-trait.

Example:

  • Eyes with sub-trait "Blindfold" (Eyes frequency: 89%, Blindfold frequency: 0.16%) gets a composite score reflecting both rarity values.

  • Headgear with side trait "Items" and sub-trait "Plant" combines all three rarity frequencies.

Rarity Frequency and Composite Scoring

The system uses rarity frequencies to calculate a composite score for traits. This combines the rarity of:

  • Top Trait
  • Side Trait (if applicable)
  • Sub-Trait

Formula:

1- Frequency Adjustment:

Ensure all frequencies are greater than 0 to avoid division errors.

Use safeFreq(f) = max(f, 1).

2- Composite score:

Combine the frequencies using a geometric mean:

product = topFreq * sideFreq * subFreq;  
geoMean = Math.pow(product, 1 / 3);
score = 1 / geoMean;

Example Calculation:

  • Top Trait frequency: 80%

  • Side Trait frequency: 50%

  • Sub-Trait frequency: 10%

product = 0.8 * 0.5 * 0.1 = 0.04;
geoMean = Math.pow(0.04, 1/3) = 0.341;
score = 1 / 0.341 = 2.93.

Unique NFTs

Unique NFTs (1/1) always rank highest with a fixed score of 10,000.

For the future

In the future we plan to make all our code open source. Keep following us.

Any suggestions or complaints

You can reach us on Twitter/X. Our DM box is always open for complaints and suggestions
X @0xemrekaya