It helps to be a seasoned investor.
Dorian Batycka, July 4, 2022
Ever wonder what makes a successful NFT drop? Is it sales? Celebrity clout? A popping discord? You’re definitely not alone. 
A team of researchers from Temple University and the University of Chicago attempted to isolate what differentiates a successful drop from an unsuccessful one, looking at a wide-range of factors, from floor price to volume, for a study published in February.
The researchers split 300,000 NFT wallets into two separate groups, experienced traders and new ones, using publicly available information gleaned from OpenSea, the world’s largest NFT marketplace, which offers popular collections such as CryptoPunks and Bored Ape Yacht Club. 
The study’s three authors analyzed data from 692 individual NFT collections to determine the qualities that factor into price growth both on the primary and secondary markets.
Perhaps unsurprisingly, they found that experienced investors make on average 10 percent more per trade, as “collections with higher experienced investor participation are more likely to mint out, mint out faster, and experience higher post-mint price growth.”
To explain this, the research narrowed in on the specific factors that relate to the success of individual NFTs. Do they have a roadmap (a set of clear goals and milestones)? A website? Are the founders on Twitter? Discord?
They found that projects with roadmaps were 8.5 percent less likely to sell out, despite the fact that after seven days they were up on average 9.8 percent from original mint price. After 28 days, NFTs with publicized roadmaps were down on average 5 percent from the original mint price, likely due to what researchers speculated was a fizzling out, as well as over promising and under delivering. 
The report also found that derivative NFTs, projects that use the creative assets and intellectual property of existing NFTs, were also much less likely to succeed. They found that derivative NFTs were down on average 65.8 percent from mint price after 28 days. The one notable exception, according to the report, were derivative NFTs based on the Bored Ape Yacht Club series, which were up 1,256 percent in the 28 days after mint. 
Perhaps the most surprising conclusion that the researchers found was that 3D art did not equate to any meaningful financial success in individual NFTs. They found that 3D art collections were on average 2.2 percent more likely to sell out, but that after 28 days they were down 23 percent from the original mint price. 
Conversely, the study found that NFTs that included animations and music were much more likely to achieve success. Animated projects were on average 5.3 percent more likely to mint out, while projects that featured music were 7.7 percent more likely to sell out. Animated projects saw an average rate of return up 38 percent 28 days after mint, while those that contained music saw an average 71.5 percent increase. 
When it comes to social media, the report determined that collections that promote the Twitter profiles of their founders were 6.1 percent more likely to sell out, increasing by an average value of 72.2 percent in the 28 days after mint.
Traders with more experience also garnered 43.5 percent higher returns when trading the same collection as those with less experience, the study said, alongside a 39.5 percent average higher rate of return when trading the exact same NFT. 
The researchers speculated that this is likely due to the fact that experienced traders hold their NFTs for a much shorter period of time: “experienced investors tend to sell NFTs that are doing well, whereas inexperienced investors tend to hold on to them,” the study found. 
Overall, the results “suggest that NFT markets are characterized by high degrees of informational inefficiency,” the report concludes, “allowing investors with informational advantages to systematically extract profits.”
One caveat is that the study was published in February, at the very peak of the NFT market. In January, NFT sales totaled $4.5 billion, just below the market’s all-time high of $4.9 billion, set in August 2021. Since then, the market has been in free fall with floor prices plummeting and major NFT collections shedding considerable weight.
This means that when times are good those who have access to information, data, and can follow the patterns of experienced NFT traders, are much more likely to have success buying and selling non-fungible tokens. When times are bad? Buckle up.

