Becoming a successful investor with NFTs is based on a deceptively simple idea: selling your NFTs for more than you paid for them.

In order to sell an NFT, though, you need to know how much it’s worth.

- Is it worth what someone offered you through a DM on OpenSea?
- Is it worth the floor price of a collection?
- Is it worth more because it’s rarer?

… If so, how much is it worth?

While you could answer ‘yes’ to any of the first three questions, the problem is that each one gives you a different price.

With so many different ways to argue an NFT’s value, we set out to develop a framework. Along the way, we found out how to actually (and accurately) estimate the price of an NFT.

The result? The price of an NFT does depend on the rarity. The rarer it is, the higher the price multiplier tends to be.

The surprising thing? That the scale of that multiplier looks quite different than you might expect.

Read on to find out why.

# Common Ways To Estimate An NFT’s Price

To start, let’s go more in-depth with the existing approaches for an NFT’s price.

## 1. The Simplest Approach

If you want your answer fast, check the floor price of the collection your NFT belongs to, then set your NFT’s price there.

This isn’t a good way to do it, it’s just fast. It ignores two crucial elements:

- The Rarity Score — If there’s more value to an NFT with rarer traits, then why would price it as the lowest common denominator?
- The Trustworthiness of an NFT’s Floor Price — Given that the floor price can be manipulated, hitching your estimate to it is not ideal.

## 2. The Similar NFTs Approach

Another approach is to check recent trades for the same traits or similarly ranked items. This is effective because it gets you away from the two pitfalls of rarity and floor price.

While a more accurate approach, its shortcomings are clear when you don’t have enough data on recent trades, or when the listings for similar ratings have a huge range (think similar rarities at 420.69 ETH with a collection floor price of 0.3).

So, where should you go from here?

## 3. The Dakko Approach To NFT Price Estimation

Our strategy is to turn assumptions into analysis.

Currently, we assume there is a fundamental connection between trade price and rarity rank.

Intuitively, we as NFT investors say that the rank 1 rarity item could be worth 5x or even 20x the current floor price of the collection.

So, we wanted to find out if that was true, and to reveal the connection between price and rank.

# The Research

To start, we began by including only collections that had at least 5,000 trades in 2022 and ended up with about 7 million total trades..

As different collections have different amount of items (let’s call that N = number of items in the collection), we introduce parameter, called Rarity_rank_norm:

Rarity_rank_norm = Rarity_rank / N

where Rarity_rank is a number from 1 to N for each item in the collection.

[Quick aside with additional rarity_rank info for the data nerds among us]Using Rarity_rank directly will lead us to inconsistency in comparing different collections. Imagine a collection with 10 items and a collection with 10,000 items. Rarity_rank = 1 for the first one (first out of 10) and for the second (first out of 10k) feels different, right? So we would rather call the first: top 10% (1/10 rarity_rank_norm) and top 0.01% for the second (1/10000 rarity_rank_norm).Using Rarity_score will unnecessarily differentiate top items that have more unique traits in one collection compared to another. After normalizing the Rarity_score, it shows different distributions for the rarity_rank (even when the number of items are the same).

Another parameter that we need is price multiplier:

Price_multiplier = traded price / floor price* (same day)

*Except we don’t use floor price directly, but rather its estimation, the traded floor or the traded 10th quantile. This helps us exclude outliers and the two other core issues with the floor price that we recently outlined.

Now we can convert each trade into two numbers — **Price_multiplier** and **Rarity_rank_norm** — and visualize those 7 million points on a graph:

Then, if we take median value of Price_multiplier for each Rarity_rank_norm*:

* Rarity_rank_norm is not discrete, so we rounded it up to 3 values after the dot and ended up with 1000 unique points.

And after smoothing the line with some kind of Gaussian kernel, we get this:

What is revealed?

That price does indeed depend on rarity. The rarer the item, the higher the price multiplier tends to be. With that, we find that most rare items are, on average, 5–6 times more expensive than floor price.

Then by using the above data we can get a **price_multiplier** for any NFT.

# Step-By-Step NFT Price Estimation — And Wallet Worth

Until now, we’ve been discussing the price of a single NFT.

How many NFT investors do you know with just a single NFT, though?

Where this becomes even more applicable is by being able to accurately estimate our entire wallet’s worth.

To get there, let’s go through our step-by-step NFT price estimation.

After the research, if we know (and with Dakko, we *do* know)…

- Rarity_rank
- Number of items in the collection
- Price_multiplier that corresponds to the Rarity_rank/(Number of items in the collection)
- Last day traded minimum price except outliers (floor price*) .

… we can estimate the price:

Estimate price = floor_price* × Price_multiplier

From there, it’s possible to know the price for each NFT that’s in your wallet. When you know an accurate price for those NFTs, you have your wallet worth.

Wallet worth = Sum of all NFTs’ estimated prices

# From Wallet Worth To Investor Profit

Wallet worth is an estimation of the estimated prices of all the NFTs in your wallet.

Now, what if you want to know the profit an investor stands to make?

We’ll start by detailing two things investor profit is not:

- It is not their current wallet worth
- It is not the difference in the money they’ve spent on buying NFTs and the money they’ve earned from selling them (unless they sold everything).

Rather, investor profit is a value that incorporates both.

To get an idea of how this could work, let’s estimate how successful the last day went for the trader.

- Wallet worth profit =
**today’s**wallet worth —**yesterday’s**wallet worth - Trade profit = earned from selling
**today**— spent from buying**today**

Profit_today = Wallets’ worth profit + Trade profit

Here’s an example:

Let’s say Bob had 0 NFTs in his wallet. Then he bought 5 NFTs for the fair price of 2 ETH each.Bob’s wallet worth profit = 10–0 = 10 ETH (assuming price was fair and estimate is the same)

Bob’s trade profit = 0–10 = -10 ETH.Profit day 1= 10–10 = 0 ETH.The next day he sells 2 NFTs for a total of 4.5 ETH. Then the estimated price of the 3 NFTs he has left increases from 2 to 2.1 ETH.Bob’s wallet worth profit = 2.1 * 3 (current) — 10 (yesterday) = — 3.7 ETH

Bob’s trade profit = 4.5–0 = 4.5 ETHProfit day 2= -3.7 + 4.5 = 0.8 ETH.

[Quick aside for the nerds again]It would be same if you said that he bought for 4 ETH and sold for 4.5 ETH, hence 0.5 ETH from trading, and earned 2.1*3–6 = 0.3 ETH from holding which sums up to the same 0.8 ETH. But when you have a lot of action going on each day for the last couple months, it is hard to say how much you earned from holding in the last 30 days, and what your trading profit if you bought something 3 month ago and sold it today.

Now, if we calculate profit for each day and sum that up, we get the profit for the week/month or any amount of time we have data from.

# How Dakko Calculates Wallet Worth And Investor Profit

Last week we opened up Dakko, a machine learning-based algorithm that predicts NFT collection value, to our Closed Beta.

There, you can already see a ranking of the top N investors by profit in the last month. On our roadmap is developing features that show your own wallet worth and investor profit, too.

Ready to join us? Click here to learn about Dakko and apply for our Closed Beta.