Mizan ne suit pas tes dépenses après coup — il calcule un plan avant. L'algorithme fonctionne en cinq étapes déterministes : cycle de salaire, revenu net, pool discrétionnaire, allocation épargne par priorité, et enveloppe libre quotidienne. Il n'y a pas d'IA, pas d'estimation, pas de boîte noire. Chaque formule est montrée ici pour que tu puisses la vérifier toi-même.
\n\nÀ retenir
\n- \n
- L'algorithme de Mizan est déterministe : mêmes données d'entrée = même plan. Pas d'intelligence artificielle qui « estime » ton budget. Chaque étape suit une formule précise que tu peux reproduire à la main sur une feuille de papier. \n
- Le calcul part de ton cycle de salaire réel, pas du mois calendaire. Si ton salaire tombe le 10, ton plan démarre le 10. Cette différence — anodine en apparence — est la raison pour laquelle les budgets « mois calendaire » échouent souvent dès la première semaine. \n
- L'épargne n'est pas un pourcentage fixe décidé par l'application. Tu choisis ton mode d'épargne (agressif, équilibré, confort, survie), et le taux s'applique à ton pool discrétionnaire — ce qu'il te reste après charges obligatoires — pas à ton salaire brut. \n
- Ton « reste à dépenser » quotidien est recalculé en temps réel à chaque transaction. Dépenser moins un jour augmente le montant des jours suivants (effet de report automatique). Dépasser le réduit mécaniquement. \n
- L'algorithme ne suppose jamais que tu as épargné — il te dit combien tu devrais mettre de côté, puis te demande confirmation en fin de cycle. Ce principe, central dans la philosophie Mizan, garantit que la progression de tes objectifs reflète la réalité, pas une projection optimiste. \n
Pourquoi expliquer l'algorithme de Mizan maintenant ?
\n\nLa plupart des applications de budget te disent « fais-nous confiance » et cachent leurs calculs derrière une interface. C'est compréhensible — personne n'achète une application pour lire du code — mais c'est aussi un problème. Quand le chiffre affiché à l'écran est une boîte noire, tu ne peux pas savoir s'il est fiable. Tu ne peux pas le vérifier. Tu ne peux pas l'adapter.
\n\nChez Mizan, le plan budgétaire est le produit. Le simulateur Wach N9der? — la question « puis-je me le permettre ? » répondue par un calcul — est la raison d'être de l'application. Si ce calcul est opaque, la confiance s'effondre. Cet article est la documentation officielle de l'algorithme. Pas de marketing : des formules. Tu peux les prendre et les appliquer dans un tableur si tu veux. L'application est juste plus rapide.
\n\nCet article s'inscrit dans notre pilier Budget & Épargne, qui couvre toutes les méthodes et outils de planification budgétaire adaptés au contexte marocain et francophone. Cette approche distingue fondamentalement Mizan des applications de suivi de dépenses : un tracker te dit où ton argent est passé. Un planificateur te dit où il devrait aller. La différence n'est pas cosmétique — elle change le comportement financier, comme l'explique notre article sur la planification versus le suivi des dépenses.
\n\nÉtape 1 : le cycle de salaire — ton vrai mois budgétaire
\n\nLe calendrier dit que le mois commence le 1er. Ton compte bancaire, lui, dit autre chose. Au Maroc, les salaires privés tombent généralement entre le 5 et le 15 du mois. Dans la fonction publique, le virement arrive autour du 22. Si tu construis un budget du 1er au 31 alors que ton salaire arrive le 10, tu passes les dix premiers jours du mois à dépenser de l'argent que tu n'as pas encore reçu.
\n\nMizan résout ce problème avec la notion de cycle de salaire. Tu configures ton jour de paie (par exemple le 10), et l'application définit ton cycle budgétaire comme la période qui va de ce jour au jour de paie suivant, moins un jour.
\n\nLa règle, formalisée :
\n\n| Condition | Début du cycle | Fin du cycle |
|---|---|---|
| Si aujourd'hui ≥ jour de paie | Jour de paie de ce mois | Jour de paie du mois suivant − 1 jour |
| Si aujourd'hui < jour de paie | Jour de paie du mois précédent | Jour de paie de ce mois − 1 jour |
Exemple concret : tu es payé le 10. Nous sommes le 15 juillet. Le cycle en cours va du 10 juillet au 9 août. Si nous étions le 5 juillet, le cycle irait du 10 juin au 9 juillet — car le salaire de juillet n'est pas encore tombé, et ton budget actuel repose sur le salaire de juin.
\n\nCette logique n'est pas une lubie de développeur. Elle est directement inspirée de la méthode budget base zéro, qui exige que chaque dirham ait un emploi — mais un emploi défini au moment où l'argent arrive, pas au moment où le calendrier change de page.
\n\nLe jour de paie est aussi ajusté automatiquement pour les mois courts : si tu configures le 31 et que le mois n'a que 30 jours, le cycle utilise le 30. Si février n'a que 28 jours et que tu es configuré au 31, le cycle utilise le 28. Pas de bug de calendrier.
\n\nÉtape 2 : le revenu — toutes tes sources, pas une estimation
\n\nUne fois le cycle défini, Mizan calcule ton revenu mensuel net. La logique est simple :
\n\n- \n
- Si tu as créé des sources de revenus actives dans ton profil, l'application les additionne. Les revenus mensuels sont pris tels quels ; les revenus hebdomadaires sont annualisés (montant × 4,33 semaines par mois en moyenne). \n
- Si tu n'as défini aucune source de revenu, l'application utilise ton revenu mensuel estimé — le montant que tu as saisi lors de la création de ton profil financier. \n
La formule :
\n\n| Variable | Définition |
|---|---|
| Revenu mensuel | Somme de toutes les sources de revenus actives (mensuelles + hebdomadaires × 4,33) |
| Revenu de secours | Estimation mensuelle du profil (si aucune source active) |
Cette approche est délibérément conservative. Mizan ne suppose jamais de revenus que tu n'as pas explicitement déclarés — pas d'estimation automatique basée sur les mois précédents, pas de « revenu moyen » calculé dans ton dos. Le montant affiché est exactement la somme des montants que tu as toi-même saisis.
\n\nPour un salarié marocain, le point crucial est que le revenu saisi doit être ton net — ce qui arrive sur ton compte après CNSS (4,48 % plafonnés à 6 000 DH), AMO (2,26 %) et IR (barème DGI progressif). Si tu n'es pas sûr de ton net, le guide complet CNSS, AMO et IR 2026 détaille le calcul pas à pas.
\n\nÉtape 3 : le bucket « must live » — l'argent qui ne se discute pas
\n\nAvant de parler épargne ou loisirs, l'algorithme soustrait ce qui est non-négociable. Ce premier bucket s'appelle must_live. Il contient deux composantes :
\n\n| Composante | Contenu | Exemple (8 000 DH net) |
|---|---|---|
| Charges fixes récurrentes | Loyer, électricité, internet, téléphone, transport, assurance, contribution familiale — toute dépense que tu as enregistrée comme récurrente et active | 3 500 DH |
| Mensualités minimales de dette | Le paiement minimum de chaque crédit actif (crédit conso, crédit immobilier, dettes personnelles) | 0 DH |
| Total must_live | Somme des deux | 3 500 DH |
Ce qui reste après soustraction s'appelle le pool discrétionnaire :
\n\nPool discrétionnaire = Revenu − Charges fixes − Mensualités minimales
\n\nDans l'exemple : 8 000 − 3 500 = 4 500 DH de pool discrétionnaire. C'est cette somme — et uniquement cette somme — qui va être répartie entre épargne et dépenses libres.
\n\nSi le pool discrétionnaire est négatif, l'algorithme émet un conflit bloquant : tes charges fixes dépassent ton revenu. Ce n'est pas une situation que l'application « arrange » automatiquement — elle te le signale et te suggère de réduire tes charges fixes ou d'augmenter ton revenu. Pas de solution magique, juste un constat mathématique.
\n\nCette transparence contraste avec l'approche des applications de budget classiques, qui agrègent souvent toutes les dépenses dans un flux unique sans distinguer l'obligatoire du facultatif.
\n\nÉtape 4 : l'épargne — ton taux, tes priorités
\n\nLe pool discrétionnaire est maintenant de 4 500 DH. Comment décider combien va à l'épargne et combien reste pour le quotidien ?
\n\n4.1 Le taux d'épargne — tu choisis, pas l'application
\n\nMizan ne décide pas pour toi. Quand tu crées ton profil financier, tu choisis un mode d'épargne parmi quatre :
\n\n| Mode | Taux appliqué au pool discrétionnaire | Pour qui ? |
|---|---|---|
| Survie | 15 % | Revenu serré ; l'essentiel est de constituer un matelas minimum |
| Confort | 40 % | Équilibre entre épargne et quotidien ; le mode par défaut pour un premier plan |
| Équilibré | 65 % | Objectifs multiples ; tu veux avancer vite sans te priver totalement |
| Agressif | 85 % | Objectif prioritaire à atteindre rapidement ; mode temporaire recommandé |
Le taux s'applique au pool discrétionnaire, pas au salaire brut ni au salaire net. C'est une différence fondamentale avec la méthode 50/30/20, qui applique les pourcentages au salaire net global. L'avantage du calcul Mizan : si tes charges fixes sont élevées, l'épargne s'adapte automatiquement. Tu n'as pas à « trouver » 20 % d'un salaire déjà amputé par un loyer qui en mange 50 %.
\n\n4.2 Budget objectifs = Pool × Taux
\n\nDans l'exemple, avec le mode confort (40 %) :
\n\nBudget objectifs = 4 500 × 0,40 = 1 800 DH
\n\nCe budget de 1 800 DH va être réparti entre tes objectifs d'épargne. Comment ? C'est là que la logique de priorité intervient.
\n\n4.3 Allocation par priorité — les deadlines dures d'abord
\n\nMizan classe tes objectifs en deux temps :
\n\nÉtape A — Les deadlines dures : si tu as un objectif avec une échéance obligatoire (ex. « payer les frais de scolarité de 6 000 DH avant septembre »), l'algorithme calcule la contribution mensuelle minimale requise :
\n\nContribution requise = (Montant cible − Montant actuel) ÷ Nombre de mois restants
\n\n| Objectif | Priorité | Deadline | Écart à financer | Mois restants | Requis/mois |
|---|---|---|---|---|---|
| Scolarité | p0 (hard) | Septembre | 6 000 DH | 2 | 3 000 DH |
| Fonds d'urgence | p0 | Aucune | 10 000 DH | — | — |
| Vacances | p2 | Aucune | 4 000 DH | — | — |
Ici, la scolarité exige 3 000 DH/mois — mais le budget objectifs total est de 1 800 DH. L'algorithme détecte un conflit de deadline impossible et te prévient que ta deadline n'est pas tenable avec le mode d'épargne actuel. Il te suggère de passer en mode agressif (85 % → 3 825 DH de budget objectifs) ou d'allonger l'échéance. Pas de solution miracle : un constat mathématique.
\n\nÉtape B — Distribution pondérée : une fois les deadlines dures servies (ou si aucune n'existe), le budget restant est distribué entre les autres objectifs au prorata de leur poids de priorité :
\n\n| Priorité | Poids | Signification |
|---|---|---|
| p0 — Indispensable | 100 | Fonds d'urgence, remboursement de dette critique |
| p1 — Très important | 5 | Apport immobilier, études |
| p2 — Moyen | 3 | Voyage, équipement |
| p3 — Accessoire | 1 | Loisir, achat plaisir différé |
La formule de distribution :
\n\nAllocation objectif = Budget restant × (Poids de l'objectif ÷ Somme des poids de tous les objectifs sans deadline)
\n\nAvec 1 800 DH et deux objectifs sans deadline — fonds d'urgence (p0, poids 100) et vacances (p2, poids 3) :
\n\n- \n
- Fonds d'urgence : 1 800 × (100 ÷ 103) = 1 748 DH \n
- Vacances : 1 800 × (3 ÷ 103) = 52 DH \n
Le fonds d'urgence reçoit 33 fois plus que les vacances. Pas parce que l'application a une « opinion » sur ce qui est important — mais parce que tu as défini toi-même les priorités dans tes objectifs. L'algorithme ne fait qu'appliquer tes propres choix.
\n\nÉtape 5 : l'enveloppe libre — ton vrai « reste à dépenser »
\n\nDernière étape, la plus visible dans l'application :
\n\nEnveloppe libre = Pool discrétionnaire − Budget objectifs
\n\nDans l'exemple : 4 500 − 1 800 = 2 700 DH d'enveloppe libre.
\n\nCe montant, c'est ton budget pour toutes les dépenses non planifiées du mois : courses variables, sorties, vêtements, imprévus. Mizan ne te dit pas comment le dépenser. Il te donne un cadre : tu as 2 700 DH pour le cycle en cours, point.
\n\nC'est ici que l'application affiche le chiffre que tu vois en ouvrant l'écran d'accueil :
\n\nReste à dépenser par jour = Enveloppe libre restante ÷ Nombre de jours restants dans le cycle
\n\n| Scénario | Enveloppe libre initiale | Déjà dépensé | Jours restants | Reste à dépenser/jour |
|---|---|---|---|---|
| Début de cycle (jour 1) | 2 700 DH | 0 DH | 30 | 90 DH |
| Milieu de cycle (jour 15) | 2 700 DH | 1 200 DH | 16 | 94 DH |
| Fin de cycle (jour 28) | 2 700 DH | 2 300 DH | 3 | 133 DH |
Trois propriétés importantes de ce calcul :
\n\n- \n
- Il est recalculé à chaque transaction. Chaque fois que tu enregistres une dépense, le « reste à dépenser par jour » est mis à jour. Tu sais toujours où tu en es, en temps réel. \n
- Le report est automatique. Si tu dépenses moins que prévu aujourd'hui, le surplus est redistribué sur les jours restants. Pas besoin de le faire manuellement — l'effet est mécanique. C'est ce qui permet des week-ends plus larges après une semaine économe. \n
- Le dépassement réduit le rythme. Si tu dépenses plus que le rythme quotidien, le montant par jour diminue pour les jours suivants. Ce n'est pas une punition — c'est une information. Tu vois immédiatement l'impact de tes choix. \n
Le simulateur Wach N9der? : l'algorithme appliqué à un achat
\n\nLe « reste à dépenser » quotidien répond à une question : « combien puis-je dépenser aujourd'hui sans compromettre mon mois ? » Mais il ne répond pas à la question suivante : « et si j'achète ce canapé à 3 000 DH maintenant ? »
\n\nC'est le rôle du simulateur Wach N9der?. Il utilise le même plan que l'algorithme de calcul, mais projette l'impact d'un achat exceptionnel :
\n\n- \n
- Il soustrait le montant de l'achat de ton enveloppe libre. \n
- Il recalcule le « reste à dépenser par jour » après achat. \n
- Si l'enveloppe libre ne suffit pas, il vérifie si l'achat peut être absorbé en réduisant temporairement le budget objectifs. \n
- Il estime de combien de mois chaque objectif serait retardé si l'achat était financé par une réduction de l'épargne. \n
Cette simulation est le prolongement naturel de l'algorithme expliqué dans cet article. Elle repose sur les mêmes données et les mêmes formules. Rien n'est inventé pour l'occasion. La méthode complète est détaillée dans l'article « Puis-je me le permettre ? La méthode en 3 étapes ».
\n\nRécapitulatif : toutes les formules de l'algorithme
\n\n| Étape | Formule | Exemple (8 000 DH net, mode confort) |
|---|---|---|
| 1. Cycle | Du jour de paie configuré au jour de paie suivant − 1 jour | 10 juillet → 9 août |
| 2. Revenu | Somme des sources actives (ou estimation) | 8 000 DH |
| 3. Must live | Charges fixes + mensualités minimales | 3 500 DH |
| 4. Pool discrétionnaire | Revenu − Must live | 4 500 DH |
| 5. Budget objectifs | Pool discrétionnaire × Taux d'épargne | 4 500 × 0,40 = 1 800 DH |
| 6. Allocation deadline dure | (Cible − Actuel) ÷ Mois restants | Selon objectifs configurés |
| 7. Allocation pondérée | Budget restant × (Poids priorité ÷ Somme des poids) | Fonds urgence : 1 748 DH, Vacances : 52 DH |
| 8. Enveloppe libre | Pool discrétionnaire − Budget objectifs | 2 700 DH |
| 9. Reste à dépenser / jour | Enveloppe libre restante ÷ Jours restants | 2 700 ÷ 30 = 90 DH/j |
Ce tableau contient tout l'algorithme. Tu peux le recopier dans un tableur et obtenir les mêmes résultats que l'application. La différence, c'est que Mizan exécute ces calculs en quelques millisecondes — et les refait à chaque fois que tu ajoutes une dépense, modifies un objectif ou changes de mode d'épargne.
\n\nLa sécurité des données derrière ces calculs
\n\nUn algorithme qui manipule ton salaire, tes dettes et tes objectifs d'épargne traite des données parmi les plus sensibles qui existent. La question de la sécurité est légitime. Mizan applique les standards de l'industrie : les données sont chiffrées en transit et au repos, l'authentification se fait par jeton JWT avec rotation, et personne dans l'équipe n'a accès à tes données financières brutes. Le détail complet est documenté dans notre page dédiée à la sécurité des données.
\n\nPourquoi cet algorithme plutôt qu'un autre ?
\n\nL'algorithme de Mizan n'est pas né d'une intuition. Il est le résultat d'une recherche comparative approfondie sur la manière dont les applications de budget gèrent l'arrivée du salaire et la progression des objectifs — YNAB (budget base zéro), Goodbudget (enveloppes sans synchronisation bancaire), Monarch Money (budget revenu-centré), Quicken Simplifi (hybride notification + confirmation).
\n\nLe constat pour le marché marocain et les marchés sans synchronisation bancaire automatique est clair : les trois patterns les plus efficaces sont la saisie manuelle du revenu (pas de dépendance à une infrastructure bancaire), la planification avant dépense (pas de simple constat a posteriori), et la confirmation mensuelle de l'épargne réelle (pas de supposition automatique).
\n\nC'est le modèle que Mizan implémente : tu déclares ton salaire quand tu le reçois, l'application génère un plan, et à la fin du cycle elle te demande si tu as bien mis de côté les sommes prévues. Ce cycle — déclarer, planifier, confirmer — est le cœur de la méthode Mizan. Il est expliqué en détail dans notre guide du budget base zéro.
\n\nAlors, cet algorithme est-il fiable ?
\n\nLa réponse n'est pas une opinion : elle est mathématique. L'algorithme de Mizan est une suite d'opérations arithmétiques déterministes. Mêmes entrées, même sortie. Pas d'apprentissage automatique qui « ajuste » tes chiffres, pas de prédiction hasardeuse de tes dépenses futures, pas d'estimation de ton solde bancaire par une IA.
\n\nLes deux seules sources d'imprécision possible sont : (1) les données que tu saisis — si tu sous-estimes tes charges fixes, le plan sera trop optimiste ; (2) les dépenses imprévues — que l'algorithme ne peut pas anticiper parce que personne ne le peut, pas même toi.
\n\nPour le reste, chaque dirham affiché dans ton plan Mizan a une origine traçable. Le « reste à dépenser » que tu vois chaque matin n'est pas un chiffre tiré au sort : c'est ton salaire net, moins tes charges, moins ton épargne, divisé par le nombre de jours qu'il te reste avant la prochaine paie. Tu peux le vérifier. Nous t'avons donné les formules.
\n