Solving the dreaded one-bomb problem

I can one-up your geekness. I have a computer program that calculates the possible combinations of a given number of votes that would arrive at a specified rating. For 35 votes and a score of 4.34, it found 150 unique combinations. The combination that comes closes to the average is 22x5*, 7x4*, 3x3*, 2x2* and 1x1*
Is this program available for download?
 
Is this program available for download?

Nope. It's one I wrote, and it has some practical limitations. Were I to do it again, I might try devising something with the Gnu Scientific Library's combinations and permutations routines.

I'm warming up for the Geek Pride challenge.
 
The combination that comes closes to the average is 22x5*, 7x4*, 3x3*, 2x2* and 1x1*
I'm not sure I understand what you mean here. This distribution and the ones in stickygirl's and my posts all gave the same average score of of 152/35 (~4.34).
 
This should work in Python 3 to enumerate the possible combinations that would give a particular total:

Python:
# given a range of possible integer scores e.g. 1-5, the total number of scores, and the sum of the scores,
# find the combinations of votes that could lead to that score.
# Each combination is represented as a list of tuples, e.g. [(0,2),(1,3),(2,0),(3,3)] means two scores of 0,
# three of 1, none of 2, and three of 3.
# The function output is represented as a list of all such tuple-lists.
import math

def scorecombinations(minscore,maxscore,n_scores,sum_scores):
    # all must be non-negative int, maxscore > minscore, sum_scores between minscore*n_scores and maxscore*n_scores
    if (minscore == 0) and (maxscore == 1):
        return [[(0,n_scores-sum_scores),(1,sum_scores)]]
    elif minscore > 0:
        # shift the numbers to make 0 the lowest, solve recursively, then un-shift the solution
        shifted_solutions = scorecombinations(0,maxscore-minscore,n_scores,sum_scores-minscore*n_scores)
        unshifted_solutions = [[(tup[0]+minscore,tup[1]) for tup in tuplist] for tuplist in shifted_solutions]
        return unshifted_solutions
    else:
        max_fullpoints = math.floor(sum_scores/maxscore)
        # highest possible number of scores at the maximum value allowed
        min_fullpoints = max(0,sum_scores-(n_scores*(maxscore-1)))
        # For example: if scores go 0-4, and the total score is 17 off 5 scores, then
        # the maximum that could be achieved with 3s is 5*(4-1) = 15 so there must
        # be at least two five-score votes
        output_list = []
        for n in range(min_fullpoints,max_fullpoints+1):
            # n counts the number of max-score votes
            subproblem_solution = scorecombinations(0,maxscore-1,n_scores-n,sum_scores-n*maxscore)
            output_list += [tuplist + [(maxscore,n)] for tuplist in subproblem_solution]
        return output_list

For the example NotWise gave, an average of 4.34 off 35 votes means a total of 152 points, so you'd call scorecombinations(1,5,35,152) to get the full list, or len(scorecombinations(1,5,35,152)) if you just wanted to know how many.

For stories with a lot of votes, if you only want to know "how many", you don't need to record all the solutions, in which case the above can be cut down a bit to just count how many there are.

Note that this ignores ordering. If you want to know all the ways you can get 48 points off 10 votes, this will tell you that there are only two possibilities: nine 5s and one 3, or eight 5s and two 4s. But if you care about ordering, then there would be ten different "nine 5s and one 3" scenario (depending on where that 3 happens in the sequence) and forty-five "eight 5s and two 4s". If you're trying to use those counts as a way to estimate which pattern is most likely, that needs to be taken into account.
 
I'm not sure I understand what you mean here. This distribution and the ones in stickygirl's and my posts all gave the same average score of of 152/35 (~4.34).
I think NW is talking about averaging the number of 5* votes across all the solutions that would give 152 points, and averaging the number of 4* votes, etc.

This average would very likely change if one accounted for ordering, though.
 
But so do the fives.
This is the first time I must disagree with you MelissaBaby.

With 25 votes; thirteen 5* and twelve 4* gives an average score of 4.52. Add one 5* and the average increases to 4.54, but add one 1* an the average decreases to 4.38.

With 300 votes; 150 5* and 150 4* give an average score of 4.5. Add one 5* and the average doesn't change (to the rounding to two decimal places.) Add one 1* and the average decreases to 4.49.

Any average score above 4 will be more adversely affected by a 1* next vote than positively affected by a 5* next vote.
 
This is the first time I must disagree with you MelissaBaby.

With 25 votes; thirteen 5* and twelve 4* gives an average score of 4.52. Add one 5* and the average increases to 4.54, but add one 1* an the average decreases to 4.38.

