According to Google, you should give your SEO company 4-6 months to produce minimum results, and 12 months or more to produce more complete results. SEO is a long term strategy that produces one of the highest ROIs (return on investment) of any marketing tactic.