I don’t include “revisions” in my contracts due to the ambiguity of what constitutes a revision. Using your example, I don’t know how one would go about identifying what a 15% change might be. Instead, I spell out exactly what the deliverables are then assign a dollars-per-hour cost to anything beyond that (basically a nuisance fee).
Over the years, I found that writing a set number of revisions into a contract served as reason for clients to request them. Most of the time, no revisions were really needed, but clients asked for them anyway since they figured they were being charged for them.
Besides, clients hire me to create what they need (which isn’t necessarily the same as what they like). Having them meddle in the work as they vacillate between this and that, change their minds, request revisions, and fiddle around with design details is something I don’t want and something they shouldn’t want either. My work suffers when I start catering to client whims, so it’s best to discourage it by charging them extra.
Today, I just charge a bit more for the entire job and assume that some tweaking will be needed here and there for various and understandable reasons. If it goes beyond that, clients know they’ll be charged an hourly fee, so they tend to be more efficient in signing off on final approval.