NFT Price Prediction Challenge | bitgrit
Competition banner

NFT Price Prediction Challenge

Model the complex pricing mechanism behind NFTs

GASHO 2.0
248 Participants
1237 Submissions
bitgrit twitter
Brief

Non-Fungible Tokens (NFTs) have become not only one of the most popular ways for creators to sell their artistic content worldwide, but also a common investment vehicle in general. A prestigious brokerage for modern and contemporary art wants to move deeper into the digital space, and believes that NFT investments will become even more popular as the number of them proliferates in the market, despite the economic headwind likely to emerge in the near future.

That said, it's a common notion that NFT pricing is largely driven by speculation rather than an underlying value such as earnings or future cashflow in traditional investments (e.g. stocks, real estate). This unique characteristic is one of the challenges for the art brokerage in choosing the right NFTs to feature in their auctions, leading to the question of whether the fluctuations in price follow some sort of pattern or not (think about the technical analysis on cryptocurrencies). The company would like some kind of tool to evaluate the NFTs that pique their interest.

The goal of this competition is to build a model that predicts the price of NFTs based on a select group of their attributes that are publicly accessible and also based on their social media activity.

Apart from the monetary prize pool, the top 15 of the private leaderboard will receive an original NFT. In order to receive this NFT please insert your ERC-20 Wallet Address in the settings of your profile.

Prizes

1st Prize: $1,500

2nd Prize: $1,000

3rd Prize: $500

Timeline

Competition Starts: 19 December 2022

Competition Ends: 19 February 2023

Winners Announced (Subject to change based on submission results): 10 March 2023

Data Breakdown

The goal of this competition is to build a model that predicts the price of NFTs based on a select group of their attributes that are publicly accessible and also based on their social media activity.

Note that not all NFTs of a collection are necessarily present in the data.

To build your machine learning model, we have provided the following datasets:

  1. collections.csv: data about the collections that are present in the training and prediction datasets.
    1. collection_id: ID to identify the collection and the NFTs of the collection
    2. total_supply: total number of NFTs in the collection
    3. creation_date: creation date of the collection in the marketplace
    4. verification_status: status of verification of the collection in the marketplace
    5. n_of_traits: number of particular traits the NFTs in the collection can have
    6. contract_type: type of contract in the marketplace
    7. seller_fees: fees that the seller receives for transactions
    8. platform_fees: fees that the marketplace receives for transactions
    9. openrarity_enabled: whether the collection uses OpenRarity to calculate a rarity score and rank for the NFTs in the collection
    10. has_website: whether the collection has a website or not
    11. has_own_twitter: whether the collection has its own Twitter account or not
    12. has_discord: whether the collection has a Discord channel or not
    13. has_medium: whether the collection has a Medium account or not
       
  2. collections_twitter_stats.csv: simple stats about the Twitter accounts of the collections or the creators of the collections.
    1. collection_id: ID to identify the collection and the NFTs of the collection
    2. n_tweets_in_range: number of tweets in the relevant timeframe
    3. avg_likes: average number of likes per tweet
    4. avg_replies: average number of replies per tweet
    5. avg_retweets: average number of retweets per tweet
    6. min_likes: minimum number of likes per tweet
    7. min_replies: minimum number of replies per tweet
    8. min_retweets: minimum number of retweets per tweet
    9. max_likes: maximum number of likes per tweet
    10. max_replies: maximum number of replies per tweet
    11. max_retweets: maximum number of retweets per tweet
       
  3. nfts_train.csv: NFT data from all collections which can be, alongside the above info, used to train the price prediction model.
    1. global_index: global ID of the NFT to identify it considering all collections
    2. nft_id: ID of the NFT to identify its particular collection
    3. collection_id: ID of the collection the NFT belongs to as per collections.csv file
    4. rarity_score: estimated rarity score within the collection
    5. openrarity_score: OpenRarity score if it is enabled (see 1)
    6. openrarity_rank: OpenRarity rank within the collection if it is enabled (see 1)
    7. openrarity_max_rank: OpenRarity maximum rank of the collection if it is enabled (see 1)
    8. last_sale_date: approximated date of the last sale of the NFT
    9. last_sale_price: price at which the NFT was last sold for (target variable)
       
  4. nfts_predict.csv: NFT data from all collections whose price should be predicted using the trained model.
    1. global_index: global ID of the NFT to identify it considering all collections
    2. nft_id: ID of the NFT to identify its particular collection
    3. collection_id: ID of the collection the NFT belongs to as per collections.csv file
    4. rarity_score: estimated rarity score within the collection
    5. openrarity_score: OpenRarity score if it is enabled (see 1)
    6. openrarity_rank: OpenRarity rank within the collection if it is enabled (see 1)
    7. openrarity_max_rank: OpenRarity maximum rank of the collection if it is enabled (see 1)
    8. last_sale_date: approximated date of the last sale of the NFT
       
  5. submission_format.csv: Short example of the format that the submission file needs to be in to be properly scored.
    1. global_index: global ID of the NFT to predict
    2. last_sale_price: prediction of the price at which the NFT may have been sold for (target variable)

