Recommendation Algorithms

Author

Danil Kimbaev

library(arules)
library(tidyverse)
library(scales)
library(recommenderlab)
library(kableExtra)

1 Introduction

In this document, I will carry out a market basket analysis & collaborative filtering.

The market basket analysis will be using transaction data from an e-commerce store selling unique all-occasion gifts. The analysis will be performed using the Apriori algorithm.

Collaborative filtering will be performed on a data set containing video game ratings from Steam, the PC gaming hub. This analysis will use two models, User Based & Item Based Collaborative Filtering (UBCF & IBCF)

2 Market Basket Analysis

This section will cover the market basket analysis

2.1 Exploration

The output below provides an overview of the data. It displays information on; the number of transactions, the number of items, most frequently purchased item, percentage of non empty cells, number of transaction sizes, mean and median.

retail <- read.transactions("retail_transactions_1.csv", sep = ",")
summary(retail)
transactions as itemMatrix in sparse format with
 10000 rows (elements/itemsets/transactions) and
 5497 columns (items) and a density of 0.00277837 

most frequent items:
WHITE HANGING HEART T-LIGHT HOLDER           REGENCY CAKESTAND 3 TIER 
                               838                                775 
           JUMBO BAG RED RETROSPOT                      PARTY BUNTING 
                               671                                551 
     ASSORTED COLOUR BIRD ORNAMENT                            (Other) 
                               543                             149349 

element (itemset/transaction) length distribution:
sizes
   1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16 
1622  684  518  406  399  352  304  313  291  265  268  234  236  221  249  259 
  17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32 
 220  201  223  185  176  138  145  115  110  114   96  101  109  100   74   73 
  33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48 
  68   66   62   40   59   42   50   43   43   55   36   28   31   28   29   23 
  49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64 
  29   21   34   13   15   25   17   20   13   16   20   14   11   11   13   14 
  65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80 
   9   15   12    8    2   10    4    7    6    9    1    7    6    3    3    4 
  81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96 
   7    6    3    2    4    3    5    5    1    2    1    4    2    1    1    2 
  97   98   99  101  103  105  107  108  109  110  111  113  114  116  117  118 
   1    3    1    2    2    1    2    2    3    1    1    2    1    1    3    2 
 120  121  122  123  125  126  135  143  147  149  154  157  158  168  171  177 
   1    1    1    1    2    3    1    1    1    1    4    1    1    1    1    1 
 202  204  249  320  428 
   1    1    1    1    1 

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1.00    3.00   10.00   15.27   21.00  428.00 

includes extended item information - examples:
                      labels
1                   1 HANGER
2     10 COLOUR SPACEBOY PEN
3 12 COLOURED PARTY BALLOONS

2.1.1 Explanation

We can deduce the following from the output:

  1. There are 10000 transactions

  2. There are 5497 items for sale

  3. The sparsity matrix has 54,970,000 cells (10000*5497)

  4. The density of the sparsity matrix is 0.00277837 - meaning that 0.28% of the cells contain a non zero value. This means 152,727 items were purchased in total.

  5. The largest number of items purchased in a single transaction was 428

  6. The mean number of items purchased per transaction is 15

transactions <- 10000
items <- 5497
sparsity_matrix_cells <- 10000*5497
non_zero_values <- 0.00277837*(10000*5497)
largest_transaction <- 428
mean_items_purchased <- 15
df <- data.frame(transactions, items, sparsity_matrix_cells, non_zero_values, largest_transaction, mean_items_purchased)

knitr::kable(df,
             caption = "Transaction Data",
             col.names = c("Transactions", "Items", "# Cells", "Items Purchased", "Largest Transaction", "Average Items Per Txn"),
             table.attr = 'data-quarto-disable-processing = "true"', format.args = list(big.mark = ",")) %>%
  kable_styling(full_width = F) %>%
    row_spec(0, bold = TRUE, color = "white", background = "black") %>%
    row_spec(1, bold = TRUE, color = "#0099F8")
Transaction Data
Transactions Items # Cells Items Purchased Largest Transaction Average Items Per Txn
10,000 5,497 54,970,000 152,727 428 15

2.1.2 Barchart Of Top 20 Items

Below is a barchart showcasing the top 20 most common items purchased.

The most common item purchased from the chart was the “White Hanging Heart T-Light Holder”, which was purchased in 80% of all transactions. The least common purchased from the chart was the “Heart Of Wicker Small” which was purchased in just below 40% of all transactions.

itemFrequencyPlot(retail, topN = 20, horiz = T)

2.2 Apriori Algorithm

Through trial and error, the most interesting and actionable association rules have been discovered when using a support threshold of 0.01 and a confidence threshold of 0.5.

With these settings, the algoritm discovered 90 rules.

The support threshold of 0.01 tells the algorithm that in order to generate a rule, an item must have appeared in 1% of all transactions.

The confidence threshold of 0.5 tells the algorithm that in order for a rule of X -> Y to be generated, item Y must have appeared in at least 50% of transactions containing item X.

retail_rules <- apriori(retail, parameter = list(support = 0.01,                             confidence = 0.5,                           minlen = 2))
Apriori

Parameter specification:
 confidence minval smax arem  aval originalSupport maxtime support minlen
        0.5    0.1    1 none FALSE            TRUE       5    0.01      2
 maxlen target  ext
     10  rules TRUE

Algorithmic control:
 filter tree heap memopt load sort verbose
    0.1 TRUE TRUE  FALSE TRUE    2    TRUE

Absolute minimum support count: 100 

set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[5497 item(s), 10000 transaction(s)] done [0.13s].
sorting and recoding items ... [401 item(s)] done [0.00s].
creating transaction tree ... done [0.00s].
checking subsets of size 1 2 3 4 done [0.01s].
writing ... [90 rule(s)] done [0.00s].
creating S4 object  ... done [0.00s].
retail_rules
set of 90 rules 

2.2.1 Evaluation

The summary below provides an overview on the rules created by the algorithm from which we can deduce the following:

  1. 58 rules contain 2 items and 32 rules contain 3 items.

  2. Maximum confidence is 1.0, meaning there is a rule that states certain items appear in the same transaction 100% of the time.

  3. The minimum lift value is 6.452 and the maximum lift is 66.667. This value states how many more times item X is likely to be purchased with item Y. For example, if rule X -> Y has a lift of 66, then a transaction with item X is 66 times more likely to also contain item Y.

summary(retail_rules)
set of 90 rules

rule length distribution (lhs + rhs):sizes
 2  3 
58 32 

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  2.000   2.000   2.000   2.356   3.000   3.000 

summary of quality measures:
    support          confidence        coverage            lift       
 Min.   :0.01000   Min.   :0.5000   Min.   :0.01000   Min.   : 6.452  
 1st Qu.:0.01050   1st Qu.:0.5507   1st Qu.:0.01695   1st Qu.:12.805  
 Median :0.01175   Median :0.6124   Median :0.01965   Median :18.167  
 Mean   :0.01309   Mean   :0.6294   Mean   :0.02131   Mean   :20.694  
 3rd Qu.:0.01530   3rd Qu.:0.6733   3rd Qu.:0.02368   3rd Qu.:24.416  
 Max.   :0.02230   Max.   :1.0000   Max.   :0.03810   Max.   :66.667  
     count      
 Min.   :100.0  
 1st Qu.:105.0  
 Median :117.5  
 Mean   :130.9  
 3rd Qu.:153.0  
 Max.   :223.0  

mining info:
   data ntransactions support confidence
 retail         10000    0.01        0.5
                                                                                   call
 apriori(data = retail, parameter = list(support = 0.01, confidence = 0.5, minlen = 2))

2.2.2 Inspect()

Using the inspect() function, we are able to examine all 90 rules, sorting them by lift.

inspect(sort(retail_rules, by = "lift"))
     lhs                                      rhs                                   support confidence coverage      lift count
[1]  {SHED}                                => {KEY FOB}                              0.0100  1.0000000   0.0100 66.666667   100
[2]  {BACK DOOR}                           => {KEY FOB}                              0.0101  1.0000000   0.0101 66.666667   101
[3]  {KEY FOB}                             => {SHED}                                 0.0100  0.6666667   0.0150 66.666667   100
[4]  {KEY FOB}                             => {BACK DOOR}                            0.0101  0.6733333   0.0150 66.666667   101
[5]  {WOODEN STAR CHRISTMAS SCANDINAVIAN}  => {WOODEN HEART CHRISTMAS SCANDINAVIAN}  0.0114  0.7755102   0.0147 47.577313   114
[6]  {WOODEN HEART CHRISTMAS SCANDINAVIAN} => {WOODEN STAR CHRISTMAS SCANDINAVIAN}   0.0114  0.6993865   0.0163 47.577313   114
[7]  {PINK HAPPY BIRTHDAY BUNTING}         => {BLUE HAPPY BIRTHDAY BUNTING}          0.0101  0.6778523   0.0149 46.748438   101
[8]  {BLUE HAPPY BIRTHDAY BUNTING}         => {PINK HAPPY BIRTHDAY BUNTING}          0.0101  0.6965517   0.0145 46.748438   101
[9]  {GREEN REGENCY TEACUP AND SAUCER,                                                                                         
      REGENCY CAKESTAND 3 TIER}            => {PINK REGENCY TEACUP AND SAUCER}       0.0108  0.7105263   0.0152 30.494692   108
[10] {GREEN REGENCY TEACUP AND SAUCER,                                                                                         
      ROSES REGENCY TEACUP AND SAUCER}     => {PINK REGENCY TEACUP AND SAUCER}       0.0153  0.6860987   0.0223 29.446294   153
[11] {PINK REGENCY TEACUP AND SAUCER,                                                                                          
      ROSES REGENCY TEACUP AND SAUCER}     => {GREEN REGENCY TEACUP AND SAUCER}      0.0153  0.8793103   0.0174 29.408373   153