By Guy Richards Smit, 1 day ago
By Katie White, 1 day ago
©2022 Artnet Worldwide Corporation. All Rights Reserved.var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0),
pagetype = document.querySelector(‘meta[property=”og:type”]’).getAttribute(“content”),
pagetypeurl = document.URL,
pagetypeforce = pagetypeurl.substr(pagetypeurl.length – 3);
isnewsletter = pagetypeurl.includes(“?page_1”);
w = pagetype + 20 * Math.round(w / 20), h = pagetype + 20 * Math.round(h / 20), googletag.cmd.push(function() {
googletag.pubads().setTargeting(“width”, w), googletag.pubads().setTargeting(“height”, h), 1 == isnewsletter && googletag.pubads().setTargeting(“isfirstpage”, [‘Y’, pagetypeforce] )
(function defernl() {
if (window.jQuery) {
if (jQuery(window).width() > 619) {
setTimeout(function() {

var cookieSettings = {
recentlyShown: {
expiration_minutes: 5
signedUp: {
expiration_days: 14
closedSignupBar: {
expiration_days: 5

var generalSettings = {
loadFontAwesome: false

if (!window.jQuery) loadJQuery();
var $ = window.jQuery;

function addCss(fileName) {
var head = document.head
, link = document.createElement(‘link’);

link.type = ‘text/css’;
link.rel = ‘stylesheet’;
link.href = fileName;


function appendNewsletterSignup() {
var signup =

+ ‘



var paywallPagesRegex = /^/subscribe|subscribe-confirm|my-account(/|$)/;

function initNewsletterSignup() {
// don’t show it on paywall-related pages where the user might be in the process
// of subscribing, or managing their account
if (paywallPagesRegex.test(window.location.pathname)) {

// Append ouibounce to page
var ouibounceScript = ”;

// Add animation css

if (generalSettings.loadFontAwesome) {

// Check if ouibounce exist before calling ouibounce
var initOuibounce = setInterval(function() {
if (typeof ouibounce !== ‘undefined’) {

var $modal = $(‘#ouibounce-modal’);
SignupForm.init($modal.find(‘form’), function onSuccess() {
//hide form fields and show thank-you message

setNewsletterCookie(‘signedUp’, 1);

//after successful signup, hide the signup bar after 5 seconds
setTimeout(function() {
}, 5000);

// Handler for close signup button
$(‘body’).on( ‘click’, ‘.close-signup’, function(){
setNewsletterCookie(‘closedSignupBar’, 1);

ouibounceAPIaccess = ouibounce(
$modal[0], {
aggressive: true,
sensitivity: 50,
callback: function() {

}, 100);

function slideInModal(upOrDown) {
.removeClass(‘slideOutDown slideOutUp’)
.addClass( ‘slideIn’ + upOrDown );

setNewsletterCookie(‘recentlyShown’, 1);

function setNewsletterCookie(cookieName, value) {
var settings = cookieSettings[cookieName];
var expirationMinutes = settings.expiration_minutes;
if (!expirationMinutes) {
expirationMinutes = daysToMinutes(settings.expiration_days);
setCookie(cookieName, value, expirationMinutes);

function daysToMinutes(numDays) {
return numDays * 24 * 60;

* Generic setCookie() method, used by setNewsletterCookie().
* There is probably no need to call this directly – use setNewsletterCookie().
function setCookie(cname, cvalue, expMinutes, prefix) {
//default prefix is ‘artnet_newsletter_’
if (prefix == undefined) {
prefix = ‘artnet_newsletter_’;
var d = new Date();
d.setTime(d.getTime() + (expMinutes*60*1000));
var expires = “expires=”+d.toUTCString();

//console.log(prefix + cname + “=” + cvalue + “;” + expires + “;path=/”);
document.cookie = prefix + cname + “=” + cvalue + “;” + expires + “;path=/”;

function getCookie(cname, prefix) {
//default prefix is ‘artnet_newsletter_’
if (prefix == undefined) {
prefix = ‘artnet_newsletter_’;
var name = prefix + cname + “=”;
var ca = document.cookie.split(‘;’);
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') {
c = c.substring(1);
if (c.indexOf(name) == 0) {
return c.substring(name.length,c.length);
return "";

function closeSignupBar() {
var $modal = $('#ouibounce-modal');
$modal.addClass( $modal.hasClass('slideInUp') ? 'slideOutDown': 'slideOutUp' );

function loadJQuery() {
var script = document.createElement('script');
script.src = "";
script.integrity = "sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=";
script.crossorigin = "anonymous";

function checkCookies() {
//if any of these cookies are found, we don't show the modal.
var cookieNames = ['recentlyShown', 'signedUp', 'closedSignupBar','signup_cookie'];
var i = cookieNames.length,
found = false;
while (i–) {
if (getCookie(cookieNames[i]).length) {
found = true;

if (!found) {

var SignupForm = {
regex: {
email: /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/

// Init – Anything you want to happen onLoad (usually event bindings)
// ——————————————————————-
init: function (formElement, onSuccess) {
var ctx = this;
if (!onSuccess) {
throw Error('onSuccess callback is required');

var $form = $(formElement);

var $email = $form.find('.signup-email');
var valid = ctx.validate( $form, $email);
// Hide the errors
// Submit the form
ctx.submit($form, onSuccess);
} else {
// Focus on the email input box
// Show email validation error and hide other errors

// ===================================================================

// Signup validation
// ——————————————————————-
validate: function( $form, $email ){
var ctx = this;
// Does the email match our regex?
return $email.val() );

// Signup submission
// ——————————————————————-
submit: function($form, onSuccess) {
var ctx = this;
type: $form.attr('method'),
url: $form.attr('action'),
data: JSON.stringify( $form.serializeFormJSON() ),
// dataType: 'json',
contentType: 'application/json; charset=UTF-8',
crossDomain: true,
timeout: 10000
.done(function(data, textStatus, jqXHR) {
.fail(function(jqXHR, textStatus){
// Show signup failure error and hide other errors

// Extends jQuery with a function to serialize to JSON
// ——————————————————————-
customSerializer: function(){
$.fn.serializeFormJSON = function () {
var o = {};
var a = this.serializeArray();
$.each(a, function () {
if (o[]) {
if (!o[].push) {
o[] = [o[]];
o[].push(this.value || '');
} else {
o[] = this.value || '';
return o;

//show automatically after delay
var $modal = $('#ouibounce-modal');
//if there are cookies indicating that we shouldn't show the signup bar, then the modal won't have been added to the page
//and we can just return here.
if (!$modal.length) {
//don't run this function if the user has already triggered the modal by leaving the viewport
if ($modal.hasClass('slideInDown')) return;

//position at bottom of screen
top: 'auto',
bottom: 0


},20000); //20 seconds

$(function() {

}, 7500);
} else {
setTimeout(function() { defernl() }, 250);

artnet and our partners use cookies to provide features on our sites and applications to improve your online experience, including for analysis of site usage, traffic measurement, and for advertising and content management. See our Privacy Policy for more information about cookies. By continuing to use our sites and applications, you agree to our use of cookies.
You are currently logged into this Artnet News Pro account on another device. Please log off from any other devices, and then reload this page continue. To find out if you are eligible for an Artnet News Pro group subscription, please contact [email protected]. Standard subscriptions can be purchased on the subscription page.
Log In