NFT Price Estimates Machine Learning Model

NFT Price Estimates Machine Learning Model

In this article, we offer an in-depth explanation of our newly improved Price Estimates machine learning model and give insights into how it works.

Table of Contents

Text Link

TLDR:

  • Nansen has expanded its coverage of price estimates from 15 collections to more than 800 collections, with new collections added within hours of minting.
  • Estimates of the existing 15 collections have been further improved, with error rates reduced by up to approximately 50%
  • NFT Price Estimates v2.0 takes into consideration the liquidity of a collection, sales history, and the impact of traits and rarity of NFTs when estimating its price.
  • Insights from NFT Price Estimates v2.0 model can be leveraged for: Finding which trait types are the most valuable, Finding the ‘best’, a.k.a. the leaderboard of top NFTs for a collection, Evaluating under-valued NFT pieces.
  • Price Estimator v2.0 also powers NFT Sniper, a brand new dashboard we've recently launched to all Nansen subscribers. Read more about that launch on our blog here.

Introduction

In February 2022, Nansen launched its Price Estimates v1.0 model, where the model took into consideration sales history and traits to estimate the most precise price available for any given NFT. The Price Estimates model was first launched for three collections (BAYC, MAYC, and Doodles) and later expanded to a total of 15 collections. However, v1.0’s model was not always applicable to all NFT collections. For the v1.0 mode, each NFT collection had its own custom model trained for prediction, which means the model was less likely to be accurate (given the limited data) and it was less scalable across the NFT market. As such, one of the main improvements with Price Estimates v2.0 is that we now have a single machine learning model trained across all collections’ historical data for prediction, allowing it to learn from past trading behavior in different market conditions. Nansen, therefore, derived the v2.0’s model to accommodate the breadth of the NFT market.

NFT Price Estimates v2.0 Overview Table

Learning from our v1.0 pilot, Nansen now released the Price Estimates v2.0 with an improved approach to NFT price estimates. The Price Estimates v2.0 aims to create a model that can:

  • estimate prices of any NFT as long as we have traits and sufficient sales history
  • estimate prices in real-time, and the first estimates and estimates of new collections are available within 1-3 hours of the requirements above being satisfied.

After the traits are revealed, the price estimates model uses the traits of the NFT to compute a feature vector (’unique’ fingerprint) for each token in the collection. In addition to traits, we use other variables, such as market conditions to create a state vector for the ‘time’ the NFT was sold at.

The feature and state vector together form our independent variables and the input to our model. The sale price is our dependent variable. We use machine learning models to map our dependent variables to the prices fetched in the market. By learning from the market prices, our model learns which traits, when adjusted for the market state, routinely fetch higher prices.

This allows the Price Estimates v2.0 model to value any NFT within the collection as of ‘now'.

The underlying core ML model also fuels the impact of other current features such as Nansen’s Listings and Rarity data. The updated Current Listings Table now has a new column showing the price estimates, enabling users to filter for undervalued items within the NFT collection at a glance. 

Current Listings Table with Estimated Price
Rarity Table with Estimated Price

Additionally, the top 1000 Rarity Rank table will include the price estimates for top-ranking NFT pieces in the NFT Rarity Profiler. This update also applies to the Trait Rarity table, which now too, showcases the price estimates. 

Why Accurate Pricing of NFTs Matters

Bored Ape Yacht Club NFT’s Floor Price

Extreme price and volume fluctuations are common occurrences within the NFT market. For example, Bored Ape Yacht Club's floor price went from 102.3 ETH on 1 April 2022, to 139 ETH in a short span of 30 days; a 35.9% increase. However, by the end of May 2022, this floor price plummeted to 83.6 ETH; a 39.9% drop. In a similar period, BAYC #8537 made a profit of 70.7 ETH within the span of 25 days, a 45.7% increase in the owner’s purchase price. 

NFT Item Profiler: Bored Ape Yacht Club #8537

As seen with the above example, there can be limitations to the use of the last transaction price when estimating “current'' NFT prices. While some might then refer to the NFT floor prices as a proxy to estimate NFT prices, we observed a significant price gap between rare and non-rare NFT pieces. For example, male types of Cryptopunks are listed on at least 67.5 ETH. On the other hand, the Zombie type is listed at 1295 ETH. In other words, it is risky to estimate the price of an item itself through the floor price of all current market prices, without any regard for the NFT’s traits.

As such, the main factors that act as barriers to a reliable NFT price estimate model are:

  • Low transaction volume,
  • Extreme price fluctuations,
  • Estimates that adjust according to real-time data,
  • Taking into consideration trait metadata that does not follow the standard schema that’s used across most collections

Testing The Upgrades with BAYC 

In keeping with Nansen's value of transparency, we provide a view of the performance of the Price Estimates model for sales in the last 30 days. We follow the following metrics:

  • Conviction: based on overall confidence level based on estimate and calibration errors,
  • Average Error: the difference between the estimate and the following sale price for sales in the last 30 days. 
  • Average Calibration error: average error for sales at the high end (above 90th percentile for value) and low end (below 10th percentile for value) in the last 30 days.
  • Market capitalization: total current estimates of all NFTs in the collection.
  • Change in volume in the last 30 days.
  • Change in floor price in the last 3 days.

