<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>October</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Relevancy through Content Recom mendations in Candy Crush Saga</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Styliani Katsarou</string-name>
          <email>stella.katsarou@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesca Carminati</string-name>
          <email>francesca.carminati@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Dlask</string-name>
          <email>martin.dlask@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marta Braojos</string-name>
          <email>marta.braojos@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lavena Patra</string-name>
          <email>lavena.patra@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Richard Perkins</string-name>
          <email>richard.perkins@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carlos Garcia Ling</string-name>
          <email>carlos.garcia2@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maria Paskevich</string-name>
          <email>maria.paskevich@king.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Rate, Engagement, TabNet</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>King</institution>
          ,
          <addr-line>Stockholm</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Personalization</institution>
          ,
          <addr-line>Recommender Systems, Bundle Recommendation, Attention models, Productionization, Click</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>1</volume>
      <fpage>4</fpage>
      <lpage>18</lpage>
      <abstract>
        <p>Recommender systems traditionally focus on maximizing user satisfaction by suggesting preferred products to the users. This approach aims to increase the likelihood of immediate sales and relevancy for users. However, this focus can often neglect broader business strategic goals crucial for stakeholders. This paper presents a novel dual-objective Bundle Recommendation system tailored for King's ”Candy Crush Saga” designed to balance the relevancy of recommendations for players with game economy returns. We propose a two-step methodology combining an attention-based model to accurately capture diverse player behaviors and preferences, followed by a clustering algorithm that defines a representative pool of in-game bundles, tailored to the game platform's constraints. The eficacy of our approach is assessed through a controlled A/B testing framework, measuring the take rate (TR) for economic impact and the click rate (CR) for user engagement. We report significant performance gains, with a 41% increase in TR and a 33% increase in CR, efectively balancing user satisfaction with economic returns.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Recommender systems have become ubiquitous across various sectors, enhancing decision-making
processes by facilitating eficient discovery and access to new products, services, and content. Traditional
systems predominantly adopt a receiver-centric (user-centric) approach, focusing on maximizing user
satisfaction without considering the broader strategic or business objectives that are crucial for system
stakeholders.</p>
      <p>
        However, the landscape of recommender systems is evolving. The distinction between ”organic”
recommender systems, which prioritize personalized user experiences, and ”strategic” or ”utility-aware”
recommender systems is becoming more pronounced. The latter aims to balance user relevance with
additional utilities, be they economic, social, or ethical, to optimize overall system value [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This
approach is particularly relevant in multi-sided platforms where the interaction between user and utility
adds layers of complexity to the recommendation process [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ].
      </p>
      <p>In the gaming industry, especially in systems featuring in-game economies and virtual marketplaces,
utility-aware recommender systems aim to consider both user engagement and economic returns. This
paper explores a method employed by King to achieve this alignment in Candy Crush Saga: a strategic
Bundle Recommendation of in-game items, designed to appeal to players’ desires and keep the bundle
economy balanced, while increasing transactions from the recommended items.</p>
      <p>
        Bundle Recommendation (BR) [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ] is a specific type of recommendation systems where the goal
is to suggest combinations or sets of items (bundles) that are likely to be of interest to the user. BR
is a complex problem due to the following reasons: In contrast to the conventional recommendation
      </p>
      <p>CEUR</p>
      <p>
        ceur-ws.org
(CR) [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ], where the task involves selecting one or multiple items from a fixed, but large list, BR
includes various combinations of items with arbitrary quantities. While both CR and BR lead to data
sparsity problems, the number of combinations in BR is several orders of magnitude higher, deepening
the problem with sparsity further on. To further add to the complexity, diversity should be ensured
both across, as well as within the bundles, so that the recommended results positively contribute to the
game economy. In this work, we design our BR system with the dual objective of optimizing for user
relevancy and the game economy, whilst considering constraints of the game system.
      </p>
      <p>Our approach employs a two-step, game economy-aware methodology for in-game bundle
recommendation: We first employ an attention-based recommendation model to accurately capture individual
user preferences. This step focuses on diverse player behaviors and preferences at a granular level.
Given the constraints of the gaming platform, where only a limited number of bundles can be available
in the game, in the second step we employ a clustering algorithm to define a pool of the most statistically
representative in-game bundles. To evaluate the efectiveness of these bundles with respect to the game
economy, we monitor the take rate (TR). User relevance is assessed in an ofline setting by measuring
the model’s performance using cosine distance, and in an online setting, monitored through click rate
(CR).</p>
      <p>The contributions of our work are outlined below:
• We introduce a novel two-step approach to Bundle Recommendation systems, that employs a
combination of a supervised and an unsupervised approach. This utility-aware BR system is
designed to consider both user preferences and the game economy.
• We validate the online performance of our method using a controlled A/B testing framework,
demonstrating the correlation between user relevancy and game economy. Click rate is employed
to measure user relevancy, while take rate serves as a measure of economic impact.
• We present how this solution is deployed in the real-world in order to serve millions of users on
a daily basis, detailing the design of data collection, inference, training, and monitoring pipelines,
ensuring maintainability.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>Current recommender algorithms mainly suggest individual items by analyzing user-item interactions.
However, recommending item sets, or bundles, particularly within online gaming environments, has
received less focus. The integration of Bundle Recommendation (BR) in online games, which aims to
simultaneously cater to user preferences and business goals, is an emerging research area. This field is
still in its early stages of development, especially in the industrial applications of online games.</p>
      <p>
        Within the context of bundle recommendations, several methodologies have been explored. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
solve the problem of bundle recommendations for suggesting booklists, by using a latent factor-based
Bayesian Personalized Ranking (BPR) model which would consider users’ interactions with both item
lists and individual items. Later, this approach was extended by [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] who introduced the Embedding
Factorization Model (EFM), an approach that jointly models user-item and user-list interactions,
incorporating Bayesian Personalized Ranking[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and word2vec models [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], existing bundles were
suggested to users based on constituent items, and personalized new bundles were generated using a
bundle-level BPR model. A graph-based approach introduced by [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], unified user-item interaction,
user-bundle interaction, and bundle-item afiliation into a heterogeneous graph. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a factorized
attention network was employed to aggregate item embeddings within a bundle, addressing user-bundle
and user-item interactions in a multi-task manner. More recently, in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], the Bundle Graph
Transformer model (BundleGT) was introduced, that utilized a token embedding layer and a hierarchical
graph transformer layer to simultaneously capture strategy-aware user and bundle representations.
BRUCE [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is another method that adapted Transformers to the bundle recommendation problem, by
leveraging the self-attention mechanism to capture latent relations between items within a bundle and
users’ preferences toward individual items and the entire bundle. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] used a feature-aware softmax in an
encoder-decoder framework and integrated masked beam search to generate high-quality and diverse
bundle lists with appropriate sizes for E-commerce. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] introduced Bundle Multi-Round Conversational
Recommendation (Bundle MCR) that extended multi-round conversational recommendation (MCR) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
to a bundle setting, by formulating Bundle MCR as Markov Decision Processes (MDPs) with multiple
agents. Additional related work on bundle recommendation include [
        <xref ref-type="bibr" rid="ref19 ref20 ref21 ref22">19, 20, 21, 22</xref>
        ].
      </p>
      <p>
        Despite these advancements, considering both broader user engagement and economic returns
