  The recent increase in the scale and complexity of software systems has
introduced new challenges to the time series monitoring and anomaly detection
process. A major drawback of existing anomaly detection methods is that they
lack contextual information to help stakeholders identify the cause of
anomalies. This problem, known as root cause detection, is particularly
challenging to undertake in today's complex distributed software systems since
the metrics under consideration generally have multiple internal and external
dependencies. Significant manual analysis and strong domain expertise is
required to isolate the correct cause of the problem. In this paper, we propose
a method that isolates the root cause of an anomaly by analyzing the patterns
in time series fluctuations. Our method considers the time series as
observations from an underlying process passing through a sequence of
discretized hidden states. The idea is to track the propagation of the effect
when a given problem causes unaligned but homogeneous shifts of the underlying
states. We evaluate our approach by finding the root cause of anomalies in
Zillows clickstream data by identifying causal patterns among a set of observed
fluctuations.
