People do not work harder because a goal matters. They work harder because it feels close. Milestones exist to make a distant goal feel close, repeatedly.
This is the goal gradient effect, and it is one of the oldest findings in behavioural science. In the 1930s, Clark Hull observed that rats ran faster down a runway the nearer they got to the food box. The effect was resurrected for humans by Ran Kivetz, Oleg Urminsky and Yuhuang Zheng in the Journal of Marketing Research in 2006, and their results explain more about stalled goals than most productivity advice does.
Kivetz and colleagues studied a real café reward programme: buy ten coffees, get one free.
Customers bought coffee more frequently the closer they were to the free one. Same customers, same coffee, same price. The only variable was distance to the reward.
They found the same pattern in a completely different setting, an online service where users rated songs in exchange for reward certificates. As people approached the goal, they visited more often, rated more songs per visit, and persisted longer in the task.
Then they ran the manipulation that makes the finding useful. Some customers got a twelve-stamp card that arrived with two stamps already filled in as a bonus. Others got a plain ten-stamp card. Both groups had to buy exactly ten coffees. The group holding the twelve-stamp card with two free stamps completed their ten purchases faster.
The work was identical. The perceived position was not. People who felt they had already started moved faster than people who felt they were starting.
Now apply that to a twelve-month goal with one deadline at the end.
For roughly eleven of those twelve months, there is no proximity at all. The finish line is too far away to pull anything. You are in the flat middle of the runway, where the goal-gradient effect provides exactly zero assistance, and the only thing holding the work up is discipline.
That middle stretch is where most long goals quietly die. Not at the start, where novelty carries you, and not at the end, where the pull is strongest. In the middle, where nothing is close.
Milestones are the fix, and their entire job is structural: convert one distant finish line into a chain of near ones so that you are always inside the accelerating part of the gradient.
Rule 1: never more than six to eight weeks apart. This is the single most important number. A milestone further out than about two months stops functioning as a near goal and becomes another distant one. If your goal is twelve months, that means six to eight milestones, not three.
Rule 2: each milestone is a state, not a percentage. "40 percent done" is not a milestone, it is an estimate, and on most real work it is a fictional one. "The first three chapters are written and edited" is a state. You can verify it, and you cannot argue yourself into having reached it.
Rule 3: each milestone gets a number and a date. Same rule as the goal itself. A milestone without a date does not create proximity, because proximity is a function of time as well as work remaining. The full specification rules are in how to set goals that work.
Rule 4: size them by your real history, not your optimism. Milestone dates are forecasts, and forecasts are systematically too short. The correction method, using the actual duration of comparable past work rather than an imagined clean run, is covered in the planning fallacy. Milestones set optimistically produce a goal that reads as late from week three, which destroys the exact motivational effect you built them for.
| Goal | Bad milestones | Good milestones |
|---|
| Run a half marathon on 12 October | 25%, 50%, 75% done | 10 km continuous by 30 June, 15 km by 2 August, 18 km by 6 September |
| Ship the app by 30 September | Design, build, launch | Auth flow working by 15 June, core screen usable by 20 July, private beta with 10 users by 25 August |
| Save 6,000 by 31 December | Save a bit each month | 1,500 banked by 31 March, 3,000 by 30 June, 4,500 by 30 September |
The coffee card study found something people rarely plan for. After earning the first reward, participants reduced their engagement, then accelerated again as they approached the second reward. The dip was not a failure of character. It was the gradient resetting: you were near a goal, then suddenly you were not.
Two consequences.
Expect the slump and do not interpret it. The week after a milestone is the week you feel least like working. That is the mechanism operating exactly as described, not evidence that you have lost interest in the goal.
Define the next milestone before you reach the current one. If the next near goal already exists on the day you hit this one, the gradient has somewhere to point immediately. If you wait until after to decide what is next, you spend the dip with no target at all, and that is where goals get abandoned in a state of technical success.
The same study noted that people who accelerated harder towards the first reward re-engaged faster afterwards. Momentum carries across the gap if there is something on the other side of it.
The two-free-stamps result has an honest application and a dishonest one.
The honest one: count the work you have already done. Most people define a goal from zero on the day they name it, ignoring everything that got them to the starting line. If you have already been running 5 km for a year, your half marathon goal does not start at zero, it starts at 5 km, and the plan should say so. That is not self-flattery, it is accurate accounting, and it puts you further along the gradient on day one.
The dishonest one: designing progress so it never resolves. There is always another near-end, the bar is always nearly full, and stopping always reads as loss. That works on customers. Used on yourself it produces a goal that never completes, and a completion you never allow yourself to feel is the fastest way to stop believing the whole exercise.
Take your longest current goal and check one thing: how many weeks until the next verifiable, dated checkpoint?
If the answer is more than eight, that is your problem, and it is not motivation. Insert a checkpoint. Give it a state, a number and a date. Then write the one after it, so that when you hit the first, the gradient already has somewhere to go.