Our book club doesn't just vote on books — we use math to make sure the choices are fair, balanced, and loved by the group. Every book gets one score, built from outside ratings, our own votes, and whose turn it is. This post walks through how that score works.
Why Use a Formula to Pick a Book?
Choosing a book for a group can be surprisingly tricky. Some members prioritize popularity, others want quality reviews, and everyone wants their voice heard. To balance all of this, the score weighs:
- Ratings from Hardcover, Google Books and Amazon
- How many people those ratings come from
- Votes and unvotes within our book club
- Whose suggestions have been picked lately
One Score Everywhere
Whichever way the club picks, it uses the same number:
- Suggest a book picks the highest score.
- Random pick draws a book at random, with higher scores more likely.
- The elimination game starts from the top-scoring books.
- The book list is sorted by score, highest first.
Earlier versions used one formula for suggestions and a simpler one for everything else, so the book you got could depend on which button you pressed. Now they all agree.
Step 1: A Rating You Can Trust
We blend the outside ratings into one, weighted by how many people each is based on. Then we use a Bayesian average so a book with a handful of glowing reviews doesn't outrank one loved by thousands:
shrunk_rating = (v × R + m × C) / (v + m)
- R = the blended rating
- v = how many ratings it rests on
- C = 3.5, what we assume about a book nobody has rated
- m = 10, how many ratings that assumption is worth
With only a few ratings, the result stays close to 3.5. With thousands, it's essentially the real rating.
Step 2: Add the Club's Votes
score = 0.7 × shrunk_rating + 0.3 × log(1 + votes)
The logarithm means a book's first vote counts for more than its tenth, so a long-standing favourite can't run away with it on vote count alone.
Step 3: Listen to Unvotes
An unvote says "please not this one," and we take it seriously. One unvote multiplies the score by about 0.14, and two by about 0.02. A book with a few unvotes is all but ruled out.
Step 4: Take Turns
A book club works better when everyone's suggestions get read. So we look back over the last n picks, where n is the number of members, and give a small boost to books added by members whose suggestions haven't been chosen lately:
boost = 1 + 0.10 × (picks since theirs was chosen) / n
Someone whose book was picked last time gets no boost. Someone who has waited n picks or more gets the full 10%. It's enough to settle a close call between two books, but not enough to lift a weak book over the club's clear favourite.
Example: How It Works
Imagine Book A has a 4.8 star rating from just 3 people and 1 vote in the club.
First, the shrunk rating:
shrunk_rating = (3 × 4.8 + 10 × 3.5) / (3 + 10)
= (14.4 + 35) / 13
≈ 3.80
Then add the vote:
score = 0.7 × 3.80 + 0.3 × log(2)
≈ 2.66 + 0.21
≈ 2.87
Those three glowing reviews only lift the book a little above our 3.5 assumption, because three people isn't much to go on.
Now compare Book B: 4.3 stars from 2,000 people and 4 club votes. Its shrunk rating is about 4.30, so its score is about 3.49. Book B comes out ahead, which feels right: it's well loved by many readers and has more support in the club.
If Book A was added by a member who has waited a full round for a pick, it gets the 10% boost: 2.87 × 1.10 ≈ 3.16. That narrows the gap, but Book B is still the suggestion.
How the Random Pick Uses the Score
Scores mostly fall between about 3 and 4.5. If we used them directly as odds, the best book would barely be likelier than the worst. So each book's chance is proportional to:
escore / 0.5
That makes a book one point ahead about seven times as likely to be drawn. In our example, Book B is about 3.5 times as likely as Book A, or about 2 times as likely once Book A gets its turn boost. The random pick still surprises you sometimes, but it leans toward the books the club is most likely to enjoy.
Conclusion
One score, built from trustworthy ratings, the club's votes and unvotes, and a fair turn for everyone, now drives every way we choose. It's one more way we keep our book club running smoothly and our members satisfied.