There is, unfortunately, not a definitive answer to this question as it depends on many variables. SEO is not an exact science. That being said, if you are working with a reputable and professional SEO agency, then you should start seeing the positive effects from their work normally within 2-3 months from the start of a campaign. SEO is an on-going process, however, and there are nearly always areas to work on in order to refine a campaign and maintain good performance in the search engines. Many businesses happily invest in SEO continuously over many years due to the correlation they see with improved website performance, traffic and revenue generated off the back of their SEO efforts.