The danger of pricing by milestones

There are five ways to price big jobs like a ghostwriting or editing job. These are their pros and cons.
- Price by the hour. Pros: As a freelancer, you get paid for the amount of work you do, automatically accounting for things that take extra work. Cons: Your client has to trust your accounting of hours. And hourly compensation incents workers who work slowly.
- Price up front and on completion, typically half up front, half on completion. Pros: You get a lot of money right away. Cons: You then do a crap-ton of work without additional compensation, which can become endless. This model also requires a massive amount of trust on the part of the client.
- Retainer — get paid by the month and for additional work. Pros: A regular income stream for the freelancer. Cons: The client who pauses the project or slows down wonders why they’re still paying, and may dump you.
- Get paid based on publisher payments. For example, a ghostwriter might get 25% of any advance and royalties. Pros: Cheap for the client, since it’s paid for out of money they’re getting from elsewhere. Cons: Extremely uncertain level of compensation for the writer. You risk getting no money or a pittance if the book doesn’t sell to publishers for a lot. And you have to wait until the publisher pays the advance installments, which takes years.
- Price by milestones. Get paid a significant amount up front, but then get paid for accomplishing specific goals like drafting five chapters. Pros: You get paid as you go along for work you are doing, and the client sees and pays for that progress. And the client has a predictable, fixed cost. Cons: If the project doesn’t go as planned, your pricing is in uncharted territory.
The challenge of pricing by milestones
Most of the ghostwriters I know price by milestones. It attracts clients and maximizes the trust between the client and the writer, because the client sees and pay for progress.
The challenge is, you need to accurately predict how the project will go. That’s not always possible.
Clients who are chaotic, backtrack, require revisions on work that was previously approved, or shift their goals mid-project can make this method extremely disruptive.
I try to avoid those sorts of projects, but my ability to see chaos coming is far from perfect.
I’m still resistant to charging by the hour, because I pride myself on my efficiency and want to be compensated for what I produce, not how long it took me to produce it.
I’d love to hear from other freelancers. Do you ever charge by project milestones this way? How often do projects go off the rails? And what do you do when that happens?
Invent incites cringe.