Time Series Anomaly Detection with Python I need to implement anomaly detection on several time-series datasets.  I've never done this before and was hoping for some advice.  I'm very comfortable with python, so I would prefer the solution be implemented in it (most of my code is python for other parts of my work).
Description of the data:
It's monthly time-series data that has only just begun to be collected in the past 2 years or so (i.e. only 24-36 time periods).  Essentially, there are several metrics being monitored on a monthly basis for several clients.
time_period    client    metric    score
01-2013        client1   metric1   100
02-2013        client1   metric1   119
01-2013        client2   metric1   50
02-2013        client2   metric2   500
...

Here's what I'm thinking: pull data into a dataframe (pandas), then calculate a rolling 6 month average for each client / metric pair.  If the current time period's value exceeds some threshold based on the 6-month avg., then raise flag.  The problem seems rather simple. I just want to make sure I'm taking a solid approach.
Any advice to flesh this idea out a bit would be greatly appreciated.  I know the question is a bit abstract, and I apologize for that.
 A: I think an approach similar to statistical process control, with control charts etc. might be useful here.
A: There is plenty of options for anomaly detection, from a standard deviation using Pandas std deviation function, to a Bayesian method and many Machine learning methods in between like: clustering, SVM, Gaussian Process, Neural networks. 
Take a look to this tutorial:
https://www.datascience.com/blog/python-anomaly-detection
From a Bayesian perspective I recomend Facebook Prophet. It gives very advanced results without the need of being a Time series expert. It has the options for working on months, days etc, and "uncertainty intervals" help with anomalies. 
Finally, I recomend this Uber blog about using Neural nets (LSTM) for anomaly detection, it has very goods insights:
https://eng.uber.com/neural-networks/
A: If you are willing to assume that your dataset is normally distributed, then you can estimate quantiles of this this distribution and see if it falls outside e.g 95%, 80%, etc quantile. I'm not too familiar with Python libraries but I'm sure there are already built functions for it.
