I understand the frustration you are feeling.
I always say to all new customers, "that's £x for a clean every 5 weeks." They agree and away I go. The amount of times I have called back and get the "not this time", or the "they don't look too dirty" lines - makes me so angry!
I went for a 5 weekly clean as monthly seemed too soon for most people and 6 weekly was a bit too long, although as I am building my work up more at the moment I am going to aim to get another weeks worth of work so I can make it 6 weekly. Hopefully this will cut down on the customer excuses.
But I am the same as you, I had an agreement with the customer for the price and frequency of clean. If I suddenly said "sorry Mrs Customer but I will be charging you an extra £5 this visit" I would soon loose all my customers. So when people say "not this time" and don't have a genuine reason to give me, they are dropped like a hot cake. I only work a few days per week due to other commitments so when I lose a customer to a "not this time mate" that can be a serious hit on my wages for the week as I don't have tons of customer all backed up waiting for a clean.
I took up window cleaning for a lot of reasons I won't go into, but the lack of stress has been a real bonus, after working in an office for a few years. If any of my customer cause me stress by changing our agreement in the above mentioned ways, I don't need the stress and I know I'm more in demand as a WC'er and can replace them if need be.
But in the spirit of good business I do always try and explain what's what to customers and don't throw my WFP out of the pram and storm off in a huff..!!