Problem Statement
ML Challenge 2025 Problem Statement
Smart Product Pricing Challenge
In e-commerce, determining the optimal price point for products is crucial for marketplace success
and customer satisfaction. Your challenge is to develop an ML solution that analyzes product details
and predict the price of the product. The relationship between product attributes and pricing is
complex - with factors like brand, specifications, product quantity directly influence pricing. Your task
is to build a model that can analyze these product details holistically and suggest an optimal price.
Data Description:
The dataset consists of the following columns:
1. sample_id: A unique identifier for the input sample
2. catalog_content: Text field containing title, product description and an Item Pack Quantity(IPQ)
concatenated.
3. image_link: Public URL where the product image is available for download. Example link -
[Link] ([Link]
[Link]/images/I/[Link]) To download images, use the download_images function
from src/[Link]. See sample code in src/[Link].
4. price: Price of the product (Target variable - only available in training data)
Dataset Details:
Training Dataset: 75k products with complete product details and prices
Test Set: 75k products for final evaluation
Output Format:
The output file should be a CSV with 2 columns:
1. sample_id: The unique identifier of the data sample. Note the ID should match the test
record sample_id.
2. price: A float value representing the predicted price of the product.
Note: Make sure to output a prediction for all sample IDs. If you have less/more number of output
samples in the output file as compared to [Link], your output won't be evaluated.
File Descriptions:
Source files
1. src/[Link]: Contains helper functions for downloading images from the image_link. You may need
to retry a few times to download all images due to possible throttling issues.
2. sample_code.py: Sample dummy code that can generate an output file in the given format. Usage
of this file is optional.
Dataset files
1. dataset/[Link]: Training file with labels (price).
2. dataset/[Link]: Test file without output labels (price). Generate predictions using your model/solution on
data and format the output file to match sample_test_out.csv
3. dataset/sample_test.csv: Sample test input file.
4. dataset/sample_test_out.csv: Sample outputs for sample_test.csv. The output for [Link] must be formatt
exact same way. Note: The predictions in the file might not be correct
Constraints:
1. You will be provided with a sample output file. Format your output to match the sample output file exactl
2. Predicted prices must be positive float values.
3. Final model should be a MIT/Apache 2.0 License model and up to 8 Billion parameters.
Evaluation Criteria:
Submissions are evaluated using Symmetric Mean Absolute Percentage Error (SMAPE): A statistical measure that e
actual values as a percentage, while treating positive and negative errors equally.
Formula:
SMAPE = (1/n) * Σ |predicted_price - actual_price| / ((|actual_price| + |predicted_price|)/2)
Example: If actual price = $100 and predicted price = $120
SMAPE = |100-120| / ((|100| + |120|)/2) * 100% = 18.18%
Note: SMAPE is bounded between 0% and 200%. Lower values indicate better performance. Leaderboard Informatio
Public Leaderboard: During the challenge, rankings will be based on 25K samples from the test set to provide real-tim
Final Rankings: The final decision will be based on performance on the complete 75K test set along with provided do
Submission Requirements:
1. Upload a test_out.csv file in the Portal with the exact same formatting as sample_test_out.csv
2. All participating teams must also provide a 1-page document describing:
- Methodology used
- Model architecture/algorithms selected
- Feature engineering techniques applied
- Any other relevant information about the approach
- Note: A sample template for this documentation is provided in Documentation_template.md
Academic Integrity and Fair Play:
⚠ STRICTLY PROHIBITED: External Price Lookup
Participants are STRICTLY NOT ALLOWED to obtain prices from the internet, external databases, or
any sources outside the provided dataset. This includes but is not limited to:
Web scraping product prices from e-commerce websites
Using APIs to fetch current market prices
Manual price lookup from online sources
Using any external pricing databases or services
Enforcement:
All submitted approaches, methodologies, and code pipelines will be thoroughly reviewed
and verified
Any evidence of external price lookup or data augmentation from internet sources will result
in immediate disqualification
Fair Play: This challenge is designed to test your machine learning and data science skills using only
the provided training data. External price lookup defeats the purpose of the challenge.
Tips for Success:
Consider both textual features (catalog_content) and visual features (product images)
Explore feature engineering techniques for text and image data
Consider ensemble methods combining different model types
Pay attention to outliers and data preprocessing
🧠 Amazon ML Challenge 2025 — Smart Product Pricing Challenge
🎯 Objective
You need to build a Machine Learning model that predicts the price of a product based on its details
such as brand, specifications, description, and image.
Essentially — Amazon wants you to create a model that can automatically determine the optimal
product price using data available in the catalogue (both text and images).
📊 Dataset Description
There are two main files:
Training dataset ([Link]) → contains products + actual prices.
Test dataset ([Link]) → contains products without prices (you must predict these).
📁 Columns in the Dataset
Column Description
sample_id Unique identifier for each product.
Text field containing: product title, description, and Item Pack Quantity (IPQ)
catalog_content
combined together.
URL of the product image (downloadable). Example: [Link]
image_link
[Link]/images/I/[Link]
Actual price of the product — this column is only present in training data (target
price
variable).
📦 Data Files Provided
File Description
dataset/[Link] 75,000 training samples with product details and price.
dataset/[Link] 75,000 test samples — no price (you must predict).
dataset/sample_test.csv Example test input file format.
dataset/sample_test_out.csv Example output file (how your submission should look).
Helper script to download images from image_link column (includes
src/[Link]
download_images() function).
File Description
sample_code.py Optional sample script showing how to generate an output file.
Documentation_template.md Template for writing your 1-page approach report.
📤 Submission Format
You must submit two files:
1️⃣ Prediction File — test_out.csv
Must have exactly 2 columns:
sample_id price
1 199.99
2 499.50
Ensure:
o Every test sample_id appears exactly once.
o No missing or extra rows.
o Prices must be positive float values.
o Must match the format of sample_test_out.csv exactly.
2⃣ Code + Approach
Upload your source code (ZIP) containing your notebooks/scripts.
Include a 1️-page document (based on the provided template) explaining:
o Your methodology and reasoning
o Models/architectures used
o Feature engineering steps (text/image)
o Experiments, tuning, and results
o Conclusion and insights
📈 Model Constraints
Your final model must:
o Use an MIT or Apache 2.0 open-source license.
o Have ≤ 8 billion parameters (so extremely large LLMs are not allowed).
🧠 Evaluation Metric: SMAPE
Your score will be based on Symmetric Mean Absolute Percentage Error (SMAPE) — a metric that
measures how close your predictions are to actual prices.
🧠 Formula:
𝑛
1 ∣ 𝑦𝑝𝑟𝑒𝑑 − 𝑦𝑡𝑟𝑢𝑒 ∣
𝑆𝑀𝐴𝑃𝐸 = ∑ × 100
𝑛 (∣ 𝑦𝑡𝑟𝑢𝑒 ∣ +∣ 𝑦𝑝𝑟𝑒𝑑 ∣)/2
𝑖=1
Lower SMAPE = Better accuracy ✅
Range: 0% (perfect) to 200% (worst)
Example:
Actual Price = 100
Predicted Price = 120
∣ 100 − 120 ∣
𝑆𝑀𝐴𝑃𝐸 = × 100 = 18.18%
(100 + 120)/2
🏅 Leaderboard Rules
Type Data Used Purpose
Public Leaderboard 25,000 samples from test set Live ranking updates during challenge
Private Leaderboard Full 75,000 test samples Final ranking after submission
The final result will depend on:
Private leaderboard SMAPE score
Quality of your documentation/report
⚠️ Strict Rules — Academic Integrity
🚫 External Price Lookup is PROHIBITED.
You must only use the given dataset.
Forbidden actions include:
Scraping Amazon or Flipkart for prices.
Using APIs to get current market data.
Manually searching or entering prices.
Using external databases or pretrained pricing datasets.
Any violation will result in instant disqualification.
💡 Tips for Success
1. Use Both Text & Image Data:
o catalog_content → use NLP or text embeddings.
o image_link → extract image features using CNNs (e.g., ResNet, EfficientNet).
2. Combine Features:
o Create hybrid models combining text + image embeddings.
3. Feature Engineering Ideas:
o Parse Item Pack Quantity from text.
o Extract key specs/brands from catalog_content using regex/NLP.
o Use word embeddings or TF-IDF for text representation.
4. Modeling Approaches:
o Try Ensemble Models (e.g., Gradient Boosting, XGBoost, LightGBM).
o For text-image fusion, explore multi-modal architectures.
5. Handle Outliers & Scaling:
o Remove extreme prices, log-transform prices, and normalize numeric features.
6. Documentation Matters:
o Clearly justify your modeling choices and preprocessing pipeline.
📅 Submission Deadline
End Date: 13 Oct 2025, 11:59 PM IST
Maximum 5 submissions per day (15 total).
✅ Quick Summary
Task Description
Goal Predict product prices using text and image data
Input Product description + image link
Output CSV with sample_id and price
Evaluation SMAPE (lower is better)
Task Description
Data 75K train, 75K test
Submission CSV + Code ZIP + 1-Page Report
Prohibited External price lookup / data scraping