---
name: ifpb-data-quality
description: "IFPB Data Quality & Field Operations - Validation données terrain, détection fraudes, KPIs agents, éthique recenseur, planification tournées"
version: "1.0.0"
tags: [ifpb, qualite-donnees, validation, fraude, kpi, agents, terrain, ethique]
---

# IFPB Data Quality & Field Operations Skill

## Objectif
Garantir l'intégrité des données de recensement foncier et la performance des agents de terrain à travers un système complet de validation, d'audit et de suivi KPI.

## 1 — Charte Éthique du Recenseur Municipal

### Équipement Obligatoire
- [x] Gilet rétroréfléchissant (visibilité)
- [x] Carte professionnelle signée par l'autorité municipale
- [x] Terminal mobile avec application KoboCollect installée

### Règle d'Or (ZÉRO TOLÉRANCE)

> **L'agent recenseur n'a, en AUCUN cas, la qualité de collecteur de fonds.**
> 
> Il lui est **formellement interdit** de :
> - Manipuler de l'argent
> - Réclamer des compensations quelconques
> - Négocier le montant de l'impôt
> 
> Toute fausse caractérise un **acte de corruption lourde**, passible de **sanctions immédiates** (licenciement + plainte pénale).

### Comportement
- Courtoisie absolue avec les contribuables
- Présentation systématique (nom, carte professionnelle, objet visite)
- Respect de la propriété privée

## 2 — Traitement des Réticences des Contribuables

### Script de réponse standardisé :

| Objection | Réponse autorisée |
|-----------|-------------------|
| *"C'est illégal / Je ne paie pas"* | L'IFTB est une ressource **exclusive de la commune** qui finance directement l'éclairage public, la sécurité et la salubrité locale. C'est prévu par le Code Général des Impôts. |
| *"Je viens de construire, je suis pauvre"* | L'enregistrement est la condition **indispensable** pour formaliser votre exonération totale de **5 ans** garantie par le CGI pour les constructions neuves. Si vous ne vous enregistrez pas, vous perdez ce droit. |
| *"Le voisin paie moins que moi"* | Le calcul est **100% automatique** basé sur les critères objectifs (surface, matériaux, usage, zone). Aucun agent ne peut modifier le montant. Si vous pensez à une erreur, une demande de révision peut être déposée auprès du Receveur. |
| *"Je connais le Maire / Je suis quelqu'un"* | La loi s'applique également à tous sans exception. Le système algorithmique ne fait aucune distinction personnelle. |

## 3 — Validation des Données Terrain

### Contrôles Automatiques (Real-time sur Kobo)

| Contrôle | Règle | Action si échec |
|----------|-------|-----------------|
| **GPS précision** | precision < 10m | Bloquer soumission, demander re-capture |
| **Photo présente** | image non null ET size > 50KB | Champ obligatoire |
| **Photo taille** | size < 10MB | Redimensionner ou re-prendre |
| **CIN format** | 12 chiffres exactement | Regex rejection |
| **Superficie** | > 0 m² | Valeur positive requise |
| **Nb étages** | ≥ 0 | Entier positif |
| **Usage cohérent** | Si occupation=oui alors age<5 → flag | Vérification chantier |

### Contrôles Post-Soumission (Serveur)

```python
def validate_fiche_kobo(data):
    """Validations côté serveur après synchronisation"""
    errors = []
    warnings = []
    
    # 1. GPS coherence
    if data['gps_precision'] > 10:
        warnings.append(f"GPS imprécis: {data['gps_precision']}m (>10m)")
    
    # 2. Anomalie superficie
    if data['superficie_m2'] > 5000:
        warnings.append(f"Superficie anormale: {data['superficie_m2']}m²")
    
    # 3. Faux chantier détecté
    if data['signes_occupation'] and data['statut_chantier']:
        errors.append("CONFLIT: Occupation détectée mais statut chantier actif")
    
    # 4. Commerce précaire en zone D
    if data['usage'] == 'commercial' and data['categorie_calculee'] == 'D':
        errors.append("REQUALIFICATION: Commercial ne peut être Cat D")
    
    # 5. Photo quality check (si vision API dispo)
    if data['photo_size_bytes'] < 10000:
        warnings.append("Photo suspecte: trop petite (<10KB)")
    
    return {'valid': len(errors) == 0, 'errors': errors, 'warnings': warnings}
```

### Audit Aléatoire (5% des parcelles)