mentioned in the Introduction in bundle recommendations remains underexplored. In the gaming sector,
previous research has primarily focused on recommending game titles based on historical user data [
        <xref ref-type="bibr" rid="ref23 ref24">23,
24</xref>
        ] or single in-game item recommendations [
        <xref ref-type="bibr" rid="ref25 ref26">25, 26</xref>
        ]. The exploration of bundle recommendations
within online gaming is notably sparse. Deng et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] is one of the few works that tackled BR in
gaming by framing it as a link prediction problem within a tripartite graph and employing a neural
network model for direct learning. However, their approach focused solely on user relevancy.
      </p>
      <p>Our approach seeks to fill this gap by designing a Bundle Recommendation system with the dual
objective of optimizing for user relevancy and considering the game economy and the constraints of the
game system, while ensuring through careful monitoring that our recommendations not only achieve
user satisfaction but also drive substantial business value.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Methodology</title>
      <p>Candy Crush Saga developed by King— is an online mobile game with millions of users, where players
advance through a sequential map of progressively challenging levels by solving match-3 puzzles.
The pace of advancement is contingent upon the player’s skill level, determined by their ability to
strategically choose optimal moves, with the option of utilizing appropriate boosters and timing their
usage efectively. As in other free-to-play games, players have the option to buy virtual items with real
money through in-app purchases (IAPs). Users are presented with a range of bundles that consist of
in-game currency and other in-game power-ups like boosters, time-limited boosters, and unlimited
lives. The quantity of in-game currency and other in-bundle items can vary. An example of how bundle
recommendations are presented to the users is depicted in Fig. 1.</p>
      <p>user   , data  
true labels ( , )
prediction function</p>
      <p>(  )
supervised learning</p>
      <p>minimize
∑  cos_dist(  ,   )
(a) Training flow (step 1)
(b) Clustering flow (step 2)
user  
data  
user  
data</p>
      <p>for every user   evaluate
(  ) =  
= [ ,1 , ... , ]
cluster  vectors   for
 = 1, ..,  into  clusters
emerging clusters
 1, ... 
rounding of clusters</p>
      <p>1, ... 
into bundles  1, ...,  
for every user   evaluate
(  ) =  
serve bundle    to user   according to</p>
      <p>= argmin {cos_dist(  ,   )}
(c) Inference flow (executed daily)</p>
      <p>In this section we explain in two-steps how we optimize for user relevance in an ofline setting, to
ensure that the recommended bundles reflect the user preference on a global scale, using historical data.
We also describe how we streamline our experimentation and deployment processes with a platform
that supports the complete ML workflow.</p>
      <sec id="sec-3-1">
        <title>3.1. Our Solution</title>
        <p>Suppose we have users  = {  ∣  = 1, 2, …  } and items  = {  ∣  = 1, 2, …  }. Our solution comprises
two sequential steps.</p>
        <p>Step 1. In the first step, we predict one D-dimensional vector per user   , denoted as   =
[ ,1 ,  ,2 , … ,  , ], where each value  , represents the quantity of a bundle item  purchased by the
user   . To predict this vector, we adopt a supervised learning approach. We formulate the task as a
multi-output regression problem, where the target consists of  numerical values representing the
quantities of each respective item purchased by the user. During training, we aim to minimize the
cosine distance between true preference   and prediction   as follows
∑ cos_dist(</p>
        <p>,  
) =   .</p>
        <p>Given that the targets are normalised, we use cosine similarity as our evaluation metrics as it ignores
