A computer program implemented method for detecting permanent failures in a mobile network, comprising: - collecting input data which comprise one or more network alarms from at least a network element, the one or more network alarms notifying a failure in a site of the mobile network; - classifying each network alarm and, for each class of network alarm, recording an initial time of a failure at which at least one network alarm of a class raises and a duration in time during said at least one network alarm is active; characterized by further comprising using a machine learning model or a deep learning model, trained with the collected input data, to determine whether the failure is permanent or not by the following steps: - for at least one class of network alarm, at every initial time of the failure, merging all the subsequent network alarms of the same class of the failure; - querying the learning model if one of at least the failure or one of the merged subsequent network alarms is active after a defined time period; - determining that the failure is permanent in the site if the answer from the query is positive; and using the machine learning model or the deep learning model, trained with the collected input data comprising additional information associated with the site, to determine whether the site is permanent failing or not by the following steps: - slotting the time and define a minimum number of time slots within a time window; - for each time slot, querying the learning model if one of at least the failure or one of the merged subsequent network alarms is active within the time window for at least the defined minimum number of time slots; - determining that the site is permanent failing if the answer from the previous query is positive. - collecting input data which comprise one or more network alarms from at least a network element, the one or more network alarms notifying a failure in a site of the mobile network; - classifying each network alarm and, for each class of network alarm, recording an initial time of a failure at which at least one network alarm of a class raises and a duration in time during said at least one network alarm is active; characterized by further comprising using a machine learning model or a deep learning model, trained with the collected input data, to determine whether the failure is permanent or not by the following steps: - for at least one class of network alarm, at every initial time of the failure, merging all the subsequent network alarms of the same class of the failure; - querying the learning model if one of at least the failure or one of the merged subsequent network alarms is active after a defined time period; - determining that the failure is permanent in the site if the answer from the query is positive; - for at least one class of network alarm, at every initial time of the failure, merging all the subsequent network alarms of the same class of the failure; - querying the learning model if one of at least the failure or one of the merged subsequent network alarms is active after a defined time period; - determining that the failure is permanent in the site if the answer from the query is positive; and using the machine learning model or the deep learning model, trained with the collected input data comprising additional information associated with the site, to determine whether the site is permanent failing or not by the following steps: - slotting the time and define a minimum number of time slots within a time window; - for each time slot, querying the learning model if one of at least the failure or one of the merged subsequent network alarms is active within the time window for at least the defined minimum number of time slots; - determining that the site is permanent failing if the answer from the previous query is positive. - slotting the time and define a minimum number of time slots within a time window; - for each time slot, querying the learning model if one of at least the failure or one of the merged subsequent network alarms is active within the time window for at least the defined minimum number of time slots; - determining that the site is permanent failing if the answer from the previous query is positive.