With 300 votes; 150 5* and 150 4* give an average score of 4.5. Add one 5* and the average doesn't change (to the rounding to two decimal places.) Add one 1* and the average decreases to 4.49.

Any average score above 4 will be more adversely affected by a 1* next vote than positively affected by a 5* next vote.

I understand the math (Well, no, I don't really but I get what the math shows), but I am trying to make the point that rather than trying to get changes made to a more than twenty year old system, time would be better spent honing our craft and improving our stories. You can't prevent the one bomb, but you can try to turn half those fours into fives.
 
One way to make contests a bit more interesting is to have all the stories be in the same category on a given year. For Valentines you could designate 2024 be romance, 2025 first time, 2026 EC, etc. For nude day the categories could be rotated among FT, EV, EC and others. There are roughly 24 categories that would lend themselves to such a system (throwing out audio, how to and others) and by reviewing them, it is easy to see which ones work best with each contest. Such a system would even the playing field with respect to audiences and voting numbers.

Disadvantages include potentially fewer voters when a certain category is run (but the contest buzz itself might help make up for that), fewer stories submitted and author disinterest. If a category came up that I might not be interested in, I might have to pull up my big undies and give it a whirl. Thoughts?
 
Note that this ignores ordering. If you want to know all the ways you can get 48 points off 10 votes, this will tell you that there are only two possibilities: nine 5s and one 3, or eight 5s and two 4s. But if you care about ordering, then there would be ten different "nine 5s and one 3" scenario (depending on where that 3 happens in the sequence) and forty-five "eight 5s and two 4s". If you're trying to use those counts as a way to estimate which pattern is most likely, that needs to be taken into account.

I don't see the ordering as being significant to the problem which (as I see it) is "I have N new votes that changed my score by X. What were the N votes?" To add another layer to the problem, the question isn't "What were the N votes?" but "What is the likely distribution of the N votes."
 
I don't see the ordering as being significant to the problem which (as I see it) is "I have N new votes that changed my score by X. What were the N votes?" To add another layer to the problem, the question isn't "What were the N votes?" but "What is the likely distribution of the N votes."
That second question is why ordering matters.

For the sake of argument, let's suppose for the moment that every vote you get on a story is equally likely to be a 1, 2, 3, 4, or 5. (This is a very unrealistic assumption! But it simplifies the explanation. We could replace it with more realistic assumptions, and we'd end up with a similar conclusion, but the working would be messier.)

Under that assumption, when you check your stats after the first 10 votes, every possible sequence of 10 votes is equally likely. [1,1,1,1,1,1,1,1,1,1], [1,1,1,1,1,1,1,1,1,2], ... all the way up to perfect 5s.

Out of all those sequences, there are ten different sequences that can be summarised as "one 3 and nine 5s". (The 3 could be the first vote, or the second, or ... or the tenth.)

However, there are 45 different sequences that would be summarised as "two 4s and eight 5s". (4s in positions 1 and 2, or 1 and 3, or ..., or 1 and 10, or 2 and 3, or 2 and 4, or ... or 9 and 10.)

So you're more than 4x as likely to get "two 4s and eight 5s" as you are to get "one 3 and nine 5s".

If you find that your score is 48 off 10 votes, you know the votes were in one of those 55 sequences. Because there are many more ways to achieve "two 4s and eight 5s", that particular scenario is more likely than "one 3 and nine 5s", and if you're trying to calculate what the "average" (expected) distribution of votes looks like for a particular score, that needs to be taken into account.
 
