Song Submission for Bosman vs Wozniak



  • @Oscillator The same way people who don't read manuals don't know how to program their VCR? Otherwise, people tend to be pretty helpful in chat. :)



  • Interesting idea for that timestamp!



  • @Oscillator The !songhelp command links to this thread. I might make a new thread to make it more clear through its title that it contains the documentation for the bot. In general, I think it's more efficient to just link to this thread than to explain everything during a stream.



  • Personally, I would prefer to go back to any song has a chance of being picked. I will want the same song every week until it comes up, so now I will have to resubmit it every week (well !song).



  • @Kornfan2007 I think the idea is to reward regular viewers more than someone who might not be watching the stream.

    Don't forget, you can submit all week long. If you submit the next day, you're in the higher percent chance of picking through the next BozWoz stream.



  • We can also just extend the duration for how long songs stay in the higher-probability list from one week to 30 days. That might still be better than deleting old songs.



  • For now, I increased the "double probability" interval to 30 days. The poll in chat today suggests that chat prefers a longer interval. So you only have to reconfirm your submission with !song once a month. Personally, I think it's better than deleting old songs automatically. Kyle can still delete olds songs manually.

    The motivation behind this is to let songs expire in some way. People who watch the show should have a higher chance than people who stopped watching the show. Giving a sign once a month that you are still watching is ok, IMO.



  • @ElTorro I think that's fair. My one concern with changing how Soundtrack Bot works is that Kyle's intent was that it helps people watching later (eg. on Youtube) to feel engaged, even if they missed the stream. I think having a 1-2 week window for "double probability" gives people plenty of time to submit songs, and have a chance of hearing theirs played even if they miss the stream. 30 days might be a touch generous, but since every person only gets 1 song anyway I'm guessing there isn't a huge difference between the number of songs submitted in a 1-2 week period, and a 30 day period.

    L&R for all your hard work.



  • What does everybody think about ignoring submissions from people who recently had their song picked for 2-4 weeks or longer?

    Myself and some other people already had their submissions picked more than one time. That might be considered unfair. But maybe people just prefer the unpredictable and unfair chaos of the RNG.



  • As one that hasn't had their song picked yet, I selfishly would support a soft-ban if your song was already picked recently. But realistically, with as many songs as there are in queue, the difference between 1 in 350 and 1 in 340 is insignificant and would just read as a feel-bad. I do think the recency bias should be made explicitly clear though. The initial rush of song re-listings when Kyle announced it last night was humorous, but I don't want chat to just constantly flood with people trying to be the newest in queue all night long.



  • @Dirokia There is no need to refresh a submission more than once per month anyway. It does not make a difference. The bot does not maintain an ordered queue of submissions. Every song not older than 30 days has the same chance of being picked. Refresing it once per month with /w SoundtrackBot !song is enough and prevents spam in main chat. Resubmitting it multiple times does not have an effect.

    This is the code:

    def pick_winner():
        winner = None
        if random.randint(0, 3) > 0: # 67% -> pick from recent submissions, 33% -> pick from all
            recent_submissions = find_songs_newer_than(SONG_EXPIRY) # SONG_EXPIRY = 30 days
            if recent_submissions:
                winner = random.choice(list(recent_submissions.keys()))
        if not winner:
            winner = random.choice(list(submissions.keys()))
        return winner
    


  • So, my proposal to the song submission randomizer:

    It all comes down to this: do we (or, preferably, Kyle) prefer a totally random song from anyone or the idea of the viewer having the gratification of being chosen?

    If it's the first: equal chance for every submission, never delete.

    If it's the second: equal chance, submissions expire after one week (to accommodate YouTube viewers)

    Pro/Con of the first method:
    Pro: Maybe there's an interesting song waiting a long time to be choosen
    Con: maybe an one time viewer sent a submission, a month later he is choosen and never sees it. Long time viewers who never got a song choosen loses a chance.

    Pro/Con of the second method:
    Pro: Fresh songs of interested viewers gets choosen. Maybe higher quality, more in tune with Kyle/chat's preferences.
    Con: We may be losing cool songs submissions to give preference to our need for gratification in being choosen.

    So, what about a
    Middle-of-the-road method:
    Higher chance to submissions a week old maximum. Submissions expire after some time (a month, maybe).

    ...I thought way too much about this.



  • First ToniP you are a blessing and I love ya. You da Goat.

    But you gotta understand that the fairest thing you can do is never delete the pool and never have these modifiers favoring old or new submissions.

    There are people who watch the show on Youtube and can't submit music as often as a regular Twitch viewer so its important to leave that pool open. I understand wanting to purge the pool to better the odds of everyones song getting picked but if the purpose of the SoundtrackBot is to be fair randomly selected pick than you need to be fair to EVERYONE even those that are not there in chat as often as us.

    And by far the absolute worse thing you can do is add anything to SoundtrackBots code that favors one pool over another pool. If 67% of the time it picks from a more recent song pool it makes an already low percentage for an older song to be so much lower. And that's just doesn't make it fair.

    So you gotta decide what you want the system to be because if you want it to FAIRNESS above all else than it needs to be that 1/400 chance of getting picked cause that is letting the laws of RNG decide. Having a modifier is like having a loaded dice. Pure unfairness.

    And that's why we had Velve win twice in a row. He was favored to win amongst a pool of picks that weren't up to date to the new modifier you added. Thats my two cents.

    tldr: 1/400 is the fairest system. It's the system we always had and it should not change.



  • @HonkedOffJohn

    I agree that selection should be random and unbiased. However, there is a problem that will only grow with time: currently, the number of submission grows from week to week by ~50 songs. If that continues, we will have ~500 submissions by the end of this month, ~700 submissions by the end of next month, and so on. Of course, the rate of growth might slow down, but there will be some growth in any case. The probability for active viewers to have their song picked will reduce over time.

    At the same time, we can take it as a given that there are and always will be people who submit a song and then stop watching the stream at some point. The main question is: is it fair to remove songs from people who are no longer watching, so that active viewers do not have their chance reduced by abandoned songs.

    If the answer is yes, then we need some system to expire abandoned songs.

    The current proposal is to reconfirm your submission once a month if you are an active viewer. This would maintain the same probability for all viewers who watch the stream at least once a month, including YouTube viewers. Everyone else will have a "soft expiry" that retains the song but lowers its probably.

    If the answer is no, then we can go back to a system without expiry. But then we have to accept that the pool will grow over over time.



  • @ElTorro said in Song Submission for Bosman vs Wozniak:

    The current proposal is to reconfirm your submission once a month if you are an active viewer. This would maintain the same probability for all viewers who watch the stream at least once a month, including YouTube viewers. Everyone else will have a "soft expiry" that retains the song but lowers its probably.

    This is fine, IMO. Though I would personally drop the probability of old songs to 25%.



  • @ElTorro ok that is a good compromise but the majority of the pool is newer songs and the pool will grow every week cause the stream is growing. I truly don't believe that deleting the pool will be that effective to the odds when there are always new viewers every week and their aren't that many old songs past 30 days. At the same time I don't know how Kyle feels about deleting the pool when he hasn't done it once. You could just do it anyway. Delete the pool, announce that you did and have everyone resubmit their songs. Clean slate.

    And by the way I'm okay with repeat winners as long as its a fair shot everytime. No modifiers.



  • how does the raffle work



  • @ib0show

    Try !rafflehelp