While going to the forums to recommendations feels like gambling. The reason for that it is very time consuming to write out specific niche's from genre's you wanna read and when you go for broader terms it's hit or miss (gambling). Also if you wanna get a specific niche of a genre you have to pray someone that knows that niche finds your post and decides to share other novels from the niche that you may have already read.
My recommendation comes in here. It is the "recommendations to similar stories" already on Novel Updates and it is an incredible tool for finding new novels from the same niche genre.
For those who do not know it is as follows. Every story gets one and readers put up recommendations to similar stories with notes giving further details to similarities and other stuff. Multiple people can recommend the same story, giving people multiple perspectives on it. It has an upvote, downvote and report feature giving readers more control for the better recommendations to be seen first.
To give more context to this method, before I used RR I was getting novels from Novel Updates. Over 95% of all novels I read there were from the recommendations to similar stories feature.
If I have offended anyone in any way, I am sorry for what it is worth. This is not an attack on anyone or any of the search methods for novels on RR, they all have their place. I am just voicing my frustrations for finding new novels and wish to have more search options available.
P.S I am ESL and am sorry for any bad grammar.
A general fiction recommendation algorithm would be thus:
- For each person, counts the number of fictions you're following in common. If you are following 20 fictions and 14 of these are followed by the other, then that person is 70% similar to you.
- Take X persons with the highest similarity % to you
- For each fiction one of these persons follows that you do not, add the similarity %
- Sort the resulting fictions by total
- Done: Here are the recommended fictions for you
This is very simple, and it harness the fact that if you tend to read the same fictions as someone else, you probably would pick the same new fictions as that person. It's a popularity score based only on people who tend to follow the same fictions you do rather than all of RR.
It's slightly computationally intensive if you start it later, but it updates incrementally: whenever you follow/unfollow a fiction, you update the similarity scores (yours and theirs) of the number of followers for the fiction, and only those, and you only need to process the number of fictions followed by a fixed number of people to get fresh recommendations (I'd put this on a dedicated page rather than the home page, to lessen the load).
You can also harness favored status to refine your similarity score by having favored count as more than "1" follow: if you both follow, it counts as 1, if one of you favored the story, it counts as 2, if both, it counts as 3 (same for the fiction score: if the other person merely follows, it's %, if he/she favored, it's 2x%).
You can tweak the algorithm by using rated score (the recommendation total is multiplied by the story rating), a "new story" bonus for the first month (to compensate for the fact that the story is likely not having that much interested followers yet until it goes into trending), or similar small adjustment factors.
You can have a slightly lesser version of it on a story-by-story basis: for each follower of that story, take all the fictions they favorite, and add their rating for these (or 3 if they did not rate it). That gives you a favorite total for a lot of stories, and the ones that rise to the top will be the ones most "in common" with the story you're looking at. They're probably not exactly in the same exact genre, but they're the kind of stories people who follow that one tend to like.
It's computation load is much more variable (it's based on the number of followers of the story you're looking at, rather than a fixed X number of "similar people"), but you do not need to keep updates for a similarity table of RR users.