[12] {PINK REGENCY TEACUP AND SAUCER,                                                                                          
      REGENCY CAKESTAND 3 TIER}            => {GREEN REGENCY TEACUP AND SAUCER}      0.0108  0.8709677   0.0124 29.129356   108
[13] {HAND WARMER SCOTTY DOG DESIGN}       => {HAND WARMER OWL DESIGN}               0.0104  0.5621622   0.0185 27.556969   104
[14] {HAND WARMER OWL DESIGN}              => {HAND WARMER SCOTTY DOG DESIGN}        0.0104  0.5098039   0.0204 27.556969   104
[15] {PINK REGENCY TEACUP AND SAUCER}      => {GREEN REGENCY TEACUP AND SAUCER}      0.0188  0.8068670   0.0233 26.985517   188
[16] {GREEN REGENCY TEACUP AND SAUCER}     => {PINK REGENCY TEACUP AND SAUCER}       0.0188  0.6287625   0.0299 26.985517   188
[17] {REGENCY CAKESTAND 3 TIER,                                                                                                
      ROSES REGENCY TEACUP AND SAUCER}     => {PINK REGENCY TEACUP AND SAUCER}       0.0102  0.6107784   0.0167 26.213667   102
[18] {GARDENERS KNEELING PAD CUP OF TEA}   => {GARDENERS KNEELING PAD KEEP CALM}     0.0186  0.7440000   0.0250 25.220339   186
[19] {GARDENERS KNEELING PAD KEEP CALM}    => {GARDENERS KNEELING PAD CUP OF TEA}    0.0186  0.6305085   0.0295 25.220339   186
[20] {PINK REGENCY TEACUP AND SAUCER,                                                                                          
      REGENCY CAKESTAND 3 TIER}            => {ROSES REGENCY TEACUP AND SAUCER}      0.0102  0.8225806   0.0124 24.628163   102
[21] {SPACEBOY LUNCH BOX}                  => {DOLLY GIRL LUNCH BOX}                 0.0161  0.5812274   0.0277 24.524364   161
[22] {DOLLY GIRL LUNCH BOX}                => {SPACEBOY LUNCH BOX}                   0.0161  0.6793249   0.0237 24.524364   161
[23] {REGENCY CAKESTAND 3 TIER,                                                                                                
      ROSES REGENCY TEACUP AND SAUCER}     => {GREEN REGENCY TEACUP AND SAUCER}      0.0122  0.7305389   0.0167 24.432740   122
[24] {GREEN REGENCY TEACUP AND SAUCER,                                                                                         
      PINK REGENCY TEACUP AND SAUCER}      => {ROSES REGENCY TEACUP AND SAUCER}      0.0153  0.8138298   0.0188 24.366161   153
[25] {GREEN REGENCY TEACUP AND SAUCER,                                                                                         
      REGENCY CAKESTAND 3 TIER}            => {ROSES REGENCY TEACUP AND SAUCER}      0.0122  0.8026316   0.0152 24.030886   122
[26] {PINK REGENCY TEACUP AND SAUCER}      => {ROSES REGENCY TEACUP AND SAUCER}      0.0174  0.7467811   0.0233 22.358716   174
[27] {ROSES REGENCY TEACUP AND SAUCER}     => {PINK REGENCY TEACUP AND SAUCER}       0.0174  0.5209581   0.0334 22.358716   174
[28] {ROSES REGENCY TEACUP AND SAUCER}     => {GREEN REGENCY TEACUP AND SAUCER}      0.0223  0.6676647   0.0334 22.329922   223
[29] {GREEN REGENCY TEACUP AND SAUCER}     => {ROSES REGENCY TEACUP AND SAUCER}      0.0223  0.7458194   0.0299 22.329922   223
[30] {PLASTERS IN TIN CIRCUS PARADE}       => {PLASTERS IN TIN WOODLAND ANIMALS}     0.0110  0.5263158   0.0209 22.114109   110
[31] {CHARLOTTE BAG PINK POLKADOT}         => {RED RETROSPOT CHARLOTTE BAG}          0.0120  0.6315789   0.0190 22.083180   120
[32] {ROUND SNACK BOXES SET OF 4 FRUITS}   => {ROUND SNACK BOXES SET OF4 WOODLAND}   0.0106  0.5520833   0.0192 21.995352   106
[33] {HOT WATER BOTTLE I AM SO POORLY}     => {CHOCOLATE HOT WATER BOTTLE}           0.0123  0.6275510   0.0196 21.865889   123
[34] {RED KITCHEN SCALES}                  => {IVORY KITCHEN SCALES}                 0.0119  0.6010101   0.0198 21.854913   119
[35] {JUMBO BAG PEARS}                     => {JUMBO BAG APPLES}                     0.0122  0.6455026   0.0189 21.233640   122
[36] {STRAWBERRY CHARLOTTE BAG}            => {RED RETROSPOT CHARLOTTE BAG}          0.0115  0.5502392   0.0209 19.239134   115
[37] {BAKING SET SPACEBOY DESIGN}          => {BAKING SET 9 PIECE RETROSPOT}         0.0110  0.6508876   0.0169 19.087612   110
[38] {ALARM CLOCK BAKELIKE GREEN}          => {ALARM CLOCK BAKELIKE RED}             0.0195  0.6414474   0.0304 18.866099   195
[39] {ALARM CLOCK BAKELIKE RED}            => {ALARM CLOCK BAKELIKE GREEN}           0.0195  0.5735294   0.0340 18.866099   195
[40] {ALARM CLOCK BAKELIKE IVORY}          => {ALARM CLOCK BAKELIKE RED}             0.0115  0.6388889   0.0180 18.790850   115
[41] {ALARM CLOCK BAKELIKE ORANGE}         => {ALARM CLOCK BAKELIKE RED}             0.0101  0.6352201   0.0159 18.682945   101
[42] {ALARM CLOCK BAKELIKE IVORY}          => {ALARM CLOCK BAKELIKE GREEN}           0.0102  0.5666667   0.0180 18.640351   102
[43] {ALARM CLOCK BAKELIKE PINK}           => {ALARM CLOCK BAKELIKE RED}             0.0148  0.6271186   0.0236 18.444666   148
[44] {LOVE BUILDING BLOCK WORD}            => {HOME BUILDING BLOCK WORD}             0.0107  0.5270936   0.0203 18.429846   107
[45] {HOT WATER BOTTLE TEA AND SYMPATHY}   => {CHOCOLATE HOT WATER BOTTLE}           0.0103  0.5228426   0.0197 18.217514   103
[46] {LUNCH BAG PINK POLKADOT,                                                                                                 
      LUNCH BAG SPACEBOY DESIGN}           => {LUNCH BAG CARS BLUE}                  0.0105  0.7046980   0.0149 18.115629   105
[47] {LUNCH BAG CARS BLUE,                                                                                                     
      LUNCH BAG SPACEBOY DESIGN}           => {LUNCH BAG PINK POLKADOT}              0.0105  0.6730769   0.0156 17.666061   105
[48] {LUNCH BAG RED RETROSPOT,                                                                                                 
      LUNCH BAG SPACEBOY DESIGN}           => {LUNCH BAG WOODLAND}                   0.0105  0.6069364   0.0173 17.643500   105
[49] {ALARM CLOCK BAKELIKE PINK}           => {ALARM CLOCK BAKELIKE GREEN}           0.0123  0.5211864   0.0236 17.144291   123
[50] {LUNCH BAG CARS BLUE,                                                                                                     
      LUNCH BAG RED RETROSPOT}             => {LUNCH BAG PINK POLKADOT}              0.0118  0.6519337   0.0181 17.111121   118
[51] {LUNCH BAG  BLACK SKULL,                                                                                                  
      LUNCH BAG CARS BLUE}                 => {LUNCH BAG PINK POLKADOT}              0.0106  0.6385542   0.0166 16.759953   106
[52] {LUNCH BAG RED RETROSPOT,                                                                                                 
      LUNCH BAG WOODLAND}                  => {LUNCH BAG SPACEBOY DESIGN}            0.0105  0.6140351   0.0171 16.158818   105
[53] {LUNCH BAG RED RETROSPOT,                                                                                                 
      LUNCH BAG WOODLAND}                  => {LUNCH BAG PINK POLKADOT}              0.0103  0.6023392   0.0171 15.809427   103
[54] {WOODEN FRAME ANTIQUE WHITE}          => {WOODEN PICTURE FRAME WHITE FINISH}    0.0202  0.5821326   0.0347 15.523535   202
[55] {WOODEN PICTURE FRAME WHITE FINISH}   => {WOODEN FRAME ANTIQUE WHITE}           0.0202  0.5386667   0.0375 15.523535   202
[56] {LUNCH BAG  BLACK SKULL,                                                                                                  
      LUNCH BAG PINK POLKADOT}             => {LUNCH BAG CARS BLUE}                  0.0106  0.5888889   0.0180 15.138532   106
[57] {LUNCH BAG CARS BLUE,                                                                                                     
      LUNCH BAG PINK POLKADOT}             => {LUNCH BAG SPACEBOY DESIGN}            0.0105  0.5737705   0.0183 15.099223   105
[58] {LUNCH BAG PINK POLKADOT,                                                                                                 
      LUNCH BAG RED RETROSPOT}             => {LUNCH BAG CARS BLUE}                  0.0118  0.5841584   0.0202 15.016926   118
[59] {LUNCH BAG  BLACK SKULL,                                                                                                  
      LUNCH BAG RED RETROSPOT}             => {LUNCH BAG PINK POLKADOT}              0.0118  0.5673077   0.0208 14.889966   118
[60] {LUNCH BAG PINK POLKADOT,                                                                                                 
      LUNCH BAG RED RETROSPOT}             => {LUNCH BAG WOODLAND}                   0.0103  0.5099010   0.0202 14.822703   103
[61] {LUNCH BAG DOLLY GIRL DESIGN}         => {LUNCH BAG SPACEBOY DESIGN}            0.0126  0.5478261   0.0230 14.416476   126
[62] {LUNCH BAG PINK POLKADOT,                                                                                                 
      LUNCH BAG WOODLAND}                  => {LUNCH BAG RED RETROSPOT}              0.0103  0.7463768   0.0138 14.381056   103
