Assemble multi-criteria data
Collect or simulate per-item ratings across the chosen criteria and align them into a user-item-criteria matrix before splitting into train and test.
Build multi-criteria recommendations. Balance multiple item signals.
Multi-criteria recommendation predicts user preferences when items are judged on several attributes (for example: quality, price, delivery). It requires data modelling choices to combine criteria, evaluation metrics that account for ranking at K, and attention to cold-start and popularity bias.
Learning concept · Not a validated service
Multi-criteria recommendation predicts user preferences when items are judged on several attributes (for example: quality, price, delivery). It requires data modelling choices to combine criteria, evaluation metrics that account for ranking at K, and attention to cold-start and popularity bias.
A proposed application for e-commerce: combine ratings for product quality, delivery and price sensitivity to present a personalised top-K list. Any live system must keep a human reviewer in the loop for business-rule overrides and for monitoring biased or unsafe suggestions.
Collect or simulate per-item ratings across the chosen criteria and align them into a user-item-criteria matrix before splitting into train and test.
Start with simple baselines such as per-criteria item averages, user-based similarity or weighted score aggregation to produce ranked suggestions.
Use Precision@K, Recall@K and NDCG to compare aggregation strategies and inspect errors for cold-start and popularity bias.
Define caching, fallback logic, and logging for feedback capture; monitor coverage, latency and changes in input distributions.
The supplied starter builds a tiny user-item rating table, computes user-to-user cosine similarity, finds the most similar user to a target and recommends that neighbour's unseen items. It operates on a single numeric rating per item and does not implement multi-criteria modelling, ranking metrics or production components.
matrix = ratings.pivot_table(index="user", columns="item", values="rating").fillna(0)
user_similarity = pd.DataFrame(
cosine_similarity(matrix),
index=matrix.index,
columns=matrix.index,
)
target_user = "user_1"
neighbor = user_similarity[target_user].drop(target_user).idxmax()
unseen_items = matrix.loc[target_user][matrix.loc[target_user] == 0].index
scores = matrix.loc[neighbor, unseen_items].sort_values(ascending=False)The starter uses a six-user toy dataset with one rating per item and a simple user-based collaborative filter. It does not contain multi-criteria ratings (no per-item multiple attributes), no train/test evaluation, no ranked-metric calculations and no production-ready serving or monitoring code. Results from this script do not validate multi-criteria approaches.
Proposed extension: collect per-criterion ratings (for example quality, delivery, price), train per-criterion item models and combine them with learned weights or a small ranker to produce personalised top-K recommendations.
This is a potential application pathway, not a delivered product. The supplied starter does not implement this service or validate it with real users.
Networkers Home runs this topic inside its AI Engineer Course, with placement support and hands-on labs.