"It depends" is the honest answer, but it's not a useful one. Here's roughly what actually happens, month by month, for a contractor starting local SEO from a typical, mostly-neglected starting point.
The first 30 days
This is audit and setup — keyword research, technical fixes, Google Business Profile cleanup, and the first round of city and service pages going live. You generally won't see ranking movement yet; this is the foundation the rest of the work stands on.
60–90 days
This is usually when the first real movement shows up — new pages start getting indexed and climbing, your Google Business Profile starts showing up more consistently in the map pack for at least a few terms. It's early, but it's a real signal the strategy is working.
3–6 months
This is where most contractors start feeling it — noticeably more calls, rankings holding steady or climbing further, and the map pack becoming a reliable source of leads rather than an occasional one.
Why SEO compounds instead of spiking
Paid ads stop the moment you stop paying. SEO works differently — each page, citation, and review adds to an accumulating base of authority that keeps working in the background, which is also why it's slow to start and hard to fully replicate quickly once a competitor has a head start.
Anyone promising overnight rankings is either guessing or using tactics that put your site at risk. See our Local SEO service for how we actually approach the timeline.