[63] {LUNCH BAG VINTAGE LEAF DESIGN}       => {LUNCH BAG APPLE DESIGN}               0.0114  0.5112108   0.0223 14.279630   114
[64] {LUNCH BAG PINK POLKADOT,                                                                                                 
      LUNCH BAG RED RETROSPOT}             => {LUNCH BAG  BLACK SKULL}               0.0118  0.5841584   0.0202 13.680525   118
[65] {LUNCH BAG CARS BLUE,                                                                                                     
      LUNCH BAG PINK POLKADOT}             => {LUNCH BAG  BLACK SKULL}               0.0106  0.5792350   0.0183 13.565222   106
[66] {PAINTED METAL PEARS ASSORTED}        => {ASSORTED COLOUR BIRD ORNAMENT}        0.0111  0.7302632   0.0152 13.448677   111
[67] {LUNCH BAG CARS BLUE,                                                                                                     
      LUNCH BAG RED RETROSPOT}             => {LUNCH BAG  BLACK SKULL}               0.0103  0.5690608   0.0181 13.326950   103
[68] {LUNCH BAG  BLACK SKULL,                                                                                                  
      LUNCH BAG PINK POLKADOT}             => {LUNCH BAG RED RETROSPOT}              0.0118  0.6555556   0.0180 12.631128   118
[69] {LUNCH BAG CARS BLUE,                                                                                                     
      LUNCH BAG PINK POLKADOT}             => {LUNCH BAG RED RETROSPOT}              0.0118  0.6448087   0.0183 12.424061   118
[70] {60 TEATIME FAIRY CAKE CASES}         => {PACK OF 72 RETROSPOT CAKE CASES}      0.0145  0.5350554   0.0271 12.414277   145
[71] {LUNCH BAG SPACEBOY DESIGN,                                                                                               
      LUNCH BAG WOODLAND}                  => {LUNCH BAG RED RETROSPOT}              0.0105  0.6250000   0.0168 12.042389   105
[72] {LUNCH BAG  BLACK SKULL,                                                                                                  
      LUNCH BAG CARS BLUE}                 => {LUNCH BAG RED RETROSPOT}              0.0103  0.6204819   0.0166 11.955336   103
[73] {PACK OF 72 SKULL CAKE CASES}         => {PACK OF 72 RETROSPOT CAKE CASES}      0.0108  0.5046729   0.0214 11.709348   108
[74] {LUNCH BAG PINK POLKADOT}             => {LUNCH BAG RED RETROSPOT}              0.0202  0.5301837   0.0381 10.215486   202
[75] {JUMBO BAG STRAWBERRY}                => {JUMBO BAG RED RETROSPOT}              0.0176  0.6641509   0.0265  9.897928   176
[76] {LUNCH BAG DOLLY GIRL DESIGN}         => {LUNCH BAG RED RETROSPOT}              0.0117  0.5086957   0.0230  9.801458   117
[77] {JUMBO BAG PINK POLKADOT}             => {JUMBO BAG RED RETROSPOT}              0.0222  0.5951743   0.0373  8.869959   222
[78] {JUMBO BAG SCANDINAVIAN BLUE PAISLEY} => {JUMBO BAG RED RETROSPOT}              0.0104  0.5683060   0.0183  8.469538   104
[79] {JUMBO  BAG BAROQUE BLACK WHITE}      => {JUMBO BAG RED RETROSPOT}              0.0149  0.5539033   0.0269  8.254893   149
[80] {JUMBO STORAGE BAG SUKI}              => {JUMBO BAG RED RETROSPOT}              0.0161  0.5457627   0.0295  8.133572   161
[81] {RED HANGING HEART T-LIGHT HOLDER}    => {WHITE HANGING HEART T-LIGHT HOLDER}   0.0175  0.6481481   0.0270  7.734465   175
[82] {JUMBO BAG SPACEBOY DESIGN}           => {JUMBO BAG RED RETROSPOT}              0.0102  0.5125628   0.0199  7.638790   102
[83] {PINK REGENCY TEACUP AND SAUCER,                                                                                          
      ROSES REGENCY TEACUP AND SAUCER}     => {REGENCY CAKESTAND 3 TIER}             0.0102  0.5862069   0.0174  7.563960   102
[84] {JUMBO BAG PINK VINTAGE PAISLEY}      => {JUMBO BAG RED RETROSPOT}              0.0125  0.5040323   0.0248  7.511658   125
[85] {JUMBO SHOPPER VINTAGE RED PAISLEY}   => {JUMBO BAG RED RETROSPOT}              0.0157  0.5000000   0.0314  7.451565   157
[86] {GREEN REGENCY TEACUP AND SAUCER,                                                                                         
      PINK REGENCY TEACUP AND SAUCER}      => {REGENCY CAKESTAND 3 TIER}             0.0108  0.5744681   0.0188  7.412491   108
[87] {GREEN REGENCY TEACUP AND SAUCER,                                                                                         
      ROSES REGENCY TEACUP AND SAUCER}     => {REGENCY CAKESTAND 3 TIER}             0.0122  0.5470852   0.0223  7.059164   122
[88] {PINK REGENCY TEACUP AND SAUCER}      => {REGENCY CAKESTAND 3 TIER}             0.0124  0.5321888   0.0233  6.866953   124
[89] {GREEN REGENCY TEACUP AND SAUCER}     => {REGENCY CAKESTAND 3 TIER}             0.0152  0.5083612   0.0299  6.559499   152
[90] {ROSES REGENCY TEACUP AND SAUCER}     => {REGENCY CAKESTAND 3 TIER}             0.0167  0.5000000   0.0334  6.451613   167

The first rule on the list is {SHED}=>{KEY FOB}. This means that if a customer buys a shed, they will also buy a key fob. The rule has the following statistics:

  1. support = 0.0100 / This rule covers 1% of transactions.
  2. confidence = 1.0 / This rule is correct in 100% of purchases involving sheds.
  3. lift = 66.6 / If a transaction contains a shed, it is 66.6 times more likely to also include a key fob.

However, this rule can be deemed “trivial” meaning it is too obvious to be of any use. Some other trivial rules identified are:

  • Rule 2 {BACK DOOR} => {KEY FOB}. Similarly to {SHED} => {KEY FOB}, it is logical to assume if purchasing a back door one will look for a key fob to go with it.

  • Rule 54 {WOODEN FRAME ANTIQUE WHITE} => {WOODEN PICTURE FRAME WHITE FINISH}. The item names suggest that these two items are both picture frames and are both white. It’s logical to assume that an individual seeking to purchase white decorations for their house will most likely seek white decorations which are similar but not identical.

  • Rule 44 {LOVE BUILDING BLOCK WORD} => {HOME BUILDING BLOCK WORD}. These items appear to be decorations of similar style. It is logical to assume that customers will likely purchase more than 1 type of decoration of similar style to create symmetry and aesthetic.

There are other rules which can be deemed “actionable”, meaning they are of interest and can be acted on. Some actionable rules identified are:

  • Rule 21 {SPACEBOY LUNCH BOX} => {DOLLY GIRL LUNCH BOX}. Lift = 24.5

Although these items are closely related, the variations seem to be for a boy & girl. There is no logical reasoning why the rule specifies these variations of the product, which makes the rule insightful. Individuals buying this combination are likely parents, and this information is useful for segmentation efforts. The particular item set could be sold as a bundle offer to this particular segment.

  • Rule 13 {HAND WARMER SCOTTY DOG DESIGN} => {HAND WARMER OWL DESIGN}. Lift = 27.5

Similarly to rule 21, these items are closely related however the variations are different. There is no logical reason why these two designs are a better pair than others, however the data suggests so. These items could also be sold as a bundle offer, or individuals who purchase just the Scotty Dog design could be recommended the Owl design through the website or email marketing.

  • Rule 33 {HOT WATER BOTTLE I AM SO POORLY} => {CHOCOLATE HOT WATER BOTTLE}. Lift = 21.8

Again, the rule specifies that this item set is a good match however there is no logical reasoning why it is better than other item sets. These items can be bundled together, cross-sold at checkout or recommended through targeted email campaigns.

2.2.3 Inspect() With Specific Item

The inspect() function also allows for a drill down into rules containing a specific item. For example, we can look at all items that are likely to be purchased with “PINK REGENCY TEACUP AND SAUCER”.

pink_rules <- subset(retail_rules, items %in% "PINK REGENCY TEACUP AND SAUCER")
inspect(pink_rules)
     lhs                                   rhs                               support confidence coverage      lift count
[1]  {PINK REGENCY TEACUP AND SAUCER}   => {GREEN REGENCY TEACUP AND SAUCER}  0.0188  0.8068670   0.0233 26.985517   188
[2]  {GREEN REGENCY TEACUP AND SAUCER}  => {PINK REGENCY TEACUP AND SAUCER}   0.0188  0.6287625   0.0299 26.985517   188
[3]  {PINK REGENCY TEACUP AND SAUCER}   => {ROSES REGENCY TEACUP AND SAUCER}  0.0174  0.7467811   0.0233 22.358716   174
[4]  {ROSES REGENCY TEACUP AND SAUCER}  => {PINK REGENCY TEACUP AND SAUCER}   0.0174  0.5209581   0.0334 22.358716   174
[5]  {PINK REGENCY TEACUP AND SAUCER}   => {REGENCY CAKESTAND 3 TIER}         0.0124  0.5321888   0.0233  6.866953   124
[6]  {GREEN REGENCY TEACUP AND SAUCER,                                                                                  
      PINK REGENCY TEACUP AND SAUCER}   => {ROSES REGENCY TEACUP AND SAUCER}  0.0153  0.8138298   0.0188 24.366161   153