the overall scale of the predicted vectors, which is beneficial if the magnitude of the model predictions
is not directly comparable to the targets. Moreover, the proportionality of the items’ values in the
vectors matters to us in this use-case. The cosine distance metric enables a scale-invariant comparison
of the proportions of the diferent items present in the predicted vector and the actual label vector. The
training flow is depicted in Fig. 2.</p>
        <p>Step 2. We expect to find many similar combinations of in-game item proportions in the predictions
yielded from the model in Step 1, so in this step we employ an unsupervised clustering approach to
define a discrete preference space. Since the quantities of the items in a bundle are discrete, the clustering
approach serves the double purpose of discretizing the problem and resolving the data sparsity. The
goal here is to define a set of preference clusters,</p>
        <p>= {  ∣  = 1, 2, …  } .</p>
        <p>Parameter  is usually chosen between 5 and 30 so we preserve meaningful diferences between the
bundles. These diferences depend on user perception and can be only studied qualitatively. In the
experiments section  = 20 is used. The distance from the raw prediction to the closest cluster centroid
is:</p>
        <p>At this point we have  real-valued vectors, but given that the elements of the vectors represent
actual in-game products, we need to round the values so that they describe the actual quantities of the
various in-game items to be shown in the bundles. In this step, we convert the  clusters to bundles
that will be recommended to our users. By the end of this step, we will have defined a set of bundles
 = {
1,  2, ...  },   = ( 1, ...,   ) ∈ ℕ</p>
        <p>with   ∈ ℕ is the volumes of each item   for every  = 1, ..,  .</p>
        <p>The distance between the cluster centroid and the final product with rounded values is:
cos_dist( , ) = 
cos_dist(,  ) = 

.
 .</p>
        <p>The error to be minimized from this whole procedure is:
cos_dist( ,  ) &lt;= 
 +   +   .</p>
        <p>The process of creating clusters and bundles is visualized in Fig. 2. This 2-step process enables the
segregation of the model predictions and the delivery of personalized results through bundles, providing
lfexibility to easily modify and market diferent ofers.</p>
        <sec id="sec-3-1-1">
          <title>3.1.1. Model selection</title>
          <p>
            Our ML model of choice for Step 1 is TabNet [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ]. TabNet uses a structured attention mechanism to
highlight important features during each decision step, which enables transparency and interpretability
of the model’s predictions, as well as eficient handling of sparse features. In our dataset, each row
represents a distinct user during a specific time period. Multiple rows can belong to the same user
if their activity spans over larger periods, reflecting their interactions at diferent points of time. To
prevent data leakage, the same user does not appear in both the training and evaluation sets. Given the
diverse user-base in terms of skill and playing style, and the dynamic nature of user playing behavior,
with rapid progress and style changes over short periods, each row is unique across users and even
for the same user from day to day, so not all features are expected to be relevant for every example.
TabNet’s capability to handle sparsity and operate on an instance-wise basis is advantageous for our
use case, as it allows the model to independently determine the features to pay attention to for each
example. Regarding TabNet hyperparameters, we primarily adhere to the default settings as provided in
the PyTorch implementation[
            <xref ref-type="bibr" rid="ref29">29</xref>
            ]. We use a progressively decreasing learning rate schedule to enhance
the stability of the model’s performance. In Step 2, we chose to employ an unsupervised k-means
clustering algorithm. This decision was based on its simplicity and eficiency, making it an ideal choice
for scalability and speed—crucial factors when deploying for millions of predictions.
          </p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. System Overview</title>
        <p>
          To enhance the ease of experimenting and deploying machine learning models, King has developed a
platform designed to support and automate various aspects of the ML workflow. Employing a self-service
approach, the platform provides machine learning practitioners with a range of modular components
and tools that streamline the modeling workflow. These resources are integrated under a unified system,
akin to previously described ML systems [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]. Figure 3 details the structure of our system.
        </p>
        <p>The system in Fig.3 is composed of four distinct pipelines: a data pipeline for daily data extraction,
a training pipeline, an inference pipeline, and a monitoring pipeline. Our internal data notification
service notifies our in-house pipelines orchestrator of new data availability and in turn, the orchestrator
triggers all pipelines.</p>
        <p>We use infrastructure-as-code tools, leveraging standardized modules that we apply to all
environments to ensure consistency of the environments in development and production, allowing for more
rigorous testing and minimizing one of the most common pain points of ML practitioners [32]. As
we only need to make daily predictions, we opt for a batch prediction system that executes all of the
pipelines daily.</p>
        <sec id="sec-3-2-1">
          <title>3.2.1. Data Extraction</title>
          <p>The initial data extraction, including the retrieval of raw model features and the computation of labels,
is handled by the data pipeline which draws from the data warehouse. The feature transformation
pipeline is configured to ensure that the feature generation process is idempotent, even in the case of
data backfilling.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>3.2.2. Training &amp; Inference</title>
          <p>The training pipeline fetches data prepared by the data pipelines to train models and generates artifacts
which are consumed by an experiment tracker and the monitoring and inference pipelines. The type
of data we hold within the artifacts are model weights, parameters and metadata, the git hash of the
training code, evaluation metrics, training datasets and settings (e.g. learning rate, seed, optimizer
parameters, etc.). This artifact choice enables us to tackle the reproducibility challenge inherent in
operationalizing ML projects [33] by providing all the necessary elements to recreate the model.</p>
          <p>The inference pipeline produces predictions for each feature for the next day and stores them in
a database. After we have generated our predictions, they are converted to the bundles using the
unsupervised clustering approach described in Step 2 of 3.1.</p>
          <p>To prevent issues related to training/inference skew, we rely on parameterized queries as the input to
