---
title: "Cadence intra-mois (v2)"
weight: 35
description: "Détection des anomalies sur le rythme habituel de facturation au sein du mois courant, par catégorie de tiers (oublis d'abonnements, pics inhabituels)."
---

# Cadence intra-mois

La page **Cadence intra-mois** (menu **Facturation -> capPatrol -> Cadence du mois**) répond à un besoin différent de la page "Anomalies de facturation" :

- la page **Anomalies de facturation** raisonne **par tiers** sur le mois courant complet ;
- la page **Cadence intra-mois** raisonne **par catégorie de tiers**, sur des **créneaux de jours** depuis le début du mois.

Cas d'usage typique : vous avez une catégorie "Abonnements mensuels" qui produit habituellement **20 factures pour 5 000 €** entre le 1er et le 5 du mois. Si on est le 6 et que cette catégorie n'a généré aucune facture, capPatrol vous alerte immédiatement.

![Page Cadence intra-mois avec un tableau d'anomalies par catégorie](screenshots/cadence-intra-mois.webp)

## Que regarde le détecteur ?

Pour chaque **catégorie de tiers clients** (et pour la vue agrégée "toutes catégories confondues"), capPatrol agrège deux séries sur les 12 derniers mois :

- le **nombre de factures** émises par jour,
- le **montant HT cumulé** par jour.

Pour chaque jour `d` du mois courant (de 1 à aujourd'hui) et pour chacune des deux séries, le module compare le cumul observé sur les jours 1 à `d` du mois courant à la **distribution historique** du même cumul (jours 1 à `d`) sur les 11 mois précédents.

L'écart est mesuré par un **z-score robuste** : `(observé - médiane) / max(MAD, 1)`. Si la valeur absolue dépasse le seuil configuré (3,5 par défaut), le créneau est signalé comme :

- **Chute** (`drop`) si l'observé est inférieur à la médiane,
- **Pic** (`spike`) si l'observé est supérieur.

Pour limiter le bruit, capPatrol :

- **ne signale que la fenêtre la plus extrême** par couple (catégorie, type, sens). Si vous avez 0 facture le 3, 0 le 4, 0 le 5, vous voyez **une seule** ligne (la plus marquante), pas trois ;
- **ignore les créneaux peu sollicités** : si la médiane historique du nombre de factures est inférieure à `CAPPATROL_CYCLE_MIN_DAILY_COUNT` (3 par défaut), la série est sautée.

## Lire le tableau

| Colonne | Sens |
|---------|------|
| **Catégorie** | Catégorie cliente Dolibarr concernée. La ligne "Toutes catégories confondues" est une vue globale qui n'utilise pas la décomposition par catégorie. |
| **Créneau** | Plage de jours évaluée, sous la forme "du 1er au 5". Le détecteur teste 1, 2, ..., jour-courant. |
| **Type** | "Nombre de factures" ou "Montant facturé". Les deux axes sont évalués indépendamment. |
| **Sens** | "Chute" ou "Pic". |
| **Observé (mois courant)** | Cumul observé entre le 1er et le jour du créneau pour le mois courant. |
| **Médiane historique** | Médiane du même cumul sur les 11 mois précédents. |
| **Z-score robuste** | `(observé - médiane) / max(MAD, 1)`. Plus grand en valeur absolue = plus inhabituel. |
| **Score** | Score normalisé entre 0 et 1 (`min(1, |z|/10)`), pratique pour le tri global. |

## Filtres

- **Type** : ne montrer que les anomalies sur le nombre de factures, ou que celles sur le montant.
- **Sens** : ne montrer que les chutes ou que les pics.
- **Catégorie de tiers** : se concentrer sur une catégorie précise. Sélectionnez "Toutes catégories confondues" pour la vue agrégée seulement.
- **Score minimum** : filtre seuil sur le score normalisé.

## Recalcul

Le bouton **"Recalculer maintenant"** déclenche un cron complet (anomalies par tiers + cadence intra-mois). Synchrone, comme sur la page principale ; quelques secondes pour la plupart des parcs.

Le cron quotidien (6 h par défaut) recalcule automatiquement les deux familles. La page lit la table `llx_cappatrol_cycle_anomaly`, jamais le calcul direct.

## Désactivation

Pour désactiver complètement cette détection :

1. **Configuration -> Modules/Applications -> capPatrol -> Configuration**, section "Cadence intra-mois".
2. Mettez **"Activer la détection de cadence intra-mois"** à **non**.

L'entrée de menu disparaît et le cron passe directement la phase v2.

## Limites connues

- **Saisonnalité hebdomadaire** : si vous facturez le lundi et que ce mois le 3 tombe un dimanche, le cumul à `d=3` peut sembler en chute. Atténuation : laissez le détecteur regarder les jours suivants (`d=5`, `d=7`) qui "rattrapent" naturellement.
- **Catégories peu fournies** : une catégorie avec moins de 3 factures par mois en moyenne ne sera pas analysée pour le nombre. Augmentez `CAPPATROL_CYCLE_MIN_DAILY_COUNT` si vous voulez encore moins de bruit, ou descendez à 1 si vous voulez tout voir.
- **Tiers multi-catégories** : un tiers dans deux catégories est compté dans **chacune**. La vue "Toutes catégories confondues" utilise une autre requête qui dédoublonne par facture, donc cohérente avec le total Dolibarr.
- **Jours fériés / congés** : pas de gestion automatique. Si votre activité chute légitimement entre le 24 décembre et le 2 janvier, attendez-vous à des alertes pendant cette période.