[7]  {PINK REGENCY TEACUP AND SAUCER,                                                                                   
      ROSES REGENCY TEACUP AND SAUCER}  => {GREEN REGENCY TEACUP AND SAUCER}  0.0153  0.8793103   0.0174 29.408373   153
[8]  {GREEN REGENCY TEACUP AND SAUCER,                                                                                  
      ROSES REGENCY TEACUP AND SAUCER}  => {PINK REGENCY TEACUP AND SAUCER}   0.0153  0.6860987   0.0223 29.446294   153
[9]  {GREEN REGENCY TEACUP AND SAUCER,                                                                                  
      PINK REGENCY TEACUP AND SAUCER}   => {REGENCY CAKESTAND 3 TIER}         0.0108  0.5744681   0.0188  7.412491   108
[10] {PINK REGENCY TEACUP AND SAUCER,                                                                                   
      REGENCY CAKESTAND 3 TIER}         => {GREEN REGENCY TEACUP AND SAUCER}  0.0108  0.8709677   0.0124 29.129356   108
[11] {GREEN REGENCY TEACUP AND SAUCER,                                                                                  
      REGENCY CAKESTAND 3 TIER}         => {PINK REGENCY TEACUP AND SAUCER}   0.0108  0.7105263   0.0152 30.494692   108
[12] {PINK REGENCY TEACUP AND SAUCER,                                                                                   
      ROSES REGENCY TEACUP AND SAUCER}  => {REGENCY CAKESTAND 3 TIER}         0.0102  0.5862069   0.0174  7.563960   102
[13] {PINK REGENCY TEACUP AND SAUCER,                                                                                   
      REGENCY CAKESTAND 3 TIER}         => {ROSES REGENCY TEACUP AND SAUCER}  0.0102  0.8225806   0.0124 24.628163   102
[14] {REGENCY CAKESTAND 3 TIER,                                                                                         
      ROSES REGENCY TEACUP AND SAUCER}  => {PINK REGENCY TEACUP AND SAUCER}   0.0102  0.6107784   0.0167 26.213667   102

As seen from the output above, the items most likely to be purchased alongside PINK REGENCY TEACUP AND SAUCER are:

1. GREEN REGENCY TEACUP AND SAUCER

2. ROSES REGENCY TEACUP AND SAUCER

3. REGENCY CAKESTAND 3 TIER

3 Collaborative Filtering

Collaborative Filtering will be performed in this section.

steam_ratings <- read_csv("steam_ratings.csv")
steam_ratings <- as(steam_ratings, "matrix")
steam_ratings <- as(steam_ratings, "realRatingMatrix")

3.1 Exploration

The output below showcases the distribution of game ratings. The 0 value corresponds to missing ratings, therefore we will ignore those.

The least common rating was 5, and is almost on par with 1. However the most common rating was 3, closely followed by 2 which is slightly worrying and could suggest that the quality of the games are not great.

vector_ratings <- as.vector(steam_ratings@data)

table(vector_ratings)
vector_ratings
      0       1       2       3       4       5 
3236066    4773   12500   19762   10655    4724 

3.1.1 Histogram Of Average Game Ratings

To get a stronger picture of the data, a histogram was created showcasing the distribution of the average rating given to each game.

We can see that the distribution is mostly bell shaped, with majority of ratings being concentrated between 3 and 4.

colMeans(steam_ratings) %>%
  tibble::enframe(name = "game", value = "game_rating") %>%
  ggplot() +
  geom_histogram(mapping = aes(x = game_rating), color = "white")

3.1.2 Histogram Of Total Games Rated

Another histogram was created to view the distribution of how many times games were rated.

Seen below, it showcases a skewed distribution from which we can see that the majority of games were rated between 5 to 20 times. Games were rated up to over 100 times, however this was uncommon.

rowCounts(steam_ratings) %>%
  tibble::enframe(name = "game", value = "times_rated") %>%
  ggplot() +
  geom_histogram(mapping = aes(x = times_rated), color = "white", binwidth = 5)

3.2 Modelling

In this section our data will be prepared and the collaborative filtering models will be built followed by an evaluation.

3.2.1 Splitting Data Test/Training

Our data is split into training and testing data sets for the purpose of model training and testing. The testing data set is also further split into two data sets.

set.seed(101)
eval_games <- evaluationScheme(data = steam_ratings,
                                method = "split",
                                train = 0.8,
                                given = 6,
                                goodRating = 3)

train_games <- getData(eval_games, "train")
known_games <- getData(eval_games, "known")
unknown_games <- getData(eval_games, "unknown")

3.2.2 User Based Collaborative Filtering (UBCF)

After building, training and testing the UBCF model, the output below showcases the Root Mean Squared Error (RMSE), Mean Absolute Error (MAE), and Mean Squared Error (MSE). For the purpose of this analysis, we will focus on the MAE score as it is generally the most intuitive and relevant.

With an MAE score of 0.92, the model’s predicted ratings are off by approximately 0.92 of a rating on average. This is a satisfactory result.

ubcf_model <- Recommender(data = train_games,
                          method = "UBCF", 
                          parameter = list(normalize = "center", method = "Cosine"))

ubcf_predict <- predict(object = ubcf_model,
                        newdata = known_games, 
                        type = "ratings")

ubcf_eval <- calcPredictionAccuracy(x = ubcf_predict,
                                    data = unknown_games)
ubcf_eval
     RMSE       MSE       MAE 
1.1697655 1.3683514 0.9183398 

3.2.3 Item Based Collaborative Filtering (IBCF)

The IBCF model is evaluated by the same metrics as the UBCF model. After building and testing the model, the output below showcases its accuracy.

The results show a MAE value of 1.17, which translates to the model’s accuracy being off by approximately 1.17 on average. This is a higher score than the UBCF model meaning it is less accurate

ibcf_model <- Recommender(data = train_games,
                          method = "IBCF", 
                          parameter = list(normalize = "center", method = "Cosine"))

ibcf_predict <- predict(object = ibcf_model,
                        newdata = known_games, 
                        type = "ratings")

ibcf_eval <- calcPredictionAccuracy(x = ibcf_predict,
                                    data = unknown_games)

ibcf_eval
    RMSE      MSE      MAE 
1.500713 2.252139 1.165198 

3.3 Recommendations

From the testing carried out above, the UBCF model appears to be more accurate and produce less error on average. Therefore, Steam should implement this model over the IBCF model.

Using the UBCF model, 3 game recommendations are generated for all users. The first 5 users are recommended to play:

User 1 - “Frozen Hearth” “FINAL FANTASY VII” and “HAWKEN”

User 2 - “Loadout Campaign Beta” “Royal Quest” and “Villagers and Heroes”

User 3 - “Hitman Blood Money” “Sonic Adventure 2” and “Time Clickers”

User 4 - “The Ultimate DOOM” “Door Kickers” and “Train Fever”

User 5 - “Sonic Adventure 2” “Quake Live” and “Royal Quest”

With the power of the UBCF model, Steam can focus on serving valuable and relevant game suggestions to its users. These recommendations can be served in a variety of touch points, such as email, checkout or simply when users are browsing. Personalized content is aimed to increase user engagement and sales by showcasing games which likely to be rated highly by the user.

ubcf_recs <- predict(object = ubcf_model,
                     newdata = known_games,
                     type = "topNList",
                     n = 3)


as(ubcf_recs, "list")[1:5]
$`0`
[1] "Frozen Hearth"     "FINAL FANTASY VII" "HAWKEN"           

$`1`
[1] "Loadout Campaign Beta" "Royal Quest"           "Villagers and Heroes" 

$`2`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Time Clickers"     

$`3`
[1] "The Ultimate DOOM" "Door Kickers"      "Train Fever"      

$`4`
[1] "Sonic Adventure 2" "Quake Live"        "Royal Quest"      

The full list of recommendations can be viewed below

as(ubcf_recs, "list")
$`0`
[1] "Frozen Hearth"     "FINAL FANTASY VII" "HAWKEN"           

$`1`
[1] "Loadout Campaign Beta" "Royal Quest"           "Villagers and Heroes" 

$`2`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Time Clickers"     

$`3`
[1] "The Ultimate DOOM" "Door Kickers"      "Train Fever"      

$`4`
[1] "Sonic Adventure 2" "Quake Live"        "Royal Quest"      

$`5`
[1] "Hitman Blood Money" "Frozen Hearth"      "Bridge Constructor"

$`6`
[1] "WAKFU"             "Far Cry 2"         "FINAL FANTASY VII"

$`7`
[1] "Hitman Blood Money" "Stranded Deep"      "TerraTech"         

$`8`
[1] "Hitman Blood Money" "Time Clickers"      "X-COM UFO Defense" 

$`9`
[1] "Hitman Blood Money" "8BitMMO"            "Geometry Dash"     

$`10`
[1] "Sonic Adventure 2" "Quake Live"        "The Ultimate DOOM"

$`11`
character(0)

$`12`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`13`
[1] "Hitman Blood Money"    "Loadout Campaign Beta" "Creativerse"          

$`14`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`15`
[1] "Outlast"                       "South Park The Stick of Truth"
[3] "Blocks That Matter"           

$`16`
[1] "Stranded Deep"        "Royal Quest"          "Villagers and Heroes"

$`17`
[1] "Far Cry 2"                                
[2] "Quake Live"                               
[3] "Back to the Future Ep 1 - It's About Time"

$`18`
character(0)

$`19`
character(0)

$`20`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`21`
[1] "The Ultimate DOOM" "Door Kickers"      "Train Fever"      

$`22`
[1] "Brawlhalla"                                      
[2] "NARUTO SHIPPUDEN Ultimate Ninja STORM Revolution"
[3] "Bulletstorm"                                     

$`23`
[1] "Time Clickers"     "X-COM UFO Defense" "Frozen Hearth"    

$`24`
[1] "Fallout 2"                "FlatOut Ultimate Carnage"
[3] "GRID"                    

$`25`
[1] "Gone Home"                    "IL-2 Sturmovik 1946"         
[3] "Red Orchestra Ostfront 41-45"