the model for both training and inference pipeline. Together with a common data pipeline, this allows
for a common source of truth, removing discrepancies in the data preparation.
3.2.3. Serving
Once the personalized bundles have been generated, they are uploaded to the game services to be
delivered to our players. The recommendation is cached in the game for the whole user session and the
user is displayed the recommended bundle consistently through the assigned placements. To ensure
reliability, the game system incorporates two fail-safe mechanisms: first, if there is no prediction
available for a user in the most recent batch of bundles, the latest available bundle for that user is
displayed. Second, if no bundle is available at all, we employ a fallback, non-personalized bundle. Once
the recommendations are live, we validate their performance following relevant metrics with an A/B
test setup. To avoid issues stemming from inconsistent definitions [ 32], we have a standard validation
process for all models at various stages of the ML process (which is also version-controlled). Models
undergo the same A/B test setup, and once in production, we monitor the same business metrics for all
of them, this ensures reliable comparisons between models and an increase in iteration speed.</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>3.2.4. Monitoring</title>
          <p>Model monitoring is essential for reliability and production-level machine learning systems [34].
Our system monitoring relies on a third-party platform. The monitoring pipeline is responsible for
uploading daily predictions, features, and labels to this external platform. In addition to the standard
monitoring policies to address training/serving skew, changes in feature distributions or relationship
between features and labels [35], we track key business metrics to ensure the model’s relevance to the
business [36]. In particular we monitor the bundles’ take rate, click rate, and recommendation diversity
associated with the model’s usage. Furthermore, we implement feature importance monitoring to
ensure that the contributions of features remain consistent during serving, fostering transparency in
understanding the correlation between input data and model outcomes.</p>
          <p>Upon any monitoring policy violation, an alert prompts an investigation, followed by the model
retraining; post-retraining, a detailed manual investigation informs the decision to promote the updated
model to production, utilizing CI/CD pipelines for automatic deployment.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Experiments</title>
      <sec id="sec-4-1">
        <title>4.1. Existing baselines</title>
        <p>In this section, we describe the experimental setup and outcomes of both the ofline training of TabNet
and the online A/B testing of bundles suggested by our two-step approach introduced in Section 3.1.
For the ofline analysis, we evaluate TabNet against XGBoost to determine efectiveness w.r.t. cosine
distance. In the online scenario, we extend the comparison to include both TabNet and XGBoost,
alongside a heuristic approach. The heuristic approach, known as heuristics, is crafted manually by
subject matter experts and is based on game domain knowledge rather than personalized user data.
Additionally, in the second online experiment, we investigate the impact of injecting varying levels of
randomness—referred to as contamination—into our model recommendations.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Ofline Experiments</title>
        <p>The training process is carried out in batches, with the input being a matrix  = { () } =1 ∈  × ,
where  represents the number of samples in each batch, and  denotes the number of input features in
each sample. The input features include data on player behavior. We do not use or compare with public
datasets as they do not have relevant properties and user actions that are required for our solution
architecture, moreover, they cannot be used for online experiments. In our dataset, we only keep
users who have been active for more than or equal to 30 days and aggregate all features by averaging
them over an  -day period. The target consists of  numerical values [ 1,  2, … ,   ] representing the
quantities of each respective item purchased by the user on their next active day after the  -day period.
We train our models over hundreds of thousands of users, for D=13. To simulate the production setting
where users exhibit diverse activity levels, we do not aggregate the test set over a  -day period. Instead,
we include all users regardless of the amount of active days they have had. If a user has been active for
less than  days, we aggregate their corresponding input features over as many days as they have been
active for. We train two distinct models:
• TabNet with  = 15 days
• TabNet with  = 30 days
These two models are diferentiated by their respective number of aggregation days. We evaluate
the models’ performance using the mean cosine distance as our evaluation metric, as outlined in
Section 3.1. A lower value of this metric indicates better model performance. Using cosine distance for
both optimization and evaluation ensures consistency since there is a clear alignment between what
the model is learning during training and how it’s judged in evaluation. It also simplifies performance
interpretation, as the model is directly optimized to minimize this metric. However, it may overly
specialize the model, potentially missing broader patterns that enhance user satisfaction or real-world
performance, since cosine distance focuses on direction rather than magnitude or other factors that
could afect user preferences.</p>
        <p>
          Based on the results shown in Table 1, we proceed with the TabNet model that uses a 30-day
aggregation period. It is worth mentioning that the mean cosine similarity is not normally distributed
on [
          <xref ref-type="bibr" rid="ref1">0,1</xref>
          ]. Statistical tests suggest it follows a Beta distribution across all ofline experiments. Additionally,
the mean of the distribution significantly decreases with the use of the TabNet architecture, improving
similarity across a broader range of users, including those who initially had higher cosine distance.
        </p>
        <p>Model
XGBoost baseline</p>
        <p>TabNet 15day
TabNet 30day</p>
        <p>Mean Cosine Distance
0.234
0.124
0.103</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Online Experiments</title>
        <p>4.3.1. Metrics
In our setting we want to study especially the relationship between the relevancy and game economy.
Therefore, we define a set of online metrics that can quantify the relevancy of the recommendation.</p>
        <p>Click volume: Click volume  ( , ) is the total number of clicks on product  and day  .</p>
        <p>Acceptance volume: Acceptance volume  ( , ) denotes the number of takes of product  and
day  .</p>
        <p>Click rate: Click rate () is the proportion between  () and number of impressions on day  .
