A multi-stage event detector (10, 2, 4, 6) for monitoring a system to detect the occurrence of multi-stage events in the monitored system, the multi-stage event detector storing a plurality of patterns of multi-stage events, each pattern specifying a sequence of stages and models of transitions from one stage to another, the multi-stage event detector including: one or more observable event detecting detector units (142, 144) for detecting observable events occurring on the monitored system; one or more parameter generating detector units (152, 154) for generating parameter values which vary over time dependent on the behaviour of the monitored system; a hidden state determiner for determining a likely sequence of hidden states of interest of the system based on the outputs of the one or more event detecting detector units (142, 144), wherein the hidden states of interest of the system correspond to stages in the stored patterns of the multi-stage events; and a transition determiner for determining a likely transition occurrence, corresponding to a transition from one stage to another in the stored patterns of the multi-stage events, based on a comparison of a set of values of a parameter or set of parameters generated by one or more of the one or more parameter generating detector units (152, 154) with a plurality of pre-specified functions or sets of values of a corresponding parameter or set of parameters associated with different transitions from one stage to another in the stored patterns of the multi-stage events; wherein the multi-stage event detector determines an estimated identity of a multi-stage event and an estimated current stage of the multi-stage event in dependence upon a comparison of both the determination by the hidden state determiner of a likely sequence of hidden states of interest of the system and the determination by the transition determiner of a likely transition occurrence with the stored patterns of multi-stage events specifying both sequences of stages and transitions between stages. one or more observable event detecting detector units (142, 144) for detecting observable events occurring on the monitored system; one or more parameter generating detector units (152, 154) for generating parameter values which vary over time dependent on the behaviour of the monitored system; a hidden state determiner for determining a likely sequence of hidden states of interest of the system based on the outputs of the one or more event detecting detector units (142, 144), wherein the hidden states of interest of the system correspond to stages in the stored patterns of the multi-stage events; and a transition determiner for determining a likely transition occurrence, corresponding to a transition from one stage to another in the stored patterns of the multi-stage events, based on a comparison of a set of values of a parameter or set of parameters generated by one or more of the one or more parameter generating detector units (152, 154) with a plurality of pre-specified functions or sets of values of a corresponding parameter or set of parameters associated with different transitions from one stage to another in the stored patterns of the multi-stage events; wherein the multi-stage event detector determines an estimated identity of a multi-stage event and an estimated current stage of the multi-stage event in dependence upon a comparison of both the determination by the hidden state determiner of a likely sequence of hidden states of interest of the system and the determination by the transition determiner of a likely transition occurrence with the stored patterns of multi-stage events specifying both sequences of stages and transitions between stages.