$`26`
[1] "Driver San Francisco" "Sacred 2 Gold"        "Renegade Ops"        

$`27`
[1] "Frozen Hearth" "TerraTech"     "Jamestown"    

$`28`
[1] "Hitman Blood Money" "Time Clickers"      "X-COM UFO Defense" 

$`29`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`30`
[1] "Super Crate Box"   "Time Clickers"     "X-COM UFO Defense"

$`31`
[1] "Trials Evolution Gold Edition"                                               
[2] "Valiant Hearts The Great War / Soldats Inconnus  Mmoires de la Grande Guerre"
[3] "Jamestown"                                                                   

$`32`
[1] "Betrayer"          "Dungeon Siege III" "Grey Goo"         

$`33`
[1] "Stranded Deep"                            
[2] "The Ultimate DOOM"                        
[3] "Back to the Future Ep 1 - It's About Time"

$`34`
[1] "Floating Point" "Miasmata"       "Overgrowth"    

$`35`
[1] "The Ultimate DOOM" "HELLDIVERS"        "Shadow Warrior"   

$`36`
[1] "Sid Meier's Railroads!" "Floating Point"         "Miasmata"              

$`37`
[1] "Far Cry 2"     "Frozen Hearth" "TerraTech"    

$`38`
[1] "LIMBO"                                      
[2] "Super Crate Box"                            
[3] "ACE COMBAT ASSAULT HORIZON Enhanced Edition"

$`39`
[1] "Royal Quest"                             
[2] "Villagers and Heroes"                    
[3] "Sid Meier's Civilization IV Colonization"

$`40`
[1] "Batla"                 "Loadout Campaign Beta" "Frozen Hearth"        

$`41`
[1] "Hitman Blood Money" "Stranded Deep"      "X-COM UFO Defense" 

$`42`
[1] "Far Cry 2"                               
[2] "Sid Meier's Civilization IV Colonization"
[3] "Sid Meier's Railroads!"                  

$`43`
[1] "Resident Evil 6 / Biohazard 6" "Bridge Constructor"           
[3] "Car Mechanic Simulator 2014"  

$`44`
[1] "Time Clickers"     "X-COM UFO Defense" "The Ultimate DOOM"

$`45`
[1] "Stranded Deep"     "Sonic Adventure 2" "X-COM UFO Defense"

$`46`
[1] "Sonic Adventure 2" "Time Clickers"     "X-COM UFO Defense"

$`47`
[1] "Stranded Deep"     "Sonic Adventure 2" "X-COM UFO Defense"

$`48`
[1] "Stranded Deep" "Frozen Hearth" "TerraTech"    

$`49`
[1] "Sonic Adventure 2"          "Arma 2 Operation Arrowhead"
[3] "Frozen Hearth"             

$`50`
[1] "Sonic Adventure 2"             "Resident Evil 6 / Biohazard 6"
[3] "TerraTech"                    

$`51`
[1] "Undertale"             "FINAL FANTASY VII"     "Tactical Intervention"

$`52`
[1] "S.K.I.L.L. - Special Force 2" "Far Cry 2"                   
[3] "Mirror's Edge"               

$`53`
[1] "Super Crate Box"             "Batla"                      
[3] "The Walking Dead Season Two"

$`54`
[1] "Sonic Adventure 2" "Time Clickers"     "X-COM UFO Defense"

$`55`
[1] "Hitman Blood Money" "Stranded Deep"      "Audiosurf"         

$`56`
[1] "Far Cry 2"                                                                   
[2] "God Mode"                                                                    
[3] "Valiant Hearts The Great War / Soldats Inconnus  Mmoires de la Grande Guerre"

$`57`
[1] "Door Kickers"   "Train Fever"    "Floating Point"

$`58`
[1] "The Ultimate DOOM" "HELLDIVERS"        "Shadow Warrior"   

$`59`
character(0)

$`60`
[1] "Anno 2070"                          "Might & Magic Heroes VI"           
[3] "Patrician IV Steam Special Edition"

$`61`
[1] "Resident Evil 6 / Biohazard 6" "8BitMMO"                      
[3] "Geometry Dash"                

$`62`
[1] "Torchlight"     "God Mode"       "Floating Point"

$`63`
[1] "Hitman Blood Money" "Stranded Deep"      "X-COM UFO Defense" 

$`64`
[1] "Floating Point" "Miasmata"       "Overgrowth"    

$`65`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`66`
[1] "The Ultimate DOOM" "Floating Point"    "Miasmata"         

$`67`
[1] "You Have to Win the Game"   "Call of Duty Black Ops III"
[3] "Gothic 3"                  

$`68`
[1] "Stranded Deep"     "Sonic Adventure 2" "The Ultimate DOOM"

$`69`
[1] "The Vanishing of Ethan Carter"            
[2] "Adventures of Shuggy"                     
[3] "Back to the Future Ep 1 - It's About Time"

$`70`
[1] "The Walking Dead Season Two" "Killer is Dead"             
[3] "Door Kickers"               

$`71`
[1] "Time Clickers"     "X-COM UFO Defense" "The Ultimate DOOM"

$`72`
[1] "Bridge Constructor"          "Car Mechanic Simulator 2014"
[3] "Ace of Spades"              

$`73`
[1] "Brawlhalla"      "Dragomon Hunter" "Arma 2 Free"    

$`74`
[1] "Batla"                                  
[2] "Tom Clancy's Ghost Recon Future Soldier"
[3] "Just Cause 3"                           

$`75`
[1] "WAKFU"             "The Ultimate DOOM" "Dungeon Siege"    

$`76`
[1] "Far Cry 2"                                
[2] "Back to the Future Ep 1 - It's About Time"
[3] "Indie Game The Movie"                     

$`77`
[1] "Evoland"                                            
[2] "Half Minute Hero Super Mega Neo Climax Ultimate Boy"
[3] "LISA"                                               

$`78`
[1] "Sonic Adventure 2"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`79`
[1] "The Ultimate DOOM"                        
[2] "Back to the Future Ep 1 - It's About Time"
[3] "Indie Game The Movie"                     

$`80`
character(0)

$`81`
[1] "Stranded Deep"                              
[2] "ACE COMBAT ASSAULT HORIZON Enhanced Edition"
[3] "F1 2014"                                    

$`82`
[1] "HELLDIVERS"                       "Shadow Warrior"                  
[3] "Tiny and Big Grandpa's Leftovers"

$`83`
[1] "Back to the Future Ep 1 - It's About Time"
[2] "Indie Game The Movie"                     
[3] "Bridge Constructor"                       

$`84`
[1] "UberStrike"         "Hitman Blood Money" "TerraTech"         

$`85`
[1] "Evoland"                                            
[2] "Half Minute Hero Super Mega Neo Climax Ultimate Boy"
[3] "LISA"                                               

$`86`
[1] "Loadout Campaign Beta" "Tactical Intervention" "H1Z1"                 

$`87`
[1] "Miasmata"                                 
[2] "Overgrowth"                               
[3] "Back to the Future Ep 1 - It's About Time"

$`88`
[1] "Hitman Blood Money" "The Ultimate DOOM"  "Lethal League"     

$`89`
[1] "Sonic Adventure 2"             "Resident Evil 6 / Biohazard 6"
[3] "Bridge Constructor"           

$`90`
[1] "Hitman Blood Money"                       
[2] "Assassin's Creed Brotherhood"             
[3] "Back to the Future Ep 1 - It's About Time"

$`91`
[1] "Gotham City Impostors Free To Play"       
[2] "Assassin's Creed Brotherhood"             
[3] "Back to the Future Ep 1 - It's About Time"

$`92`
[1] "Teenage Mutant Ninja Turtles Out of the Shadows"
[2] "Transformers Fall of Cybertron"                 
[3] "Heroes of Might & Magic V Tribes of the East"   

$`93`
[1] "WAKFU"        "Quake Live"   "Door Kickers"

$`94`
[1] "Time Clickers"      "X-COM UFO Defense"  "Bridge Constructor"

$`95`
[1] "Loadout Campaign Beta" "FINAL FANTASY VII"     "Floating Point"       

$`96`
[1] "Quake Live"                                         
[2] "Evoland"                                            
[3] "Half Minute Hero Super Mega Neo Climax Ultimate Boy"

$`97`
[1] "The Ultimate DOOM" "Frozen Hearth"     "Door Kickers"     

$`98`
[1] "Super Crate Box"                "Scania Truck Driving Simulator"
[3] "The Ultimate DOOM"             

$`99`
[1] "Sonic Adventure 2" "Quake Live"        "The Ultimate DOOM"

$`100`
[1] "Sonic Adventure 2" "The Ultimate DOOM" "Door Kickers"     

$`101`
[1] "Time Clickers"     "X-COM UFO Defense" "All Is Dust"      

$`102`
[1] "Time Clickers"     "X-COM UFO Defense" "WAKFU"            

$`103`
[1] "Frozen Hearth" "Door Kickers"  "Train Fever"  

$`104`
[1] "Sonic Adventure 2" "X-COM UFO Defense" "Royal Quest"      

$`105`
[1] "God Mode"                                           
[2] "Bulletstorm"                                        
[3] "Half Minute Hero Super Mega Neo Climax Ultimate Boy"

$`106`
[1] "Hitman Blood Money" "Time Clickers"      "X-COM UFO Defense" 

$`107`
[1] "The Walking Dead Season Two" "Undertale"                  
[3] "Brick-Force"                

$`108`
character(0)

$`109`
[1] "The Ultimate DOOM"                        
[2] "Back to the Future Ep 1 - It's About Time"
[3] "Indie Game The Movie"                     

$`110`
[1] "8BitMMO"             "Geometry Dash"       "LEGO Jurassic World"

$`111`
character(0)

$`112`
[1] "Stranded Deep"     "X-COM UFO Defense" "Frozen Hearth"    

$`113`
[1] "Mortal Online" "Verdun"        "Wings of Prey"

