I wish it were as easy as saying it's $X per month or exactly this % of your revenues, but unfortunately it just isn't that easy. Every website, business and SEO professional is different which makes standard pricing impossible. Despite being unable to expect a specific amount of dollars, I'll still provide enough info so you know what to expect.
For your SEO strategy you should expect to pay for your SEO on either a retainer or project basis. This means you'll either pay monthly for a set amount of hours or you'll pay a lump sum up front and additional fees as they come up.
According to Website Magazine, you should expect to pay at least $100 per hour for an SEO agency. If you are working on a project basis the SEO should review your business, competition, goals, and website. After careful analysis they'll be able to estimate the volume of hours it would take and you would pay up front for the project.
Project pricing SEO does work, but SEO is never a set it and forget it strategy. You will be paying someone to do more work in the future whether it's for content creation, technology updates, etc.
Retainers are a nice option because you would not be required to pay a large sum up front, but instead pay on a monthly basis which can be easier for a small business to accommodate. Remember how I said SEO is never a set it and forget it strategy? That's another nice reason the retainer method works well. The items that need to be done can be done in a timely manner and be within your set budget, not an unexpected one.
In order to implement a good SEO strategy the agency must look at what's already there. This includes your website, industry, competition, current SEO status, analytics and more. Some SEO agencies will charge for this prior to even quoting the actual project, some won't.
SEO needs content, this is no secret. You should expect to pay someone to write and or modify website content. This would include website pages, blog posts and possibly other content marketing pieces. You might hire your SEO, a content writer, or even someone internally to handle this...but someone has to.
One of the best things about inbound marketing is how trackable it is. By reviewing website analytics on a regular basis an SEO can use that data to continually improve the strategy. You should budget your SEO to report and provide ongoing recommendations if that is not already included in a retainer.
Not all SEO agencies will have the ability to make changes to the behind-the-scenes aspects of your website. This might be because they don't have the skill set or because they don't have access to make the changes. At some point there will likely be improvement recommendations for the technology of your website so you should determine how those changes will be made and if they are outside of the scope of the SEO project or a web development you have.
If your SEO is part of an overall inbound marketing strategy. If your goal is to generate leads and then convert those leads to sales, you should be considering a more comprehensive inbound marketing strategy. Inbound marketing will be more of an investment as it takes more time and effort, but the overall ROI (return-on-investment) will likely be better than just an SEO strategy on its own, as you're not only focused on website visitors but making those website visitors customers!
This simple answer to this initial question is...don't expect to pay pennies and don't expect it to be set it and forget it. A good SEO strategy should provide you with a good ROI and the data should be able to prove it.