There are trends that show when and from who you get a specific honour, these trends determine whether you get the ribbon. If there is a clear correlation between the amount of games you have played and the number of honour you have received for a specific type you will be rewarded if it persists for some time. Say you've played 10 games and you've received around 1/2 points for friendly in every single game, you'll be MORE LIKELY to receive the ribbon then someone who has had 4 points in one game then nothing for 6/7 games and then 12 points in the rest of the 10 games.
Original post which is false:
So lots of people seem to think that if you fall into a certain top % of players in any honour category, you automatically get the ribbon. This how ever is not true, you actually get a ribbon when you get honoured in the same category by either all your opponents or all your allies in one game.
If you were to get 4 friendly honours, you will get the friendly ribbon. The same goes for Teamwork and Helpful. For the Honourable Opponent ribbon you need all 5 of the opponents to Honour you.
I played with a team who started to call out their roles in all caps, I played along and said everything in caps, so did they. One thing leads to another and we all got 4 friendly honour points giving us the ribbons. I was at 17 friendly points when I got the ribbon and some of the other people were higher and lower but still received it.