I understand the math (Well, no, I don't really but I get what the math shows), but I am trying to make the point that rather than trying to get changes made to a more than twenty year old system, time would be better spent honing our craft and improving our stories. You can't prevent the one bomb, but you can try to turn half those fours into fives.
Why do this when you can blame the system for the story not performing as well as the author thinks it should? Other than the fact some categories get more votes than others, and that LW is the Mordor of Literotica, we're all on the same playing field and all deal with more or less the same things. Just some people accept it, and others keep crying about it.

Also, this is along the lines of what I've been saying all along, but I get called a troll when I do it.

The sweeps are part of the issue here. They are necessary, but because they often-especially in contests- cut to deep and allow stories with low vote totals to end up with absurd scores in the 4.9's which in turn creates the fallacy there are no legit one bombs and everyone's scores should be 4.75.
 
That second question is why ordering matters.

I understand the point, but I don't entirely agree with you. I tossed the idea around for quite a while, threw my hands up, and decided that I cared what the combinations were, not how they came to be. You mileage may vary.

The second question is a problem, and using the permutations might give a slightly different view. My initial approach was to calculate the average distribution, then rank the different combinations based on how closely they matched the average. It's a fairly arbitrary process, but it yields a standard result. Using permutations would tweak the arbitrary process.

My second approach was to determine the most probable solution based on a multinomial distribution, which requires that I provide a prior estimate of the probability of each kind of vote. I settled on using an equal probability on the idea that it would make a more even distribution more probable, and I favored a more even distribution.

I initially tried to establish the probability using the distribution of combinations, which for my stories slants probabilities to the high side. The result did not make heavily slanted distributions more probable; it made gapped distributions more probable. I would get a most-probable distribution that used as many 4* and 5* votes as possible and balanced the total with 1* votes.

That might be realistic, but it wasn't a result I wanted to use.
 
I do love the way recursive functions can simplify the programming logic. That algorithms class was time well spent.
Ohh, Baby! My program uses a recursive function, too.

It works so well that the code to determine the combinations is maybe 5% of the program. The rest parses the command line options, ranks the results by some measure of likelihood, and prints them out.
 
This is the first time I must disagree with you MelissaBaby.

With 25 votes; thirteen 5* and twelve 4* gives an average score of 4.52. Add one 5* and the average increases to 4.54, but add one 1* an the average decreases to 4.38.

With 300 votes; 150 5* and 150 4* give an average score of 4.5. Add one 5* and the average doesn't change (to the rounding to two decimal places.) Add one 1* and the average decreases to 4.49.

Any average score above 4 will be more adversely affected by a 1* next vote than positively affected by a 5* next vote.
The PROBLEM with all of these arguments focusing on the math and CLAIMING a 1 disproportionately affects the score is that you are ASSUMING that 4.5 should be the desired average!

It is NOT. The average is 3 for an average story! And a 1 has the same impact as a 5 in that perspective. But too many writers seem obsessed with their own greatness and insist that they deserve a 5.

Writers need to get real and recognize that their stories are not loved by everyone, and may in fact trigger some readers to hate them. My own stories usually about happy swingers trigger some people who have been burn by a cheating spouse in extra-marital affairs. And those people rightfully HATE my stories. So, regardless of how much I might improve in my writing style, I WILL receive some 1-bombs. And those are not unjustified 1-bombs. They are real individual opinions of the story I wrote.

The only real trolls are those who follow an author to immediately 1-bomb their story without even reading it, or those who 1-bomb a story to make their own pathetic effort in writing seem better.
 
The PROBLEM with all of these arguments focusing on the math and CLAIMING a 1 disproportionately affects the score is that you are ASSUMING that 4.5 should be the desired average!

It is NOT. The average is 3 for an average story! And a 1 has the same impact as a 5 in that perspective. But too many writers seem obsessed with their own greatness and insist that they deserve a 5.

Writers need to get real and recognize that their stories are not loved by everyone, and may in fact trigger some readers to hate them. My own stories usually about happy swingers trigger some people who have been burn by a cheating spouse in extra-marital affairs. And those people rightfully HATE my stories. So, regardless of how much I might improve in my writing style, I WILL receive some 1-bombs. And those are not unjustified 1-bombs. They are real individual opinions of the story I wrote.

The only real trolls are those who follow an author to immediately 1-bomb their story without even reading it, or those who 1-bomb a story to make their own pathetic effort in writing seem better.

This problem is encouraged by the institution of the "red H." Everybody wants one, and many get intolerant and suspicious about anything that prevents them from getting one. Get rid of the red H and the talismanic importance of the 4.5 score disappears. Readers can then decide for themselves what different rating numbers mean. If I were in control, this is one of the few changes I would implement right away. Get rid of the red H. It provides no extra useful information to the reader and it encourages gaming and angst. Its only benefit is the little boost it gives to authors who like rewards. That's not a sufficiently important benefit from the site's perspective.
 
I think the red "H" is there to let readers know which stories other readers have enjoyed. As authors, we tend to make more out of it. That's our problem, not Lit's.
 
Thoughts?

No.

I don't see any reason to make contests harder to enter and more exclusive for readers. This "plan" would have that effect. More participation, from writers and readers, is always going to trump less participation, and it should.
 
I think the red "H" is there to let readers know which stories other readers have enjoyed. As authors, we tend to make more out of it. That's our problem, not Lit's.

How does it do this more than the score itself? I don't understand how it provides any additional information. A 4.5 is a 4.5. A red H provides the reader no additional information. It tells the reader what the reader already knows: the score is over 4.5. That's it.

In fact, in a sense it is deceptive, because scores vary so widely from one category to the next. There are some categories where having a red H only means your story is rated in the top third. In Loving Wives it means you are well within the top 10%. It is not a badge of reader satisfaction that is in any way commensurate among categories.
 
One way to make contests a bit more interesting is to have all the stories be in the same category on a given year. For Valentines you could designate 2024 be romance, 2025 first time, 2026 EC, etc. For nude day the categories could be rotated among FT, EV, EC and others. There are roughly 24 categories that would lend themselves to such a system (throwing out audio, how to and others) and by reviewing them, it is easy to see which ones work best with each contest. Such a system would even the playing field with respect to audiences and voting numbers.

Disadvantages include potentially fewer voters when a certain category is run (but the contest buzz itself might help make up for that), fewer stories submitted and author disinterest. If a category came up that I might not be interested in, I might have to pull up my big undies and give it a whirl. Thoughts?

Thumbs down.

This is a universal rule that one can apply to any suggestion for changing the site: no rule change makes sense if it disincentivizes contributions, or reader input or activity.

Your proposal will disincentivize authors from contributing to contests. The numbers will go down.

Your proposal will disincentivize readers from wanting to read contest stories. The numbers will go down.
 
This problem is encouraged by the institution of the "red H." Everybody wants one, and many get intolerant and suspicious about anything that prevents them from getting one. Get rid of the red H and the talismanic importance of the 4.5 score disappears. Readers can then decide for themselves what different rating numbers mean. If I were in control, this is one of the few changes I would implement right away. Get rid of the red H. It provides no extra useful information to the reader and it encourages gaming and angst. Its only benefit is the little boost it gives to authors who like rewards. That's not a sufficiently important benefit from the site's perspective.

I wholeheartedly disagree.

Of course the red H is giving the site a sufficiently important benefit. It's the same as the Books that are promoted as New York Times Bestsellers. Believe it or not, there are readers that sort stories by score, and then only click on those that have a red H. Just like there are people who only buy a book because some pompous columnist told them how many other people have done it. If you don't promote products that are doing particularly well, the supply you're offering your customers will simply look like a massive and boring library of the same stuff with no discernable features.

In addition to that: No, a red H in loving wifes is not worth more than a red H in the incest category.
Think about it this way... People very rarely rate you on your ability as a writer. They rate the story you wrote based on whether they liked it or not. In LW, that would be the difference between writing about cheating and incurring all the negative emotions of people who have been cheated on, or writing about taking revenge on a cheater and playing into the fantasies all those cheated people had.
So, removing the red H from LW, for example, would mean that readers have to dig through all that nasty filth that is posted to that category by now. And chances are, they will simply give up after a while and look for another site, where the revenge stories ARE marked as popular.

And of course authors on lit want to see that red H next to their stories. Why wouldn't they!? No, they are not all petulant children who think they somehow "deserve" it. You SHOULD take pride in that thing you created. You SHOULD want people to like your creation so much, they share it with others to enjoy as well. Otherwise, this site would be filled with nothing but mediocre budget-authors who write all their stuff on their smartphones, where capitalization and punctuation are too much of a hassle to deal with.

Now, regarding the initial topic of this thread, you know that you could just... you know... hide the scores. I'm not saying to get rid of them. You could still keep the red H for stories above 4.5 ratings, and you could still allow users to sort by score. But you simply don't display the number.
The thing is, I don't think one bombing happens because some readers have a sudden vendetta with an author. They do it to SEE those numbers drop. If you take away the satisfaction of seeing their action actually having an effect, their incentive to do it would be appropriately reduced. Sure, you'd be left with the people who award you a one-star-rating because they didn't like the topic of your story, but that is something you will never get around.
 
removing the red H from LW, for example, would mean that readers have to dig through all that nasty filth that is posted to that category by now.
Well, no. Within the last decade, the Web site started putting the actual rating number next to the story title on the author's list, rendering the Red H unnecessary. The reader can see the precise rating number now and decide for him/herself whether they will read a 4.49-rated story whether or not it has a Red H--or whether a Red H really makes a 4.50 story better enough than a 4.49 to deserve preference for a read.
 
Well, no. Within the last decade, the Web site started putting the actual rating number next to the story title on the author's list, rendering the Red H unnecessary. The reader can see the precise rating number now and decide for him/herself whether they will read a 4.49-rated story whether or not it has a Red H--or whether a Red H really makes a 4.50 story better enough than a 4.49 to deserve preference for a read.

Sure they could. Just like you could wash your clothes in a rain barrel instead of buying a washing machine to save on your utility bill. But a washing machine is convenient. The site has the incentive to make the experience it offers their visitors as easy and enjoyable as possible. The red H is an important tool to do just that.
 
Back
Top