$`114`
[1] "EVE Online"                   "Savant - Ascent"             
[3] "Assassin's Creed Brotherhood"

$`115`
[1] "God Mode"           "Botanicula"         "EVGA PrecisionX 16"

$`116`
[1] "Super Crate Box" "TerraTech"       "LIMBO"          

$`117`
[1] "Batla"          "Audiosurf"      "Killer is Dead"

$`118`
[1] "Stranded Deep"     "FINAL FANTASY VII" "Dungeon Siege"    

$`119`
[1] "Time Clickers"     "The Ultimate DOOM" "All Is Dust"      

$`120`
[1] "The Walking Dead Season Two"             
[2] "God Mode"                                
[3] "Sid Meier's Civilization IV Colonization"

$`121`
[1] "Stranded Deep"     "Sonic Adventure 2" "TerraTech"        

$`122`
[1] "Stranded Deep"                "Sonic Adventure 2"           
[3] "Assassin's Creed Brotherhood"

$`123`
[1] "Operation Flashpoint Dragon Rising"       
[2] "Ultimate General Gettysburg"              
[3] "Back to the Future Ep 1 - It's About Time"

$`124`
[1] "Loadout Campaign Beta" "The Ultimate DOOM"     "Royal Quest"          

$`125`
[1] "Proteus"                        "Killer is Dead"                
[3] "Commandos 3 Destination Berlin"

$`126`
[1] "Floating Point" "Miasmata"       "Overgrowth"    

$`127`
[1] "You Have to Win the Game" "Bulletstorm"             
[3] "Evoland"                 

$`128`
[1] "Far Cry 2"    "Door Kickers" "Train Fever" 

$`129`
character(0)

$`130`
[1] "Sonic Adventure 2"            "The Ultimate DOOM"           
[3] "Assassin's Creed Brotherhood"

$`131`
[1] "The Ultimate DOOM"                  "Gotham City Impostors Free To Play"
[3] "Door Kickers"                      

$`132`
[1] "Loadout Campaign Beta" "Fable Anniversary"     "Mad Max"              

$`133`
[1] "S.K.I.L.L. - Special Force 2" "Far Cry 2"                   
[3] "Royal Quest"                 

$`134`
[1] "Bridge Constructor"          "Car Mechanic Simulator 2014"
[3] "Bloody Trapland"            

$`135`
[1] "Stranded Deep"                            
[2] "The Ultimate DOOM"                        
[3] "Back to the Future Ep 1 - It's About Time"

$`136`
[1] "Stranded Deep" "Door Kickers"  "Train Fever"  

$`137`
character(0)

$`138`
[1] "Undertale"                   "Gothic 3"                   
[3] "Survival Postapocalypse Now"

$`139`
[1] "Sonic Adventure 2"              "Scania Truck Driving Simulator"
[3] "Far Cry 2"                     

$`140`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "X-COM UFO Defense" 

$`141`
[1] "Hitman Blood Money" "X-COM UFO Defense"  "Frozen Hearth"     

$`142`
[1] "Super Crate Box"   "X-COM UFO Defense" "Quake Live"       

$`143`
[1] "Time Clickers"     "X-COM UFO Defense" "Far Cry 2"        

$`144`
[1] "WAKFU"        "All Is Dust"  "Door Kickers"

$`145`
[1] "Time Clickers" "Door Kickers"  "Train Fever"  

$`146`
[1] "Sonic Adventure 2"             "Resident Evil 6 / Biohazard 6"
[3] "Bridge Constructor"           

$`147`
[1] "HELLDIVERS"                       "Shadow Warrior"                  
[3] "Tiny and Big Grandpa's Leftovers"

$`148`
[1] "Gothic 3"                    "Survival Postapocalypse Now"
[3] "Floating Point"             

$`149`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`150`
[1] "Dragomon Hunter"                 "Arma 2 Private Military Company"
[3] "Peggle Extreme"                 

$`151`
[1] "Stranded Deep" "Jamestown"     "Lethal League"

$`152`
[1] "Killer is Dead"                                     
[2] "Half Minute Hero Super Mega Neo Climax Ultimate Boy"
[3] "LISA"                                               

$`153`
[1] "Torchlight" "Vindictus"  "God Mode"  

$`154`
[1] "Super Crate Box" "Quake Live"      "Royal Quest"    

$`155`
[1] "UberStrike"            "Guns of Icarus Online" "The Beginner's Guide" 

$`156`
[1] "Sid Meier's Civilization IV Colonization"
[2] "Sid Meier's Railroads!"                  
[3] "Resident Evil 6 / Biohazard 6"           

$`157`
[1] "Sonic Adventure 2"                        
[2] "Assassin's Creed Brotherhood"             
[3] "Back to the Future Ep 1 - It's About Time"

$`158`
[1] "Super Crate Box"    "Hitman Blood Money" "Royal Quest"       

$`159`
[1] "Stranded Deep"        "Royal Quest"          "Villagers and Heroes"

$`160`
[1] "The Maw"                          "Keep Talking and Nobody Explodes"
[3] "Knights of Pen and Paper +1"     

$`161`
[1] "EVGA PrecisionX 16"    "Gotham City Impostors" "Peggle Deluxe"        

$`162`
[1] "Sid Meier's Railroads!" "Door Kickers"           "Train Fever"           

$`163`
[1] "Hitman Blood Money" "Half-Life Source"   "Sonic Adventure 2" 

$`164`
[1] "HELLDIVERS"                       "Shadow Warrior"                  
[3] "Tiny and Big Grandpa's Leftovers"

$`165`
[1] "Super Crate Box"   "X-COM UFO Defense" "Royal Quest"      

$`166`
[1] "Dragomon Hunter"                    "Prince of Persia The Sands of Time"
[3] "Ragnarok"                          

$`167`
[1] "Frozen Hearth"      "TerraTech"          "Bridge Constructor"

$`168`
[1] "Door Kickers"                     "HELLDIVERS"                      
[3] "Tiny and Big Grandpa's Leftovers"

$`169`
[1] "UberStrike"         "Hitman Blood Money" "TerraTech"         

$`170`
[1] "Loadout Campaign Beta"      "Call of Duty Black Ops III"
[3] "Royal Quest"               

$`171`
[1] "Time Clickers"     "X-COM UFO Defense" "FINAL FANTASY VII"

$`172`
[1] "UberStrike"         "Hitman Blood Money" "TerraTech"         

$`173`
[1] "Hatred"          "Super Crate Box" "Nuclear Dawn"   

$`174`
[1] "The Ultimate DOOM" "Door Kickers"      "Train Fever"      

$`175`
character(0)

$`176`
[1] "Stranded Deep" "Door Kickers"  "Train Fever"  

$`177`
[1] "Serious Sam HD The First Encounter"          
[2] "Block N Load"                                
[3] "Boring Man - Online Tactical Stickman Combat"

$`178`
[1] "Floating Point" "Miasmata"       "Overgrowth"    

$`179`
[1] "SpaceChem"        "Fistful of Frags" "Rocksmith"       

$`180`
[1] "The Ultimate DOOM"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`181`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Jamestown"         

$`182`
[1] "Back to the Future Ep 1 - It's About Time"
[2] "Indie Game The Movie"                     
[3] "Kerbal Space Program"                     

$`183`
[1] "Gothic 3"                    "Survival Postapocalypse Now"
[3] "TerraTech"                  

$`184`
[1] "FINAL FANTASY VII"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`185`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`186`
[1] "Time Clickers"     "X-COM UFO Defense" "Door Kickers"     

$`187`
character(0)

$`188`
[1] "Creativerse"                              
[2] "FINAL FANTASY VII"                        
[3] "Back to the Future Ep 1 - It's About Time"

$`189`
[1] "Sonic Adventure 2" "TerraTech"         "Jamestown"        

$`190`
[1] "God Mode"          "The Ultimate DOOM" "Combat Arms"      

$`191`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`192`
[1] "TDP4Team Battle" "Dead Island"     "Frozen Synapse" 

$`193`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`194`
[1] "Scania Truck Driving Simulator" "Door Kickers"                  
[3] "Train Fever"                   

$`195`
[1] "Super Crate Box" "Quake Live"      "Frozen Hearth"  

$`196`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Royal Quest"       

$`197`
[1] "S.K.I.L.L. - Special Force 2" "Floating Point"              
[3] "Miasmata"                    

$`198`
character(0)

$`199`
[1] "S.K.I.L.L. - Special Force 2" "The Maw"                     
[3] "Eternal Silence"             

$`200`
[1] "Hitman Blood Money"            "Frozen Hearth"                
[3] "Resident Evil 6 / Biohazard 6"

$`201`
[1] "Sonic Adventure 2"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`202`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Time Clickers"     

$`203`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`204`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "X-COM UFO Defense" 

$`205`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "The Ultimate DOOM" 

$`206`
[1] "Indie Game The Movie" "Lunar Flight"         "Wizorb"              

$`207`
[1] "Knights of Pen and Paper +1" "Ultimate General Gettysburg"
[3] "Quake"                      

$`208`
[1] "ACE COMBAT ASSAULT HORIZON Enhanced Edition"
[2] "F1 2014"                                    
[3] "Outlast"                                    

$`209`
[1] "Hitman Blood Money" "Half-Life Source"   "Sonic Adventure 2" 

$`210`
[1] "Stranded Deep"        "Royal Quest"          "Villagers and Heroes"

$`211`
[1] "Sonic Adventure 2"                        
[2] "Assassin's Creed Brotherhood"             
[3] "Back to the Future Ep 1 - It's About Time"

$`212`
[1] "Quake Live"                    "FINAL FANTASY VII"            
[3] "Resident Evil 6 / Biohazard 6"

$`213`
[1] "Time Clickers"     "X-COM UFO Defense" "The Ultimate DOOM"

$`214`
[1] "TerraTech"                      "Alan Wake's American Nightmare"
[3] "Eufloria"                      

$`215`
[1] "Far Cry 2"            "Royal Quest"          "Villagers and Heroes"

