When dieting for contest, I do it like this. I set BF% targets. When I get there, I have a cheat day.
So, basically, everytime I drop 1% BF, I get a cheat day. If the BF% doesn't come down, I don't get to cheat.
Sometimes, I'll go only 4-5 days and get another cheat day. Sometimes, I go two or three weeks. It is what it is.
This is only when dieting.
During everyday living, I just eat whatever I want on Sundays.