Take rate: Take rate  () is the proportion between  () and number of impressions on day  .</p>
        <p>We are using the click rate  to measure the relevancy of our recommendation, while the take rate
  measures the performance of the game economy. Both of these metrics are scaled according to
the number of impressions per day, since those can vary from user to user. We want to validate that
increased relevancy for the user translates into increase in  , while the overall efect on the game
economy increases   .</p>
        <sec id="sec-4-3-1">
          <title>4.3.2. A/B experimentation</title>
          <p>To be able to understand the online performance of our approaches to recommendation, we have tested
the predictive models using A/B experiments. The A/B testing methodology allows us to compare the
performance of key metrics between the treatment group and the control group in a single experiment.
We denote the uplift of metric M as a percentage diference of the absolute values of M in the treatment
group and control, respectively, scaled to the size of these groups. We denote the aggregate uplift in
metric  as Δ .</p>
          <p>We define a pool of bundles as a set  = { 1,  2, ...  }, where   is a bundle. We define a random
bundle   as a discrete random variable uniformly distributed on  , i.e.   ∼ U( ). Recommended
bundle  is defined as argmin{cos_dist(  , ) ∶   ∈  } for model prediction  and pool of bundles
 . Let  be a uniformly distributed continuous random variable on [0, 100] and let   be a random
recommendation. The recommendation with contamination  % is defined as a random variable   =
I( &lt;  ) ⋅  +  ( ≥  ) ⋅  where I is the indicator function, i.e. I(true) = 1 and I(false) = 0 and  is
recommended bundle. Throughout the experiments section, we’ll be using four kinds of treatment
groups that we denote  :
• TabNet model recommendation ( 0)
• Recommendation with 10% contamination ( 10)
• Recommendation with 30% contamination ( 30)
ΔTR for recommended bundle
ΔTR for base bundle
0
10
30</p>
          <p>40
20
days</p>
        </sec>
        <sec id="sec-4-3-2">
          <title>4.3.3. Experiments</title>
          <p>Prior to conducting experiments, Candy Crush Saga had a heuristic (rule-based) approach to serve
bundle content to players. Here we conducted two experiments, where we tested the performance of
the recommendation against the heuristic approach, which is our primary control group. Alongside
this, we want to understand the relationship between the model accuracy and relevancy. We conducted
experiment with random group as a source treatment, while serving contaminated recommendation in
the target treatment. We use K=20 as the number of total bundles. The setting, including the source
treatment and target treatment, is shown in Tab. 2.</p>
          <p>Experiment 1 This experiment tests the model recommendation against a heuristic recommendation.
Our source treatment serves heuristic bundle recommendation, while the target treatment is decided
using the TabNet recommendation model. While the take rate uplift has increased significantly by 41%
and the corresponding click rate has increased by 33%, as shown in Tab. 3</p>
          <p>We visualize the trend in the increase of take rate of the recommended product in Fig. 4. The
experiment started on day 11, and while the recommended product gradually gained popularity, the
novelty efect stabilized roughly 20 days after the experiment started. This experiment has demonstrated
the potential of varying bundle content with respect to the user engagement metrics. While the user
engagement increased, the game economy metric   increased even more, resulting in more successful
transactions. However, it is necessary to understand further the relationship of how quickly   decreases
if the relevance deteriorates. This is the objective of the next experiment.</p>
          <p>
            Experiment 2 In experiment 2 we study the relation between a random recommendation and model
recommendations with diferent levels of contamination. This enables us to understand how the key
engagement metrics uplifts deteriorate when the model is contaminated with a random recommendation
in some cases, being the source treatment a random recommendation in all cases. We take advantage of
the artificially created treatment group with a random recommendation as a method to compare to
other treatment groups  0,  10,  30. The changes in key metrics are presented in Tab. 3. We can see that
with increasing levels of contamination, the   and  uplifts decrease, however, at a non-linear pace.
The level of contamination  ∈ [
            <xref ref-type="bibr" rid="ref10 ref30">0, 10, 30</xref>
            ] does not guarantee a proportional decrease in the engagement
metrics.
          </p>
          <p>Results interpretation The experiments aimed to study the relationship between the click rate as a
measure of relevancy together with the take rate as a measure of game economy. In the first experiment,
we’ve observed significant increase in both metrics, while the take rate uplift was higher than the click
rate uplift. We’ve observed similar trend also in experiment 2, while we’ve achieved a much higher
uplift in take rates when compared to the random group.</p>
          <p>The question one could be asking is why we didn’t obtain a higher click-rate uplift when compared
to the random group in experiment 2. The proportion of Δ /Δ is about 1.27 in experiment 1,
while for  0 in experiment 2 it is around 3.35. We get almost three times higher   in comparison
to  in experiment 2 is because the random control group created diferent recommendations for a
user every day, which has increased clicks on that particular bundle, without increasing its relevancy.
Additionally, these numbers are cleaned up from the novelty efect, reported after the initial 20-day
period. We proved experimentally when serving diferent content every day, regardless if relevant or
not, the resulting metrics achieve higher click rates than static or heuristic recommendations, which
are the same every day. Therefore, to preserve the importance of click rate as a relevancy metric,
experimentation with contamination is necessary, to prove a diminishing relationship between the
recommendation performance and corresponding online metrics in experiment 2.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <sec id="sec-5-1">
        <title>5.1. TabNet</title>
        <sec id="sec-5-1-1">
          <title>5.1.1. Interpretability</title>
          <p>
            TabNet [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ] has been our initial take on a Tabular Neural network for this approach due to its flexibility
