publicodes icon indicating copy to clipboard operation
publicodes copied to clipboard

Rendre le mécanisme "taux progessif" plus générique

Open mquandalle opened this issue 7 months ago • 2 comments

On a eu la discussion la semaine dernière sur le mécanisme produit, qui utilise actuellement des arguments "assiette", "taux", "facteur" qui sont connotés "calcul de cotisations". On a décidé qu'une écriture plus générale sous forme d'une liste de facteurs était préférable et tout aussi lisible quelque soit le domaine métier considéré, cf. #419

Une question comparable se pose pour le mécanisme taux progressif

Cas d'usage : imaginons que l'on veut choisir la durée de vie d'une voiture entre 15 et 20 ans (15 ans pour les petits rouleurs, 20 ans pour les gros rouleurs) et avoir une progression linéaire entre les 2 bornes pour éviter un effet de seuil. Cela est possible avec le mécanisme taux progressif.

km parcourus par an: 14000 km/an

durée de vie véhicule:
  description: |
    On prend une durée de vie du véhicule entre 15 et 20 ans.
    Hypothèse qu'un véhicule qui roule moins annuellement durera plus d'années.
    On prend 5000km/an pour un petit rouleur et 20000km/an pour un gros rouleur.
    Entre les deux bornes on fait progresser linéairement la valeur de durée de vie en année.
  produit:
    assiette: 1 an
    taux:
      taux progressif:
        assiette: km parcourus par an
        tranches:
          - taux: 2000%
            plafond: 5000 km/an
          - taux: 1500%
            plafond: 20000 km/an

voir l'exemple dans le studio (cas d'usage issu de https://github.com/incubateur-ademe/nosgestesclimat/issues/2127#issuecomment-1824359943)

On voit que l'écriture n'est pas très compréhensible bien que la logique du mécanisme de "taux progressif" soit bien ce qu'on cherche à utiliser :

  • les termes "assiette", "tranches", et "multiplicateur" (non utilisé ici mais qui peut prêter à confusion) sont spécifiques aux besoins de mon-entreprise, et ne sont pas adaptés ici
  • on doit obligatoirement passer par un "taux progressif" ce qui oblique à multiplier une valeur de base "1 an" pour pouvoir retrouver nos seuils de 15 ans et de 20 ans

Je n'ai pas réfléchi à une proposition concrète mais il me semble qu'il faudrait plutôt un mécanisme de valeur progressive, qui permette de définir des seuils avec une interpolation linéaire entre eux, à la manière par exemple des seuils dans les transitions CSS. Ce mécanisme pourrait alors être utilisé pour un taux progressif mais aussi pour n'importe quel autre type de valeur. Les termes "assiette" et "multiplicateur" disparaîtraient.

mquandalle avatar Nov 27 '23 12:11 mquandalle

(ce n'est pas un changement bloquant pour la v1, à la condition de déprécier le mécanisme "taux progressif" même sans ré-introduire une alternative dans l'immédiat)

mquandalle avatar Nov 27 '23 12:11 mquandalle

Je pense que cette analyse concerne aussi le mécanisme grille et barème (dans une moindre mesure)

johangirod avatar Dec 15 '23 10:12 johangirod