In the first edition of the course, we asked the students for the development of projects specifically shaped on the single four parts of the course. In particular, the students were required to produce two projects, each one on a different part of the course. This approach led the students to form subgroups, each working on a specific project. This year, instead, we opted to ask the students to develop a single project that is a bundle of two integrated subprojects, each on a different part of the course. We spent much effort to design realistic and appealing scenarios. The bundles we propose are as follows, while the presentation of the project should include:
- a report, in pdf, describing the specific scenario you studied, your algorithm design choices, the achieved experimental results, and a discussion summarizing the activities;
- some slides, in pdf, summarizing the work (we expect an oral presentation 20-30 minutes long).
The goal is modeling a scenario in which a seller exploits advertising tools to attract more and more users to its website, thus increasing the number of possible buyers. The seller needs to learn simultaneously the conversion rate and the number of users the advertising tools can attract.
-
Imagine:
- one product to sell;
- three classes of users, where, for every user, we can observe the values of two binary features (feel free to choose the features and their domains);
- the conversion rate curve of each class of users;
- three subcampaigns, each with a different ad, to advertise the product, and each targeting a different class of users;
- there are three abrupt phases;
- for every abrupt phase and for every subcampaign, the probability distribution over the daily number of clicks for every value of budget allocated to that subcampaign.
-
Design a combinatorial bandit algorithm to optimize the budget allocation over the three subcampaigns to maximize the total number of clicks when, for simplicity, there is only one phase. Plot the cumulative regret.
-
Design a sliding-window combinatorial bandit algorithm for the case, instead, in which there are the three phases aforementioned. Plot the cumulative regret and compare it with the cumulative regret that a non-sliding-window algorithm would obtain.
-
Design a learning algorithm for pricing when the users that will buy the product are those that have clicked on the ads. Assume that the allocation of the budget over the three subcampaigns is fixed and there is only one phase (make this assumption also in the next steps). Plot the cumulative regret.
-
Design and run a context generation algorithm for the pricing when the budget allocated to each single subcampaign is fixed. At the end of every week, use the collected data to generate contexts and then use these contexts for the following week. Plot the cumulative regret as time increases. In the next steps, do not use the generated contexts, but use all the data together.
-
Design an optimization algorithm combining the allocation of budget and the pricing when the seller a priori knows that every subcampaign is associated with a different context and charges a different price for every context. Suggestion: the value per click to use in the knapsack-like problem depends on the pricing, that depends on the number of users of a specific class interested in buying the product. Notice that the two problems, namely, pricing and advertising, can be decomposed since each subcampaign targets a single class of users, thus allowing the computation of the value per click of a campaign only on the basis of the number of clicks generated by that subcampaign. Plot the cumulative regret when the algorithm learns both the conversion rate curves and the performance of the advertising subcampaigns.
-
Do the same of Step 6 under the constraint that the seller charges a unique price to all the classes of users. Suggestion: for every possible price, fix this price and repeat the algorithm used in Step 6. Plot the cumulative regret when the algorithm learns both the conversion rate curves and the performance of the advertising subcampaigns.