and interpretability.
          </p>
          <p>The model’s architecture uses a sequential attention mechanism that dynamically identifies and
prioritizes important features for each sample. Specifically, by examining attention weights, we can ensure
the model prioritizes relevant features. This helps identify and correct biases where the model might
overemphasize features linked to unrelated targets, leading to more accurate, target-focused predictions.</p>
        </sec>
        <sec id="sec-5-1-2">
          <title>5.1.2. Self-supervised pre-training</title>
          <p>
            TabNet’s self-supervised pre-training involves training on an unsupervised task without labels [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ],
allowing the model to discover data patterns and focus on important features before supervised training,
thus improving its ability to identify underlying structures.
          </p>
        </sec>
        <sec id="sec-5-1-3">
          <title>5.1.3. Other modeling approaches</title>
          <p>In the current 3-step approach described in 3.1, we use TabNet as the model of choice. The downside of
the solution is its heavier computational load, which slows down the training pipeline. While real-time
retraining is not a constraint in the current formulation, we are interested in exploring lighter models
and the balance between ofline performance evaluation and computation costs for the training across
diferent architectures. XGBoost or other vanilla Neural Networks like a simple feed-forward neural
network, have been considered, and initial experiments reveal comparable results in our key metric,
cosine distance, during ofline evaluation.</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Data and Loss Function enhancements</title>
        <p>Adding smart processing to the same data can improve how our models identify player preferences.
This section explores a few approaches for achieving this.</p>
        <sec id="sec-5-2-1">
          <title>5.2.1. Feature Aggregation</title>
          <p>When exploring player’s preferences in historical data, it is important to capture both short-term
patterns as well as more long-term in-game habits and preferences of a user. Currently, our model’s
30-day input feature aggregation captures long-term player behavior but doesn’t give higher weight to
more recent events. Incorporating shorter aggregation periods may improve performance. Alternatively,
a hierarchical model could automatically capture short-term patterns in lower levels and aggregate
long-term behavior in higher levels.</p>
        </sec>
        <sec id="sec-5-2-2">
          <title>5.2.2. The Cold Start Problem</title>
          <p>The Cold Start Problem: Our training data focuses on in-game purchases, targeting users who made a
purchase on a given day. We aim to determine the preference vector for items in the purchased bundle,
so only paying and new users are included, while non-paying players are excluded. This creates a cold
start problem, as recommendations require at least one purchase. Addressing this by developing models
for underrepresented players could be included in the scope of a future iteration.</p>
        </sec>
        <sec id="sec-5-2-3">
          <title>5.2.3. Loss function: imbalance between targets</title>
          <p>The loss function uses cosine distance between output and true label vectors but doesn’t account
for weight diferences between items, which can cause overestimation when some items are
overrepresented in training. Our analysis shows a 60% drop in performance when excluding one target,
with in-game currency included in training but not in evaluation. This suggests in-game currency
contributes 60% of the cosine distance. To better understand the players’ preferences and cater to
individual play styles, we could explore target-specific weighting, separate models for distinct targets,
or fixed allocation for specific targets, and focusing the model on the preferences for the remaining.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>In this paper, we present a novel two-step approach to item recommendations in mobile games, which
was applied and tested on a bundle recommendation problem in Candy Crush Saga. First, we’ve
defined the general methodology and architecture of the solution, which was specially designed for the
mobile game environment. Apart from ofline validation, the architecture was also tested in several
online experiments, empirically modeling the relationship between the click- and take rates and model
accuracy. The robust architecture and technical debt prevention strategies allowed the system to be
deployed in two in-game placements, one of them being illustrated in Figure 1.</p>
      <p>The novelty of this approach lies not only in the item recommendation methodology, which is
subsequently applied to bundle recommendation but also in the implementation. The robust and
fail-safe pipeline is designed to scale for millions of players and implements many policies that can
prevent the delivery of inaccurate recommendations. We continuously monitor the system performance,
both in the ofline and online environment, where we focus on understanding the click change- and
take rates, but also other underdeveloped metrics, such as the impact of degenerate feedback loops and
a corresponding deterioration in recommendation diversity.</p>
      <p>The scale-invariant system defined in the methodology is an eficient tool both for the generalization
of the system for other tasks and presents a responsible AI solution that makes sure fairness resulting
from the generation of the recommendation is in place regardless of user’s level of activity or spending.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Acknowledgements</title>
      <p>We’re grateful for the support from King we’ve been given while preparing the manuscript and the
openness we work in that contributes to a good level of insight sharing. In addition to the authors
who have contributed hands-on to the success of this solution, we also thank other teams in King for
their help and support, specifically ML Special Projects, MLOps Accelerator, Core Data, AI Labs, CCS
IAP&amp;E and CCS Operators teams. We also thank Pradyumna Prasad for his significant support and
contributions.
https://doi.org/10.1145/3292500.3330658. doi:10.1145/3292500.3330658.
[32] S. Shankar, R. Garcia, J. M. Hellerstein, A. G. Parameswaran, Operationalizing machine learning:</p>
      <p>An interview study, arXiv preprint arXiv:2209.09125 (2022).
[33] D. Sculley, G. Holt, D. Golovin, E. Davydov, T. Phillips, D. Ebner, V. Chaudhary, M. Young, J.-F.</p>
      <p>Crespo, D. Dennison, Hidden technical debt in machine learning systems, Advances in neural
