Wednesday, December 14, 2011

Predicting Your Search Engine Rankings

I've been writing on keyword efficiency, and in a coming week I will write about one factor that an ideal keyword efficiency metric would take into account: keyword difficulty. Obviously the holy grail of keyword research is the identification of the keyword targets that, if optimized for, would provide the highest return on investment. To find it, all you need to do is:
  1. Find the traffic for a keyword (or average traffic for keywords in a given market).
  2. Find the keyword difficulty.
  3. Using (2), predict the rank in Google your site can achieve.
  4. Using (1), (3), and data on search engine click-through rates, calculate how many hits your site will receive.
  5. Using (4) and data on conversion rates, calculate how many sales your site will make.
  6. Using (5) and your profit margin for the product that best matches the keyword, calculate your total return.
  7. Using (2), calculate how much you need to invest.
  8. Using (6) and (7) calculate your return on investment.
  9. Repeat for other keywords, and using (8) for each, find the keywords with the highest ROI
This week I want to introduce an idea for a formula for step 3. When meeting with a prospect the other day in a coffee shop in Coeur d'Alene, he began telling me about his practice and a new product that will soon be all the rage. I whipped out the SEOmoz Keyword Difficulty tool to get a rough and ready picture of how competitive the search market was and though I was glad to be able to go get a feel for the market beyond how just numerous the competition was, I began wishing that I could go even further than merely the difficulty of ranking for a keyword. I wished I could get an estimate of what I could actually rank for my keyword in Google.

So I started thinking of a way of trying to project what one could rank for a given keyword, given its difficulty. Here is the current state of my idea, which is admittedly in need of some development: Make a table with all the URLs you've ever optimized in column A, the keywords for which each URL ranks in column B (requiring there to be duplicates in column A), the Keyword Difficulty of each in column C, and the position of each URL for each keyword in column D. Your constants in a SERP Position Prediction Formula ("SERPPPF" for short) are: your average rank (taken from averaging column D) and your average difficulty (taken from averaging column C). The variable in your SERPPPF is the Keyword Difficulty for the keyword you are thinking of targeting.

The rank prediction formula goes like this: (aR x KD) ÷ aKD = R

In the formula above, aR (the average rank you are able to achieve for URLs you optimize) and aKD (the average keyword difficulty for terms you target) are the two constants you derived from your historical ranking data. KD (the keyword difficulty score assigned by SEOmoz's tool) is the variable that you will look up and punch into your formula whenever you want to see how well you could do for a given keyword you are considering.

Voila! Now you have a rough picture of what kind of position you could achieve for new keywords you consider, given what you've been able to accomplish historically.


WEAKNESSES OF THE RANK PREDICTION FORMULA

As it stands, this formula doesn't take SEO timelines into account. Your historical data are going to represent work in various stages of the SEO process, and this new keyword you might target comes with its own timelines as well. It also fails to take into account the resources behind the campaign associated each keyword. I've worked with some clients unwilling to invest in their own marketing and wanting me to do it all for them (which sucks), and others chomping at the bit to write high quality articles, leverage existing client and vendor relationships for link building, and coming up with neat link-baiting ideas while they lay awake at night. Ok, I lied about that second kind. But you get the point. Different SEO campaigns have different factors driving them.

One way to mitigate this weakness is to only include URLs in your dataset that represent work in similar stages of development and with similar backing. Calculating those values will have to be a post for another day! And obviously, the bigger the dataset, the better.

I think that insofar as one is trying to estimate ROI, my formula for predicting search engine rankings is certainly better than a shot in the dark.


THINKING AHEAD

You know what could be cool? If there were a way to aggregate data like this for professional SEOs, such as those in the SEOmoz community. My SEOmoz Pro account already knows my keyword targets and their difficulty ratings, as well as my rankings for them. This whole process could easily be automated.

Furthermore, why not allow mozzers to opt-in to contributing toward community benchmarks? Wouldn't it be great to see how you stack up to other SEOs? What if the Keyword Difficulty tool displayed something like "The average mozzer is able to rank 1st in Google for keywords with this difficulty rating." in its results page?