The NFT Price Estimates v2.0 model Overview Table provides users with insight on the metadata used to produce the price estimates. One possible way to interpret this table is that some NFT collections, such as Generative Art NFTs, may not have traits that are mapped to their prices, or it may be that for these collections, the traits are not as impactful on their prices. As such, for these NFTs, we can expect a high error which signals that the ascribed traits are limited in influencing their price estimates. One such NFT collection is Art Blocks Curated’s Fidenza. 

On the Overview Table, Users are able to intuitively click into the specific NFT collection to under more granular insights about the specific collection and the respective NFT pieces. The following are three case studies to demonstrate how to leverage the NFT Price Estimates v2.0 model.

Bored Ape Yacht Club (BAYC)

When comparing the old model to the new, we observe that the improved model had a reduction in both the average prediction error (24% to 14%) and average calibration error (34% to 15%); all of which led to an overall increase in prediction conviction (low to medium). For the same NFT piece, we also saw a change in the predicted price. 

Price Estimates v1.0 model (BAYC)
Price Estimator v2.0 (BAYC)

So what traits justify a BAYC’s estimated price? For the ease of our users, the Price Estimates v2.0 model provides a “Top Trait Types by Estimated Value'' table. This table outlines the specific trait characteristics and the median estimated price associated with the trait type. Additionally, the table reports the number of NFTs in the collection that possesses the relevant trait characteristics. For example, “Solid Gold Fur '' as a trait BAYCs have a median estimated price of 478 ETH. Despite the current market conditions, BAYC #5383 which possesses these trait characteristics, recently sold for 777ETH (approximately USD 1.4m).

Top Trait Types by Estimated Value
BAYC #5383’s Transacted Price

Rarity Profiler - Solid Gold Fur Trait Rarity Rank

Users are able to review a particular trait in greater detail using the Rarity Profiler Tool. Zooming Using the “Solid Gold Fur” trait as an example, the Rarity Profiler tool ranks the specific trait by giving it a rantity rank, score, and its estimated price. For this particular trait, the median estimated price of the 46 NFTs that are associated with this trait is approximately 478 ETH. 

Rarity Profiler - Trait Rarity Rank

Rarity Profiler - Average Price & Volume associated with Trait

Apart from the in-depth understanding of how trait and rarity affect an NFT’s estimated price, users are able to do further research on a specific NFT with the Price Estimates v2.0 model. Revisiting the example of BAYC #5383, we are able to view the top traits possessed by this particular NFT and the history of its estimated price.

NFT God Mode - Price Estimator v2.0

Limitation & Conclusion

The Price Estimates v2.0 model identifies the fair price of over 800 NFT collections, enabling Nansen users to have in-depth insights on both undervalued and inflated NFTs based on our tried and tested model. So ‘How do we do it?

We achieve the Price Estimates v2.0 model by:

  • Adopting a machine learning approach to minimize the chance of error when estimating NFT prices.
  • Implementing a systematic and robust methodology when training our model.
  • Offering real-time NFT price estimation.

There are, however, limitations to the Price Estimates v2.0 model - considerations and gaps which we are continuously working on. In cases where the trait does not describe the NFT adequately or when generative art images are different from their trait description can be challenging for the v2.0 estimates model to produce a price estimate. When there are traits with very high cardinality (such as unique types), the Price Estimates v2.0 model may have limited data reference and, therefore, struggle to produce an accurate price estimate. Lastly, for cases where the sales floor price is volatile, then the floor premiums can, at times, be inaccurate, and the model might recognize an inaccurate value for a particular trait.

The NFT market has now matured sufficiently that we are able to conveniently estimate the price of an NFT. A price estimate is helpful when you plan to buy or sell an NFT.

Disclaimer

The authors of this content and members of Nansen may be participating or invested in some of the protocols or tokens mentioned herein. The foregoing statement acts as a disclosure of potential conflicts of interest and is not a recommendation to purchase or invest in any token or participate in any protocol. Nansen does not recommend any particular course of action in relation to any token or protocol. The content herein is meant purely for educational and informational purposes only and should not be relied upon as financial, investment, legal, tax or any other professional or other advice. None of the content and information herein is presented to induce or to attempt to induce any reader or other person to buy, sell or hold any token or participate in any protocol or enter into, or offer to enter into, any agreement for or with a view to buying or selling any token or participating in any protocol. Statements made herein (including statements of opinion, if any) are wholly generic and not tailored to take into account the personal needs and unique circumstances of any reader or any other person. Readers are strongly urged to exercise caution and have regard to their own personal needs and circumstances before making any decision to buy or sell any token or participate in any protocol. Observations and views expressed herein may be changed by Nansen at any time without notice. Nansen accepts no liability whatsoever for any losses or liabilities arising from the use of or reliance on any of this content.