information processing systems 28 (2015).
[34] E. Breck, S. Cai, E. Nielsen, M. Salib, D. Sculley, The ml test score: A rubric for ml production
readiness and technical debt reduction, in: 2017 IEEE International Conference on Big Data (Big
Data), IEEE, 2017, pp. 1123–1132.
[35] C. Huyen, Designing Machine Learning Systems: An Iterative Process for Production-ready
Applications, O’Reilly Media, Incorporated, 2022. URL: https://books.google.se/books?id=
YISIzwEACAAJ.
[36] T. Schröder, M. Schulz, Monitoring machine learning models: a categorization of challenges and
methods, Data Science and Management 5 (2022) 105–116.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>A. De Biasio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Montagna</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Aiolli</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Navarin</surname>
          </string-name>
          ,
          <article-title>A systematic review of value-aware recommender systems</article-title>
          ,
          <source>Expert Systems with Applications</source>
          (
          <year>2023</year>
          )
          <fpage>120131</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Pei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Cui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Ou</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y. Zhang,</surname>
          </string-name>
          <article-title>Value-aware recommendation based on reinforcement profit maximization</article-title>
          ,
          <source>in: The World Wide Web Conference</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>3123</fpage>
          -
          <lpage>3129</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <article-title>Returning is believing: Optimizing long-term user engagement in recommender systems</article-title>
          ,
          <source>in: Proceedings of the 2017 ACM on Conference on Information and Knowledge Management</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>1927</fpage>
          -
          <lpage>1936</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Song</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Qu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>An</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <article-title>Personalized bundle list recommendation</article-title>
          ,
          <source>in: The World Wide Web Conference</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>71</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Bundle recommendation and generation with graph neural networks</article-title>
          ,
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>35</volume>
          (
          <year>2023</year>
          )
          <fpage>2326</fpage>
          -
          <lpage>2340</lpage>
          . doi:
          <volume>10</volume>
          .1109/TKDE.
          <year>2021</year>
          .
          <volume>3114586</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <surname>Benbasat</surname>
          </string-name>
          , E
          <article-title>-commerce product recommendation agents: Use, characteristics, and impact</article-title>
          ,
          <source>MIS Quarterly 31</source>
          (
          <year>2007</year>
          )
          <article-title>137</article-title>
          . URL: http://dx.doi.org/10.2307/25148784. doi:
          <volume>10</volume>
          .2307/25148784.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Jiao</surname>
          </string-name>
          ,
          <article-title>An associative classification-based recommendation system for personalization in b2c e-commerce applications</article-title>
          ,
          <source>Expert Systems with Applications</source>
          <volume>33</volume>
          (
          <year>2007</year>
          )
          <fpage>357</fpage>
          -
          <lpage>367</lpage>
          . URL: http://dx.doi.org/10.1016/j.eswa.
          <year>2006</year>
          .
          <volume>05</volume>
          .005. doi:
          <volume>10</volume>
          .1016/j.eswa.
          <year>2006</year>
          .
          <volume>05</volume>
          .005.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Xie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. V.</given-names>
            <surname>Lakshmanan</surname>
          </string-name>
          ,
          <article-title>Recommending user generated item lists</article-title>
          ,
          <source>in: Proceedings of the 8th ACM Conference on Recommender systems</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>185</fpage>
          -
          <lpage>192</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Nie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zhu</surname>
          </string-name>
          , T.-S. Chua,
          <article-title>Embedding factorization models for jointly recommending items and user generated lists</article-title>
          ,
          <source>in: Proceedings of the 40th international ACM SIGIR conference on research and development in information retrieval</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>585</fpage>
          -
          <lpage>594</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Rendle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Freudenthaler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Gantner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Schmidt-Thieme</surname>
          </string-name>
          ,
          <article-title>Bpr: Bayesian personalized ranking from implicit feedback</article-title>
          ,
          <source>arXiv preprint arXiv:1205.2618</source>
          (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>T.</given-names>
            <surname>Mikolov</surname>
          </string-name>
          , I. Sutskever,
          <string-name>
            <given-names>K.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. S.</given-names>
            <surname>Corrado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dean</surname>
          </string-name>
          ,
          <article-title>Distributed representations of words and phrases and their compositionality</article-title>
          ,
          <source>Advances in neural information processing systems</source>
          <volume>26</volume>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pathak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. McAuley</surname>
          </string-name>
          ,
          <article-title>Generating and personalizing bundle recommendations on steam</article-title>
          ,
          <source>in: Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>1073</fpage>
          -
          <lpage>1076</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Bundle recommendation with graph convolutional networks</article-title>
          ,
          <source>in: Proceedings of the 43rd international ACM SIGIR conference on Research and development in Information Retrieval</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>1673</fpage>
          -
          <lpage>1676</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zheng</surname>
          </string-name>
          ,
          <article-title>Matching user with item set: Collaborative bundle recommendation with deep attention network</article-title>
          .,
          <source>in: IJCAI</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>2095</fpage>
          -
          <lpage>2101</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Nie</surname>
          </string-name>
          , T.-S. Chua,
          <article-title>Strategy-aware bundle recommender system</article-title>
          ,
          <source>in: Proceedings of the 46th International ACM SIGIR Conference on Research and Development in Information Retrieval</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>1198</fpage>
          -
          <lpage>1207</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>T. Avny</given-names>
            <surname>Brosh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Livne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. Sar</given-names>
            <surname>Shalom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shapira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Last</surname>
          </string-name>
          , Bruce:
          <article-title>Bundle recommendation using contextualized item embeddings</article-title>
          ,
          <source>in: Proceedings of the 16th ACM Conference on Recommender Systems</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>237</fpage>
          -
          <lpage>245</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Z.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Du</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. McAuley</surname>
          </string-name>
          ,
          <article-title>Bundle mcr: Towards conversational bundle recommendation</article-title>
          ,
          <source>in: Proceedings of the 16th ACM Conference on Recommender Systems</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>288</fpage>
          -
          <lpage>298</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ding</surname>
          </string-name>
          , W. Lam,
          <article-title>Unified conversational recommendation policy learning via graph-based reinforcement learning</article-title>
          ,
          <source>in: Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>1431</fpage>
          -
          <lpage>1441</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Qi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Mamoulis</surname>
          </string-name>
          , E. Pitoura,
          <string-name>
            <given-names>P.</given-names>
            <surname>Tsaparas</surname>
          </string-name>
          , Recommending packages to groups,
          <source>in: 2016 IEEE 16th International Conference on Data Mining (ICDM)</source>
          , IEEE,
          <year>2016</year>
          , pp.
          <fpage>449</fpage>
          -
          <lpage>458</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Y.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Niu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Caverlee</surname>
          </string-name>
          ,
          <article-title>A hierarchical self-attentive model for recommending usergenerated item lists</article-title>
          ,
          <source>in: Proceedings of the 28th ACM international conference on information and knowledge management</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1481</fpage>
          -
          <lpage>1490</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>R.</given-names>
            <surname>Garfinkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gopal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tripathi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yin</surname>
          </string-name>
          ,
          <article-title>Design of a shopbot and recommender system for bundle purchases</article-title>
          ,
          <source>Decision Support Systems</source>
          <volume>42</volume>
          (
          <year>2006</year>
          )
          <fpage>1974</fpage>
          -
          <lpage>1986</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Beladev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rokach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Shapira</surname>
          </string-name>
          ,
          <article-title>Recommender systems for product bundling</article-title>
          ,
          <source>Knowledge-Based Systems</source>
          <volume>111</volume>
          (
          <year>2016</year>
          )
          <fpage>193</fpage>
          -
          <lpage>206</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Anwar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Shahzad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sattar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Majid</surname>
          </string-name>
          ,
          <article-title>A game recommender system using collaborative filtering (gambit)</article-title>
          ,
          <source>in: 2017 14th International Bhurban Conference on Applied Sciences and Technology (IBCAST)</source>
          , IEEE,
          <year>2017</year>
          , pp.
          <fpage>328</fpage>
          -
          <lpage>332</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sifa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Drachen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bauckhage</surname>
          </string-name>
          ,
          <article-title>Large-scale cross-game player behavior analysis on steam</article-title>
          ,
          <source>in: Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment</source>
          , volume
          <volume>11</volume>
          ,
          <year>2015</year>
          , pp.
          <fpage>198</fpage>
          -
          <lpage>204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>V.</given-names>
            <surname>Araujo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rios</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Parra</surname>
          </string-name>
          ,
          <article-title>Data mining for item recommendation in moba games</article-title>
          ,
          <source>in: Proceedings of the 13th ACM Conference on Recommender Systems</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>393</fpage>
          -
          <lpage>397</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>P.</given-names>
            <surname>Bertens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Guitart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. P.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Perianez,</surname>
          </string-name>
          <article-title>A machine-learning item recommendation system for video games</article-title>
          ,
          <source>in: 2018 IEEE Conference on Computational Intelligence and Games (CIG)</source>
          , IEEE,
          <year>2018</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Deng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Fan</surname>
          </string-name>
          , L. Chen,
          <article-title>Personalized bundle recommendation in online games</article-title>
          ,
          <source>in: Proceedings of the 29th ACM International Conference on Information &amp; Knowledge Management</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>2381</fpage>
          -
          <lpage>2388</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ö. Arik</surname>
          </string-name>
          , T. Pfister, Tabnet:
          <article-title>Attentive interpretable tabular learning</article-title>
          ,
          <source>in: Proceedings of the AAAI conference on artificial intelligence</source>
          , volume
          <volume>35</volume>
          ,
          <year>2021</year>
          , pp.
          <fpage>6679</fpage>
          -
          <lpage>6687</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Tabnet</surname>
          </string-name>
          :
          <article-title>Attentive interpretable tabular learning</article-title>
          ,
          <year>2023</year>
          . URL: https://pypi.org/project/ pytorch-tabnet/, accessed:
          <fpage>2023</fpage>
          -12-01.
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>I. L.</given-names>
            <surname>Markov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>Looper:</surname>
          </string-name>
          <article-title>An end-to-end ml platform for product decisions</article-title>
          ,
          <source>in: Proceedings of the 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining</source>
          , KDD '22,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2022</year>
          , p.
          <fpage>3513</fpage>
          -
          <lpage>3523</lpage>
          . URL: https: //doi.org/10.1145/3534678.3539059. doi:
          <volume>10</volume>
          .1145/3534678.3539059.
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>M.</given-names>
            <surname>Haldar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Abdool</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ramanathan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Duan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Barrow-Williams</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Turnbull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. M.</given-names>
            <surname>Collins</surname>
          </string-name>
          , T. Legrand,
          <article-title>Applying deep learning to airbnb search</article-title>
          ,
          <source>in: Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery &amp; Data Mining, KDD '19</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>1927</fpage>
          -
          <lpage>1935</lpage>
          . URL:
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>