<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recommender Systems | Stefano Blando</title><link>https://stefano-blando.github.io/en/tags/recommender-systems/</link><atom:link href="https://stefano-blando.github.io/en/tags/recommender-systems/index.xml" rel="self" type="application/rss+xml"/><description>Recommender Systems</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-US</language><lastBuildDate>Fri, 20 Jun 2025 00:00:00 +0000</lastBuildDate><image><url>https://stefano-blando.github.io/media/icon_hu_8d0dee6c10a3c598.png</url><title>Recommender Systems</title><link>https://stefano-blando.github.io/en/tags/recommender-systems/</link></image><item><title>Advanced Recommender System</title><link>https://stefano-blando.github.io/en/projects/advanced-recommender-system/</link><pubDate>Fri, 20 Jun 2025 00:00:00 +0000</pubDate><guid>https://stefano-blando.github.io/en/projects/advanced-recommender-system/</guid><description>&lt;p&gt;This project was developed within the &lt;strong&gt;CESMA Master&amp;rsquo;s program&lt;/strong&gt; in collaboration with &lt;strong&gt;TIM&lt;/strong&gt;. Instead of framing the problem as a standard classification task, the system was designed as a &lt;strong&gt;learning-to-rank&lt;/strong&gt; pipeline for next-best-action recommendation.&lt;/p&gt;
&lt;p&gt;That shift in framing matters because ranking is closer to the actual business decision: not just whether an action is good or bad, but which action should come first for a given user.&lt;/p&gt;
&lt;p&gt;The pipeline combines careful validation, Bayesian optimization, and ensemble ranking strategies. The end result is a substantial improvement over baseline performance on &lt;strong&gt;NDCG@5&lt;/strong&gt;, making the project a solid example of applied machine learning under realistic evaluation constraints.&lt;/p&gt;
&lt;p&gt;Performance summary:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;Stage&lt;/th&gt;
&lt;th style="text-align: left"&gt;NDCG@5 Score&lt;/th&gt;
&lt;th style="text-align: left"&gt;Improvement vs Baseline&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Baseline Model&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;0.5030&lt;/td&gt;
&lt;td style="text-align: left"&gt;&amp;ndash;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Best Single Model&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;0.6838&lt;/td&gt;
&lt;td style="text-align: left"&gt;+35.94%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;Best Ensemble&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;0.6852&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;+36.23%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Overall, it is one of the clearest examples in the portfolio of taking a familiar ML task and reformulating it in a way that is better aligned with the actual decision problem.&lt;/p&gt;</description></item></channel></rss>