$`216`
[1] "Quake Live"     "Floating Point" "Miasmata"      

$`217`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`218`
[1] "Stranded Deep"     "Sonic Adventure 2" "Far Cry 2"        

$`219`
character(0)

$`220`
[1] "UberStrike" "Hatred"     "Deadbreed" 

$`221`
[1] "Sonic Adventure 2"                        
[2] "Quake Live"                               
[3] "Back to the Future Ep 1 - It's About Time"

$`222`
[1] "WAKFU"                                    
[2] "Back to the Future Ep 1 - It's About Time"
[3] "Indie Game The Movie"                     

$`223`
[1] "Sid Meier's Civilization IV Colonization"
[2] "Sid Meier's Railroads!"                  
[3] "Resident Evil 6 / Biohazard 6"           

$`224`
character(0)

$`225`
[1] "TerraTech"     "Ace of Spades" "Defy Gravity" 

$`226`
[1] "Undertale"         "FINAL FANTASY VII" "Fable Anniversary"

$`227`
character(0)

$`228`
[1] "Frozen Hearth"  "Floating Point" "Miasmata"      

$`229`
[1] "Scania Truck Driving Simulator" "Bulletstorm"                   
[3] "Evoland"                       

$`230`
[1] "Sonic Adventure 2"              "Scania Truck Driving Simulator"
[3] "Jamestown"                     

$`231`
[1] "FreeStyle2 Street Basketball"             
[2] "Adventures of Shuggy"                     
[3] "Back to the Future Ep 1 - It's About Time"

$`232`
[1] "Operation Flashpoint Dragon Rising" "Ultimate General Gettysburg"       
[3] "Adventures of Shuggy"              

$`233`
[1] "Sonic Adventure 2" "Floating Point"    "Miasmata"         

$`234`
[1] "Braid"                  "Plague Inc Evolved"     "GunZ 2 The Second Duel"

$`235`
[1] "The Ultimate DOOM" "Door Kickers"      "Train Fever"      

$`236`
[1] "Far Cry 2"   "All Is Dust" "Jamestown"  

$`237`
[1] "Time Clickers"     "X-COM UFO Defense" "Door Kickers"     

$`238`
[1] "ArcaniA"                                     
[2] "ENSLAVED Odyssey to the West Premium Edition"
[3] "Kingdoms of Amalur Reckoning"                

$`239`
[1] "UberStrike"        "Time Clickers"     "X-COM UFO Defense"

$`240`
[1] "Half-Life Source"  "Time Clickers"     "X-COM UFO Defense"

$`241`
[1] "Sonic Adventure 2"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`242`
[1] "Sonic Adventure 2" "Time Clickers"     "X-COM UFO Defense"

$`243`
[1] "Sonic Adventure 2" "Quake Live"        "The Ultimate DOOM"

$`244`
[1] "FlatOut Ultimate Carnage" "GRID"                    
[3] "Shatter"                 

$`245`
[1] "Loadout Campaign Beta" "The Ultimate DOOM"     "Frozen Hearth"        

$`246`
[1] "X-COM UFO Defense" "Super Crate Box"   "Royal Quest"      

$`247`
[1] "Infested Planet"               "The Vanishing of Ethan Carter"
[3] "King Arthur's Gold"           

$`248`
[1] "Killer is Dead"                                     
[2] "Evoland"                                            
[3] "Half Minute Hero Super Mega Neo Climax Ultimate Boy"

$`249`
[1] "UberStrike"      "TerraTech"       "Bloody Trapland"

$`250`
[1] "Half-Life Blue Shift" "FaceRig"              "Ricochet"            

$`251`
[1] "Super Crate Box"    "Hitman Blood Money" "Stranded Deep"     

$`252`
[1] "Botanicula"                         "Gotham City Impostors Free To Play"
[3] "Cities XL Platinum"                

$`253`
[1] "WAKFU"                       "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`254`
[1] "Proteus"         "Mirror's Edge"   "BIT.TRIP RUNNER"

$`255`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Time Clickers"     

$`256`
[1] "Operation Flashpoint Dragon Rising" "Ultimate General Gettysburg"       
[3] "Bridge Constructor"                

$`257`
[1] "Sonic Adventure 2"             "Resident Evil 6 / Biohazard 6"
[3] "Bridge Constructor"           

$`258`
[1] "Evoland"       "Mirror's Edge" "McPixel"      

$`259`
[1] "Floating Point" "Miasmata"       "Overgrowth"    

$`260`
[1] "Undertale"  "Miasmata"   "Overgrowth"

$`261`
[1] "Scania Truck Driving Simulator" "H1Z1"                          
[3] "H1Z1 Test Server"              

$`262`
[1] "Free to Play"       "Evil Genius"        "Age of Wonders III"

$`263`
[1] "S.K.I.L.L. - Special Force 2" "Counter-Strike"              
[3] "Royal Quest"                 

$`264`
[1] "UberStrike"         "Hitman Blood Money" "TerraTech"         

$`265`
[1] "Royal Quest"          "Villagers and Heroes" "Door Kickers"        

$`266`
[1] "Rust"          "DiRT Showdown" "Nidhogg"      

$`267`
[1] "Half-Life Source"                   "Prince of Persia The Sands of Time"
[3] "Ragnarok"                          

$`268`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`269`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`270`
[1] "X-COM UFO Defense" "The Ultimate DOOM" "Royal Quest"      

$`271`
[1] "Scania Truck Driving Simulator" "Door Kickers"                  
[3] "Resident Evil 6 / Biohazard 6" 

$`272`
character(0)

$`273`
[1] "X-COM UFO Defense"    "Royal Quest"          "Villagers and Heroes"

$`274`
[1] "Sonic Adventure 2" "BioShock"          "Bloody Trapland"  

$`275`
[1] "Combat Arms" "Legendary"   "LYNE"       

$`276`
[1] "Stranded Deep"     "Sonic Adventure 2" "Far Cry 2"        

$`277`
[1] "Sonic Adventure 2" "Quake Live"        "The Ultimate DOOM"

$`278`
[1] "Royal Quest"          "Villagers and Heroes" "The Maw"             

$`279`
[1] "Super Crate Box"                "Scania Truck Driving Simulator"
[3] "Royal Quest"                   

$`280`
[1] "Time Clickers"     "X-COM UFO Defense" "Frozen Hearth"    

$`281`
[1] "Loadout Campaign Beta"                    
[2] "FINAL FANTASY VII"                        
[3] "Back to the Future Ep 1 - It's About Time"

$`282`
[1] "Stranded Deep"        "Royal Quest"          "Villagers and Heroes"

$`283`
[1] "Sid Meier's Starships" "DiggerOnline"          "EVE Online"           

$`284`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`285`
[1] "Stranded Deep"     "Sonic Adventure 2" "TerraTech"        

$`286`
[1] "Stranded Deep"     "X-COM UFO Defense" "TerraTech"        

$`287`
[1] "Frozen Hearth" "Brawlhalla"    "Super Hexagon"

$`288`
[1] "The Maw"                                                
[2] "ENSLAVED Odyssey to the West Premium Edition"           
[3] "Warhammer 40,000 Dawn of War - Game of the Year Edition"

$`289`
[1] "Sonic Adventure 2"                       
[2] "Sid Meier's Civilization IV Colonization"
[3] "TerraTech"                               

$`290`
[1] "Sonic Adventure 2" "Door Kickers"      "Train Fever"      

$`291`
[1] "UberStrike"    "TerraTech"     "Ace of Spades"

$`292`
[1] "Audiosurf"      "Killer is Dead" "The Maw"       

$`293`
[1] "Sonic Adventure 2"                        
[2] "The Ultimate DOOM"                        
[3] "Back to the Future Ep 1 - It's About Time"

$`294`
[1] "God Mode"                        "The Path"                       
[3] "The Typing of The Dead Overkill"

$`295`
[1] "Evil Genius"  "sZone-Online" "LYNE"        

$`296`
[1] "Floating Point" "Miasmata"       "Overgrowth"    

$`297`
[1] "Sonic Adventure 2" "McPixel"           "Super Crate Box"  

$`298`
[1] "Super Crate Box"   "X-COM UFO Defense" "Royal Quest"      

$`299`
[1] "Bridge Constructor"          "Car Mechanic Simulator 2014"
[3] "8BitMMO"                    

$`300`
[1] "Scania Truck Driving Simulator" "Door Kickers"                  
[3] "Train Fever"                   

$`301`
[1] "WAKFU"     "TerraTech" "LIMBO"    

$`302`
[1] "Half-Life Source"             "S.K.I.L.L. - Special Force 2"
[3] "Mortal Online"               

$`303`
character(0)

$`304`
character(0)

$`305`
[1] "The Ultimate DOOM" "Floating Point"    "Miasmata"         

$`306`
[1] "Stranded Deep" "Far Cry 2"     "Royal Quest"  

$`307`
character(0)

$`308`
[1] "Batla"                              "Prince of Persia The Sands of Time"
[3] "Ragnarok"                          

$`309`
[1] "All Is Dust"    "Floating Point" "Miasmata"      

$`310`
[1] "The Ultimate DOOM"                        
[2] "Assassin's Creed Brotherhood"             
[3] "Back to the Future Ep 1 - It's About Time"

$`311`
[1] "Far Cry 2"                               
[2] "Sid Meier's Civilization IV Colonization"
[3] "Sid Meier's Railroads!"                  

$`312`
character(0)

$`313`
[1] "WAKFU"     "Undertale" "Gothic 3" 

$`314`
[1] "WAKFU"                      "Loadout Campaign Beta"     
[3] "Call of Duty Black Ops III"

$`315`
[1] "Hitman Blood Money"             "Scania Truck Driving Simulator"
[3] "All Is Dust"                   

$`316`
[1] "Back to the Future Ep 1 - It's About Time"
[2] "BIT.TRIP RUNNER"                          
[3] "Braid"                                    