**Fréquence** : Quotidienne, tirage au sort 5% des fiches du jour précédent

| Type audit | Action | Fréquence |
|------------|--------|-----------|
| **Audit photo** | Vérifier que la photo correspond bien au bâtiment déclaré | 5% aléatoire |
| **Audit GPS** | Vérifier cohérence localisation vs adresse déclarée | 5% aléatoire |
| **Audit terrain** | Re-visite physique par superviseur | 2% aléatoire |
| **Audit intégrité** | Comparaison caractéristiques physiques vs données cochées | 5% aléatoire |

**Objectif conformité audit : 100%. Tolérance zéro pour la fraude.**

## 4 — KPIs des Agents (Fin du 1er Mois)

| # | KPI | Description | Objectif | Mesure |
|---|-----|-------------|----------|--------|
| **1** | **Productivité** | Fiches parcelles finalisées + synchronisées/jour | **10-15 parcelles/jour** (selon densité) | Compteur Kobo |
| **2** | **Fiabilité technique** | GPS exploitables + photo claire | **≥ 98%** | Validation auto |
| **3** | **Négociation** | Taux succès (fiches validées / visitées) | **> 92%** | Ratio |
| **4** | **Intégrité** | Cohérence données vs réalité (contrôles aléatoires) | **100%** | Audit 5% |

### Tableau de Bord Agent (Exemple)

```
AGENT: [Nom]          PÉRIODE: 01/06 - 30/06/2026
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Productivité:     347 fiches / 22 jours = 15.8/jour  ✅ CIBLE ATTEINTE
✅ Fiabilité:        98.4% (341/347)                      ✅ CIBLE ATTEINTE  
🤝 Succès:           94.2% (327/347 visits)               ✅ CIBLE ATTEINTE
🛡️ Intégrité:        100% (17/17 audits OK)               ✅ CONFORME
⚠️ Alerts:           2 photos floues (J12, J18)
```

## 5 — Planification des Tournées Terrain

### Paramètres de déploiement (du Livre Blanc)

| Paramètre | Valeur |
|-----------|-------|
| Bassin cible | **14 636 foyers** (estimation INSTAT) |
| Durée campagne | **90 jours** |
| Nombre agents | **10 agents** |
| Objectif/agent/jour | 10-15 parcelles |
| Objectif total | ~14 636 parcelles en 90j |

### Calcul capacité

```
Capacité théorique = 10 agents × 13 jours/mois × 3 mois × 12 parcelles/jour
                   = 4 680 parcelles couvertes

→ Nécessite itérations ou priorisation par Fokontany
→ Phase 1: Quartiers haute valeur (A-B) prioritaires
→ Phase 2: Quartiers standard (C)
→ Phase 3: Zones vulnérables (D)
```

### Allocation par Fokontany (exemple)

| Fokontany | Est. foyers | Priorité | Jours alloués | Agents |
|-----------|-------------|----------|---------------|--------|
| Moramanga Ville | 2 800 | 🔴 Haute | 20 | 3 |
| Antanamandroso Est | 2 200 | 🔴 Haute | 18 | 2 |
| Centre-ville | 1 800 | 🔴 Haute | 15 | 2 |
| Ambodimadera | 1 500 | 🟡 Moyenne | 12 | 1 |
| Autres (8) | 6 336 | 🟢 Standard | 25 | 2 |

## 6 — Gestion des Anomalies & Fraudes

### Types de Fraude Identifiés

| Fraude | Description | Détection |
|--------|-------------|-----------|
| **Fausse parcelle** | Invention de parcelle inexistante | Croisement GPS + photo satellite |
| **Sous-évaluation** | Matériaux/usage déclarés inférieurs réalité | Audit photo + revisite |
| **Parenté** | Faveur à famille/amis | Pattern analyse (même téléphone, noms liés) |
| **GPS fake** | Coordonnées fausses (depuis bureau) | Précision + cohérence topographique |
| **Photo recyclée** | Même photo utilisée pour plusieurs fiches | Hash déduplication |

### Procédure en cas de fraude avérée

1. Suspension immédiate de l'agent
2. Saisie du terminal et extraction logs
3. Audit complet des fiches de l'agent (100%)
4. Rapport écrit au Maire + SG
5. Sanction disciplinaire (licenciement)
6. Dépot plainte pénale si seuil atteint
7. Recensement correctif des parcelles concernées
