
TUM.ai x Unite Hackathon
At the TUM.ai x Unite Hackathon, our team built machine learning solutions for real-world procurement and recommendation problems. We worked on scalable feature normalization across large product catalogs and core demand forecasting to make product data more comparable and improve recommendation quality. The team achieved 1st place in Challenge 1 and 1st place in Challenge 2 Level 1.
During the TUM.ai x Unite Hackathon, our team developed machine learning solutions for real-world procurement challenges.
Working under intense time constraints, we formed two teams on-site — UNI and TED — and built solutions for two different ML challenges. By the end of the weekend, we achieved:
- 🏆 1st place – Challenge 1: Feature Normalization
- 🥇 1st place – Challenge 2: Core Demand Forecasting (Level 1)
The project focused on solving large-scale data problems in procurement systems, where product catalogs from many suppliers often contain inconsistent or incomplete information.

The first challenge focused on scaling and normalizing product features across massive datasets.
In real procurement platforms, product information often comes from different suppliers with inconsistent formats and naming conventions. This creates challenges for search, recommendation systems, and analytics.
Our solution focused on:
- automated feature extraction
- robust feature normalization pipelines
- scalable preprocessing for large product catalogs
- feature engineering for downstream machine learning models
This allowed us to create consistent product representations across large datasets.
Repository: [Feature Normalization Hackathon Project](https://github.com/Luraxx/feature-normalization-hackathon)
# Blend conservative and aggressive future-spend estimates
df["_conservative"] = df["total_spend"] * (holdout / 36.0)
df["_aggressive"] = df["spend_per_month"] * holdout
df["_reliability"] = np.minimum(df["active_months"] / 16.0, 1.0)
df["expected_future_spend"] = (
df["_conservative"] * (1 - df["_reliability"])
+ df["_aggressive"] * df["_reliability"]
)The second challenge focused on predicting core demand patterns in procurement systems.
Instead of predicting demand for individual SKUs only, the goal was to identify functional demand clusters and predict broader purchasing patterns.
This helps improve recommendation systems, especially in cold-start scenarios where limited historical data is available.
Our approach explored:
- demand signal aggregation
- machine learning-based forecasting
- feature engineering for recommendation quality
- modeling demand patterns across product groups
Repository: [Core Demand Forecasting Hackathon Project](https://github.com/Luraxx/core-demand-hackathon)
_HxBxT_RE = re.compile(
r'(hxbxt|bxhxt|bxtxh|hxb|bxh|lxbxh|bxlxh|lxb|bxl)\s+'
r'(\d+(?:[.,]\d+)?)\s*[x×X]\s*(\d+(?:[.,]\d+)?)\s*'
r'(?:[x×X]\s*(\d+(?:[.,]\d+)?))?\s*(mm|cm|m)\b',
re.IGNORECASE
)
The entire project was built during a 48-hour hackathon.
Key aspects of the development process included:
- rapid prototyping
- iterative model improvements
- continuous evaluation using a live leaderboard
- fast experimentation with different modeling approaches
The team worked in parallel across both challenges while continuously refining models and features.
