Causality is a key part of many fields and facets of life, from finding the relationship between diet and disease to discovering the reason for a particular stock market crash. Despite centuries of work in philosophy and decades of computational research, automated inference and explanation remains an open problem. In particular, the timing and complexity of relationships has been largely ignored even though this information is critically important for prediction, explanation and intervention. However, given the growing availability of large observational datasets including those from electronic health records and social networks, it is a practical necessity. This book presents a new approach to inference (finding relationships from a set of data) and explanation (assessing why a particular event occurred), addressing both the timing and complexity of relationships. The practical use of the method developed is illustrated through theoretical and experimental case studies, demonstrating its feasibility and success.