Considering that this is a kind of regression problem, the evaluation metric for the score will be based on RMSE.
In particular, the formula shall be: exp( -RMSE / 10 ) where 10 is used as a normalization factor. The maximum score thus will be 1.0 and the minimum score will be 0.0.

NOTE: You may submit a solution file up to 3 times a day.

Final competition results are based on the Private Leaderboard results, and the winner will be the user at the top of the Private Leaderboard.

FAQs
Who do I contact if I need help regarding a competition?
For any inquiries, please contact us at info@bitgrit.net
How will I know if I’ve won?
If you are one of the top three winners of this competition, we will email you the final result and information about how to claim your reward.
How can I report a bug?
Please shoot us an email at info@bitgrit.net with details and a description of the bug you are facing, and if possible, please attach a screenshot of the bug itself.
If I win, how can I receive my reward?
Prizes will be paid by bank transfer. If for some reason you are not able to accept payment by bank transfer, please let us know and we will do our best to accommodate your needs as possible.
If I'm in the Top 15 of the private leaderboard, how will I receive my NFT?
In order to receive the NFT you need to insert your ERC-20 Wallet Address in the settings of your profile.
I don’t have an ERC-20 Wallet, what should I do?
In case you haven't set up an ERC-20 Wallet, we suggest Metamask, Coinbase or any other popular ERC-20 wallet.
Rules
  1. This competition is governed by the following Terms of Participation. Participants must agree to and comply with these Terms to participate.
     
  2. Users can make a maximum number of 3 submissions per day. If users want to submit new files after making 3 submissions in a day, they will have to wait until the following day to do so. Please keep this in mind when uploading a submission.csv file. Any attempt to circumvent stated limits will result in disqualification.
     
  3. The use of external datasets is not allowed.
     
  4. It is not allowed to upload the competition dataset to other websites. Users who do not comply with this rule will be disqualified.
     
  5. A competition monetary prize will be awarded after we have received, successfully executed, and confirmed the validity of both the code and the solution (See 6.). Once winners are announced and our team reaches out to them, the winners must provide the following by February 26, 2023, to be qualified as a competition winner and receive their monetary prize:
    1. All source files required to preprocess the data
    2. All source files required to build, train and make predictions with the model using the processed data
    3. A requirements.txt (or equivalent) file indicating all the required libraries and their versions as needed
    4. A ReadMe file containing the following:
      1. Clear and unambiguous instructions on how to reproduce the predictions from start to finish including data pre-processing, feature extraction, model training and predictions generation
      2. Environment details regarding where the model was developed and trained, including OS, memory (RAM), disk space, CPU/GPU used, and any required environment configurations required to execute the code
      3. Clear answers to the following questions:
        1. Which data files are being used?
        2. How are these files processed?
        3. What is the algorithm used and what are its main hyperparameters?
        4. Any other comments considered relevant to understanding and using the model
           
  6. The submitted solution should be able to generate exactly the same output that gives the corresponding score on the leaderboard. If the score obtained from the code is different from what’s shown on the leaderboard, the new score will be used for the final rankings unless a logical explanation is provided. Please make sure to set the seed or random_state etc. so we can obtain the same result from your code.
     
  7. The final submission has to be selected manually before the end of the competition (you can select up to 2), or else it will be selected automatically based on your highest public score.
     
  8. Apart from the monetary prize pool, the top 15 of the private leaderboard will receive an original NFT. In order to receive this NFT please insert your ERC-20 Wallet Address in the settings of your profile.
     
  9. Any prize awards are subject to verification of eligibility and compliance with these Terms of Participation. All decisions of bitgrit and the Competition Sponsor will be final and binding on all matters relating to this Competition.
     
  10. Payments to winners may be subject to local, state, federal and foreign tax reporting and withholding requirements.
     
  11. If two or more participants have the same score on the leaderboard, the participant who submitted the winning file first will be considered the winner.
     
  12. All submissions need to be made as an individual; no teams are allowed in this competition. Users who do not comply with this rule will be immediately disqualified in the case that we find the same or very similar scores and/or uploaded solutions.
     
  13. If you have any inquiries about this competition, please don’t hesitate to reach out to us at info@bitgrit.net. We ask that users do not contact GASHO 2.0 directly.
New Submission
Step 1
Upload or drop your file
Upload or drop your csv file here.
Your submission should be in .csv format.
Step 2
Description
Briefly describe your submission (400 characters or less)

You have exceeded the number of allowed submissions for this competition.
3 submission(s) left

Thanks for your submission!

We'll send updates to your email. You can check your email and preferences here.
My Submissions