Every year we do a year in review analysis of our email marketing team’s performance. This year we’re looking back on 2014, and I know we have already seen some positive improvements. When I first started working there, almost three years ago now, open rates department wide averaged 17%. Since then we have been doing a monthly results recap with the writers and managers. This year, most months averaged 43% department wide for open rates.

One other aspect I personally add to the process are doing a simple cyclical analysis and a multiple linear regression analysis. The regression analysis gives us a formula to use in campaign forecasting, tells us what factors to consider when sending, and helps sort outliers for reporting purposes later on. The cyclical analysis just lets us know what forecasting offsets to use each month.

I recently found a couple of Node.js libraries that can handle multiple linear regression generation, so in the future we may have a nightly analysis run to generate new forecasting models for the next day. That’s a bit far off, but it would be exciting.

Two obvious caveats to that are the floating-ploat innacuracies inherent in all javascript calculations, and the single-thread nature of Node. I’ll have to do a little digging to figure out whether our numbers can handle the non-tolerances of floating point calculations, but if nothing else, I can always go looking for a Python library.