I'm trying to estimate the ROI of a social media campaign but the main issue I'm falling into is linking social media spend to actual company sales. More followers/tweets/likes/fans etc may just mean more followers/tweets/likes/fans and not translate into sales. I have tonnes of data about the campaign itself e.g. spend, followers gained, lost, engagements etc but nothing to really tie it into direct sales for the company.

I could assume an average purchase value but I fear this would just scale things incorrectly e.g. if you were comparing a coca cola can purchase to an expensive perfume purchase the ROI may be the same but the perfume purchase would require much less additional followers (assuming a linear relation between the number of followers and purchases) just because the price is higher.

I'm posting here for a more elegant statistically sound way minimizing assumptions. I'm just predicting past performance so no need for predictions.

My hunch is to analyse and look for 'positive' words in each tweet or something and assume that equal a sale. But not sure that makes sense as would someone tweet/post on FB everytime they buy a coffee?

Any ideas are welcome.


I might be tempted to try the new CausalImpact R package developed by Google Research. It's a synthetic cohort Bayesian structural time-series model that estimates the cumulative causal effect of an intervention.

The first inputs would be the time series of sales for the firm, so if you don't have that, there's not much that can be done. The second would be the Google Trends data for your keywords specific to your industry to construct the counterfactual. For example, if the firm was an ice cream parlor in Hoboken NJ, I might use the google trends time series for "ice cream" and any related queries like "ice cream sandwich" and "best shakes" for the NYC Metro Area. Don't use keywords that are specific to your firm, like "Dino's Cones". Adjust geographic area based on your firm's location. The identifying assumption is that these keywords trends are not altered by the campaign. If your firm is a national monopolist, this would not work, since your campaign would likely skew the Google queries.

The github page contains an example, and there's also a paper in the resources section that has a nice example. One of the outputs is the cumulative effect of the campaign on sales as of a particular date. You would take that number and divide it by the total spending on the campaign as off that date.

This method will not allow you distinguish between multiple campaigns. That would be a really hard question.

  • $\begingroup$ This looks great! Although I'm confused about 1 thing here - what would be the input? I don't have actual sales data (as thats private to the company) and what keywords do I search for when looking at a Twitter/Facebook campaign (I reckon I could see what words are most commonly searched by users following that page). I only have campaign spend data (daily over about 1.5 years) and data e.g. followers, clicks, likes etc each day. Can you clarify what you mean by divide the estimate by campaign spend to get ROI? A simple numerical example would be great too! :) This is a really big help! $\endgroup$ – Dino Abraham Nov 14 '14 at 9:16
  • $\begingroup$ Also what about bigger companies who may run multiple campaigns/overlapping campaigns? This is strictly limited to a 1 campaign at a time analysis, right? $\endgroup$ – Dino Abraham Nov 14 '14 at 13:23
  • $\begingroup$ @DinoAbraham I edited my answer to address your questions. $\endgroup$ – Dimitriy V. Masterov Nov 14 '14 at 19:10
  • $\begingroup$ Great answer thank you! A few ques for you: 1. I have spend data on social media for a firm but not sales data - how do I calculate sales ROI? I won't be able to make the cumulative graph, will I? 2. I'm confused about how searching for terms in Google trends helps calculate ROI for an ice cream parlor for example for Twitter/FB campaigns. Am i basically using this method to find the 'max they should pay for a campaign' vs how much they did pay 3. The example in the paper seems to use clicks. If I divide clicks by spend I get spend per click but I'm confused how that translates to ROI :) $\endgroup$ – Dino Abraham Nov 14 '14 at 21:10
  • $\begingroup$ 4. If a large company is constantly spending (less vs more instead of none vs a lot) does this method distinguish between 'statistically 0 spend' and 'significant spend' when performing calculations 5. Should this not link to campaign aim e.g. some companies just want to build brand awareness/gain followers vs gain sales - the method can be applied just the time series input changes right? 5. How do I give positive rep :) $\endgroup$ – Dino Abraham Nov 14 '14 at 21:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.