$`317`
[1] "Sonic Adventure 2" "Door Kickers"      "Train Fever"      

$`318`
[1] "Super Crate Box"                "Scania Truck Driving Simulator"
[3] "Quake Live"                    

$`319`
[1] "Hitman Blood Money" "Stranded Deep"      "X-COM UFO Defense" 

$`320`
character(0)

$`321`
[1] "God Mode"                     "Gems of War"                 
[3] "S.K.I.L.L. - Special Force 2"

$`322`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`323`
[1] "Proteus"       "Mirror's Edge" "The Maw"      

$`324`
[1] "UberStrike"    "TerraTech"     "Ace of Spades"

$`325`
[1] "UberStrike"                "the static speaks my name"
[3] "Ace of Spades"            

$`326`
character(0)

$`327`
[1] "WAKFU"                "Royal Quest"          "Villagers and Heroes"

$`328`
[1] "UberStrike"                    "Trials Evolution Gold Edition"
[3] "FINAL FANTASY VII"            

$`329`
[1] "Sonic Adventure 2" "BioShock"          "Bloody Trapland"  

$`330`
[1] "Super Crate Box" "Quake Live"      "Royal Quest"    

$`331`
[1] "The Ultimate DOOM"             "Binary Domain"                
[3] "Brothers - A Tale of Two Sons"

$`332`
[1] "FORCED"        "Strike Vector" "Synergy"      

$`333`
[1] "The Journey Down Chapter One" "Total War Battles KINGDOM"   
[3] "HELLDIVERS"                  

$`334`
[1] "Time Clickers"     "The Ultimate DOOM" "Floating Point"   

$`335`
[1] "X-COM UFO Defense" "Door Kickers"      "Train Fever"      

$`336`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`337`
[1] "Brawlhalla"         "Mortal Online"      "Plague Inc Evolved"

$`338`
[1] "Frozen Hearth"  "Floating Point" "Miasmata"      

$`339`
[1] "Only If"       "Mortal Online" "Door Kickers" 

$`340`
[1] "Gladiators Online Death Before Dishonor"
[2] "You Have to Win the Game"               
[3] "DiRT Showdown"                          

$`341`
[1] "WAKFU"             "Far Cry 2"         "The Ultimate DOOM"

$`342`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`343`
[1] "Sonic Adventure 2" "Floating Point"    "Miasmata"         

$`344`
[1] "Sonic Adventure 2" "Frozen Hearth"     "Super Crate Box"  

$`345`
[1] "Hitman Blood Money" "Stranded Deep"      "Sonic Adventure 2" 

$`346`
[1] "Color Symphony"                "Duke Nukem 3D Megaton Edition"
[3] "Titan Quest Immortal Throne"  

$`347`
character(0)

$`348`
[1] "Stranded Deep"     "Sonic Adventure 2" "Far Cry 2"        

$`349`
[1] "King Arthur - The Role-playing Wargame"
[2] "Peggle Deluxe"                         
[3] "Syberia"                               

$`350`
[1] "Block N Load"                                
[2] "Boring Man - Online Tactical Stickman Combat"
[3] "Creativerse"                                 

$`351`
[1] "Sonic Adventure 2" "Jamestown"         "Lethal League"    

$`352`
[1] "La Tale"      "Fuse"         "Echo of Soul"

$`353`
[1] "Super Crate Box"              "X-COM UFO Defense"           
[3] "S.K.I.L.L. - Special Force 2"

$`354`
[1] "Scania Truck Driving Simulator" "Door Kickers"                  
[3] "Train Fever"                   

$`355`
[1] "Ultimate General Gettysburg" "Dead Rising 2"              
[3] "Gotham City Impostors"      

$`356`
[1] "Scania Truck Driving Simulator" "Door Kickers"                  
[3] "Train Fever"                   

$`357`
[1] "WAKFU"                          "Scania Truck Driving Simulator"
[3] "The Beginner's Guide"          

$`358`
[1] "Fallout 3" "The Maw"   "8BitMMO"  

$`359`
[1] "Dizzel"                          "Arma 2 Private Military Company"
[3] "EVE Online"                     

$`360`
[1] "Fuse"                                        
[2] "Boring Man - Online Tactical Stickman Combat"
[3] "Mount Your Friends"                          

$`361`
[1] "The Ultimate DOOM" "FINAL FANTASY VII" "Floating Point"   

$`362`
[1] "UberStrike"     "Floating Point" "Miasmata"      

$`363`
[1] "FINAL FANTASY VII"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`364`
[1] "UberStrike"        "Time Clickers"     "X-COM UFO Defense"

$`365`
[1] "Sonic Adventure 2" "Door Kickers"      "Train Fever"      

$`366`
[1] "Time Clickers"          "X-COM UFO Defense"      "Sid Meier's Railroads!"

$`367`
[1] "NARUTO SHIPPUDEN Ultimate Ninja STORM Revolution"
[2] "Jazzpunk"                                        
[3] "Minimum"                                         

$`368`
[1] "Scania Truck Driving Simulator" "Torchlight"                    
[3] "Galcon 2"                      

$`369`
[1] "Loadout Campaign Beta" "The Ultimate DOOM"     "Royal Quest"          

$`370`
[1] "WAKFU"                       "Gothic 3"                   
[3] "Survival Postapocalypse Now"

$`371`
[1] "Sonic Adventure 2" "The Ultimate DOOM" "All Is Dust"      

$`372`
[1] "Super Crate Box"              "S.K.I.L.L. - Special Force 2"
[3] "Frozen Hearth"               

$`373`
[1] "Royal Quest"          "Villagers and Heroes" "The Maw"             

$`374`
[1] "Hitman Blood Money"             "Scania Truck Driving Simulator"
[3] "Door Kickers"                  

$`375`
[1] "Time Clickers"     "FINAL FANTASY VII" "Floating Point"   

$`376`
[1] "WAKFU"     "Undertale" "Gothic 3" 

$`377`
[1] "Sonic Adventure 2"                   "FreeStyle2 Street Basketball"       
[3] "Serious Sam HD The Second Encounter"

$`378`
[1] "Super Crate Box"   "X-COM UFO Defense" "Quake Live"       

$`379`
[1] "Loadout Campaign Beta" "Royal Quest"           "Villagers and Heroes" 

$`380`
[1] "Super Crate Box"              "S.K.I.L.L. - Special Force 2"
[3] "Royal Quest"                 

$`381`
[1] "UberStrike"         "Hitman Blood Money" "TerraTech"         

$`382`
[1] "UberStrike"      "TerraTech"       "Bloody Trapland"

$`383`
[1] "The Ultimate DOOM"    "Royal Quest"          "Villagers and Heroes"

$`384`
[1] "X-COM UFO Defense" "Super Crate Box"   "Royal Quest"      

$`385`
[1] "Time Clickers"     "X-COM UFO Defense" "The Ultimate DOOM"

$`386`
[1] "Savant - Ascent" "God Mode"        "Hero Academy"   

$`387`
[1] "Grimoire Manastorm"            "Portal Stories Mel"           
[3] "The Vanishing of Ethan Carter"

$`388`
[1] "UberStrike"     "Cry of Fear"    "Genesis Online"

$`389`
[1] "Hitman Blood Money" "Brawlhalla"         "Super Hexagon"     

$`390`
[1] "Super Crate Box"      "Royal Quest"          "Villagers and Heroes"

$`391`
[1] "Half-Life Source"  "Time Clickers"     "X-COM UFO Defense"

$`392`
[1] "Let the Cat In"    "The Ultimate DOOM" "Floating Point"   

$`393`
[1] "Hitman Blood Money" "Sonic Adventure 2"  "Jamestown"         

$`394`
[1] "Aftermath"       "DiRT Showdown"   "Dragomon Hunter"

$`395`
[1] "Sonic Adventure 2" "X-COM UFO Defense" "The Ultimate DOOM"

$`396`
[1] "Ultimate General Gettysburg" "God Mode"                   
[3] "DogFighter"                 

$`397`
[1] "Sonic Adventure 2" "Jamestown"         "Lethal League"    

$`398`
[1] "Sonic Adventure 2" "Time Clickers"     "X-COM UFO Defense"

$`399`
[1] "Enclave"            "Grimoire Manastorm" "BLOCKADE 3D"       

$`400`
[1] "The Ultimate DOOM"                          
[2] "ACE COMBAT ASSAULT HORIZON Enhanced Edition"
[3] "F1 2014"                                    

$`401`
[1] "Loadout Campaign Beta" "All Is Dust"           "Floating Point"       

$`402`
[1] "Sonic Adventure 2" "Jamestown"         "Lethal League"    

$`403`
[1] "Awesomenauts"                       "Serious Sam HD The First Encounter"
[3] "Undertale"                         

$`404`
[1] "Ultimate General Gettysburg"   "Color Symphony"               
[3] "Duke Nukem 3D Megaton Edition"

$`405`
[1] "Sonic Adventure 2" "LIMBO"             "McPixel"          

$`406`
[1] "Creativerse"                  "FINAL FANTASY VII"           
[3] "Assassin's Creed Brotherhood"

$`407`
[1] "Among the Sleep" "ibb & obb"       "Singularity"    

$`408`
[1] "WAKFU"        "All Is Dust"  "Door Kickers"

$`409`
character(0)

$`410`
[1] "Super Crate Box"              "S.K.I.L.L. - Special Force 2"
[3] "Frozen Hearth"               

$`411`
[1] "Strike Vector"                       
[2] "DOOM 3 Resurrection of Evil"         
[3] "Killing Floor Mod Defence Alliance 2"

$`412`
[1] "TerraTech" "LIMBO"     "McPixel"  

$`413`
[1] "WAKFU"             "The Ultimate DOOM" "Door Kickers"     

$`414`
[1] "FINAL FANTASY VII"           "Bridge Constructor"         
[3] "Car Mechanic Simulator 2014"

$`415`
[1] "Sonic Adventure 2" "The Ultimate DOOM" "Door Kickers"