Inspiration
Our inspiration was the core challenge posed by Mango: how to predict demand for a product that doesn't exist yet?
We realized a simple historical model wouldn't work. This led us to the idea that a product's demand must be a combination of different factors.
What it does
Our project delivers a predictive model that generates a specific production quantity for each new product (ID) in the upcoming season.
How we built it
Our solution is a hybrid (ensemble) model that combines the strengths of two different approaches.
Data Preparation: First, we aggregated the weekly_demand to get a single total_demand target for each ID. We also processed the phase_in/phase_out dates to extract the month, which we used as a feature.
Model 1: The "Attribute" Expert (CatBoost) We trained a CatBoostRegressor model. This model's job was to learn patterns from all the tabular data:
Categorical features: family, color_name, moment, archetype, etc.
Numerical features: price, num_stores, life_cycle_length, and the new month features.
Model 2: The "Visual" Expert (k-NN) We trained a KNeighborsRegressor model. This model's job was to find the "visual" demand:
It was trained only on the image embedding_vec.
When it sees a new product, it finds the "K" most visually similar products from past seasons and predicts a demand based on their average sales.
Final Prediction (Blending): Our final prediction is a weighted average (blending) of the two models. After many tests, we found a good balance was:
80% from the CatBoost (Attribute) model
20% from the k-NN (Visual) model
Challenges we ran into
Choosing a model that could handle mixed categorical and numerical data without a complex preprocessing pipeline was difficult. CatBoost (which we used) and XGBoost (which we tested) were the best options.
Accomplishments that we're proud of
We are very proud of designing and successfully implementing the hybrid (ensemble) model.
Instead of just one "master" model, we built two specialized models that work together. The CatBoost model became an expert on business rules (price, stores), while the k-NN became an expert on "fashion trends" (visuals). Blending them gave us a more robust and accurate prediction than either model could achieve on its own.
What we learned
No "One Model Fits All": The power of ensembles is real. Combining a complex tree-based model (CatBoost) with a simple distance-based model (k-NN) is a powerful technique for a problem like this.
The Importance of the Loss Function: We learned that the model's prediction is driven by how it's evaluated. Optimizing for RMSE is fundamentally different from optimizing for a custom business metric like VAR.
Embeddings are Features: The image embeddings were not just "extra data"; they were the key to solving the "new product" problem. Treating them as features for a k-NN model was our key insight.
What's next for DATATHON FME 2025 - MANGO
...
Log in or sign up for Devpost to join the conversation.