My Flow algorith does this:
5 country songs
5 jazz songs
5 fado songs
5 folk songs
Why not just let it play in the genre the user likes? This is indicated by not skipping forward.
One skip forward does not indicate a change of genre (or two). Three can be the trigger.
A skip backward indicates user dislikes those three songs but doesn’t want a change.