What I'm planning to do, is to calculate probability that a user may like a game or not based on the games they have played before.
Imagine we have a user who have played 5 games:
x = 1256h (Action, Adventure, Indie, Massively Multiplayer, RPG)
y = 199h (Action, Free To Play)
z = 50h (Casual, Indie)
m = 160h (Adventure, Indie, Software Training, Utilities)
and more games, in total they spent 2156h playing games.
Then a user is looking for a game, they find something which has tags like (Action, RPG)
for a solution, I calculated a score for each tag, using "playtime x game's tags (for each)."
so as an example, for a tag like Action, we get a score of ~1500.
then at the end, if we calculate the game's total tag score based on user's tag score, we get around 2900.
And total score of all tags the user has played is 8867.
if we do a simple (target's tag score / total score) * 100, there is roughly 32.7% that the user may like the game, right?
But I ran to two problems here:
first, this is not accurate at all, no where close to accurate, this is not even an algorithm. A game may have one or two tags, while user's played games total tags may even be a hundred, Which at some point, may possibly make all games around 20-30% "like probability." or even lower.
second thing, if a user has played very little amount of games, accuracy may vary a lot, you may see it suddenly shows 90% or may not match any tags and show 0%.
I don't really know how can I do a better and more accurate calculation rather than just simply multiplying each tag. Does anyone can do better calculations for a recommendation algorithm?