La courbe de Laffer : trop d'impôt tue-t-il l'impôt ? Grand Oral · mathématiques, SES, HGGSP Un support de connaissances pour construire sa propre question

← Tous les textes du Grand Oral

MathsSESHGGSP

Si l'État ne prélève rien, il ne reçoit rien. S'il prélève la totalité d'un revenu, plus personne n'a intérêt à gagner ce revenu, ou du moins à le déclarer : il ne reçoit, là encore, presque rien. Entre les deux, la recette de l'impôt monte puis redescend. C'est l'idée de la courbe de Laffer, résumée par une formule ancienne : trop d'impôt tue l'impôt.

L'idée est simple et presque indiscutable. Ce qui est discuté, depuis cinquante ans, c'est où se trouve le sommet : à 30 %, à 50 %, à 80 % ? La réponse change tout. Si un pays est à droite du sommet, baisser l'impôt rapporte plus ; s'il est à gauche, baisser l'impôt rapporte moins. Les mathématiques permettent de poser la question proprement : elles montrent que le sommet dépend d'un seul nombre, difficile à mesurer, l'élasticité.

Ce texte rassemble ces connaissances, avec les mathématiques de terminale : dérivée d'un produit et d'une fonction composée, exponentielle et logarithme, variations et maximum, algorithmique. Il ne prend pas parti dans le débat politique, et ne propose pas de Grand Oral tout fait : à chacun d'y choisir une direction et d'y construire sa question.

Sommaire
  1. L'idée : recette = taux × assiette
  2. Un exemple à la main
  3. Le modèle avec élasticité : le sommet démontré
  4. Un autre modèle, une autre réponse
  5. Une vieille idée : d'Ibn Khaldoun à la serviette de Laffer
  6. Ce que disent les études
  7. Des expériences réelles, discutées
  8. Pourquoi le modèle est trop simple
  9. Des directions pour construire sa question
L'idée : recette = taux × assiette

Un impôt s'applique à une assiette : les revenus déclarés pour l'impôt sur le revenu, les ventes pour la TVA, les paquets vendus pour la taxe sur le tabac. Si le taux est $t$ (un nombre entre $0$ et $1$, c'est-à-dire entre $0\,\%$ et $100\,\%$) et l'assiette $B$, la recette est

$$R = t \times B.$$

Si l'assiette ne bougeait pas, la recette serait proportionnelle au taux : doubler le taux doublerait la recette. Mais l'assiette réagit au taux. Quand l'impôt augmente, certains travaillent moins, d'autres déclarent moins, déplacent leurs revenus vers une forme moins taxée ou vers un autre pays ; un produit plus taxé se vend moins, ou passe en contrebande. L'assiette est donc une fonction décroissante du taux, notée $B(t)$, et la recette devient une fonction du taux :

$$R(t) = t \times B(t).$$

Deux valeurs sont faciles à trouver. Pour $t = 0$, la recette est nulle. Pour $t = 1$ (impôt de $100\,\%$), on admet que plus rien n'est déclaré : $B(1) = 0$, donc la recette est encore nulle. Entre les deux, la recette est positive. Une fonction continue sur $[0 ; 1]$, nulle aux deux bouts et positive entre les deux, monte puis redescend : elle atteint un maximum quelque part. C'est tout le contenu de la « courbe de Laffer ». La vraie question est la position de ce maximum, et pour la trouver il faut un modèle de l'assiette $B(t)$.

Un exemple à la main

Prenons un modèle très simple, choisi pour l'exemple : sans impôt, l'assiette vaut $100$ (milliards d'euros, par exemple), et elle diminue proportionnellement à la part que l'impôt laisse au contribuable,

$$B(t) = 100\,(1 - t).$$

Avec un impôt de $30\,\%$, il reste $70\,\%$ du revenu au contribuable, et l'assiette vaut $70$. On calcule quelques recettes :

taux $t$$10\,\%$$30\,\%$$50\,\%$$70\,\%$$90\,\%$
assiette $B(t)$$90$$70$$50$$30$$10$
recette $t \times B(t)$$9$$21$$25$$21$$9$

La recette monte jusqu'à $25$ pour un taux de $50\,\%$, puis redescend. Les taux de $30\,\%$ et de $70\,\%$ rapportent exactement la même chose : c'est l'aspect le plus frappant de la courbe. Deux politiques très différentes, l'une à droite et l'autre à gauche du sommet, peuvent produire la même recette.

Ici, $R(t) = 100\,t\,(1 - t)$ est un polynôme du second degré, dont la parabole a son sommet en $t = \frac{1}{2}$. On le retrouve par la dérivée : $R'(t) = 100\,(1 - 2t)$, positive avant $\frac{1}{2}$, négative après.

Deux effets qui s'opposent

Que se passe-t-il quand on augmente le taux d'un point, de $30\,\%$ à $31\,\%$ ?

  • L'effet mécanique : un point de plus sur l'assiette actuelle, soit $0{,}01 \times 70 = 0{,}70$ de recette en plus.
  • L'effet de comportement : l'assiette baisse d'un point, de $70$ à $69$, et cette perte est taxée à $30\,\%$ : $0{,}30$ de recette en moins.

Le bilan est d'environ $+0{,}40$ : on vérifie que $R(0{,}31) = 0{,}31 \times 69 = 21{,}39$. À $50\,\%$, les deux effets valent chacun $0{,}50$ et s'annulent : c'est le sommet. Au-delà, l'effet de comportement l'emporte, et augmenter l'impôt fait baisser la recette.

Cette décomposition est exactement la dérivée d'un produit. Comme $R(t) = t \times B(t)$,

$$R'(t) = \underbrace{B(t)}_{\text{effet mécanique}} + \underbrace{t\,B'(t)}_{\text{effet de comportement}}.$$

Le premier terme est positif, le second négatif (car $B$ est décroissante). Le sommet est atteint quand ils se compensent.

Le modèle avec élasticité : le sommet démontré L'élasticité

Le modèle précédent est trop rigide : rien ne dit que l'assiette réagit autant. Les économistes mesurent cette réaction par une élasticité, notée $\varepsilon$ : si la part laissée au contribuable, $1 - t$, augmente de $1\,\%$, l'assiette augmente d'environ $\varepsilon\,\%$. Un modèle simple qui a cette propriété est

$$B(t) = B_0\,(1 - t)^{\varepsilon},$$

où $B_0$ est l'assiette sans impôt et $\varepsilon$ un réel strictement positif. Pour $\varepsilon = 1$, on retrouve l'exemple à la main. Pour $\varepsilon = 0{,}5$, passer de $50\,\%$ à $55\,\%$ d'impôt fait baisser la part gardée de $0{,}50$ à $0{,}45$, soit $-10\,\%$, et l'assiette est multipliée par $\sqrt{0{,}9} \approx 0{,}949$, soit environ $-5\,\%$ : la moitié, comme annoncé.

Pour un réel $\varepsilon$ quelconque, la puissance se définit avec l'exponentielle et le logarithme : pour $0 \leqslant t < 1$,

$$(1 - t)^{\varepsilon} = \mathrm{e}^{\varepsilon \ln(1 - t)}.$$
Le taux qui maximise la recette

La recette est $R(t) = B_0\,t\,(1 - t)^{\varepsilon}$ pour $t \in [0 ; 1[$.

Étape 1 : dérivée de l'assiette. On écrit $B(t) = B_0\,\mathrm{e}^{u(t)}$ avec $u(t) = \varepsilon \ln(1 - t)$. La dérivée de $\ln(1 - t)$ est $\dfrac{-1}{1 - t}$, donc $u'(t) = \dfrac{-\varepsilon}{1 - t}$, et par la dérivée de $\mathrm{e}^{u}$ :

$$B'(t) = u'(t)\,B_0\,\mathrm{e}^{u(t)} = \frac{-\varepsilon}{1 - t}\,B(t).$$

Étape 2 : dérivée de la recette. Par la dérivée d'un produit,

$$\begin{aligned} R'(t) &= B(t) + t\,B'(t) \\ &= B(t) - \frac{\varepsilon\,t}{1 - t}\,B(t) \\ &= B(t) \times \frac{1 - t - \varepsilon\,t}{1 - t}. \end{aligned}$$

On obtient

$$R'(t) = \frac{B(t)}{1 - t} \times \big(1 - (1 + \varepsilon)\,t\big).$$

Étape 3 : signe. Pour $0 \leqslant t < 1$, $B(t) > 0$ (une exponentielle est strictement positive) et $1 - t > 0$. Le signe de $R'(t)$ est donc celui de $1 - (1 + \varepsilon)\,t$, qui est positif pour $t < \dfrac{1}{1 + \varepsilon}$ et négatif ensuite.

Étape 4 : conclusion. La recette est croissante sur $\left[0 ; \dfrac{1}{1 + \varepsilon}\right]$ et décroissante sur $\left[\dfrac{1}{1 + \varepsilon} ; 1\right[$. Elle atteint son maximum pour le taux

$$t^* = \frac{1}{1 + \varepsilon}.$$

Le résultat est d'une grande simplicité, et il dit l'essentiel : le sommet ne dépend que de l'élasticité. Plus l'assiette réagit (plus $\varepsilon$ est grand), plus le sommet est à gauche.

élasticité $\varepsilon$$0{,}25$$0{,}5$$1$$2$
taux du sommet $t^*$$80\,\%$$66{,}7\,\%$$50\,\%$$33{,}3\,\%$
recette maximale (pour $B_0 = 100$)$53{,}5$$38{,}5$$25$$14{,}8$

Pour $\varepsilon = 0{,}5$, on vérifie à la main avec $B_0 = 100$ : à $50\,\%$, la recette vaut $0{,}5 \times 100\sqrt{0{,}5} \approx 35{,}4$ ; au sommet $t^* = \frac{2}{3}$, elle vaut $\frac{2}{3} \times 100\sqrt{\frac{1}{3}} \approx 38{,}5$ ; à $80\,\%$, elle retombe à $0{,}8 \times 100\sqrt{0{,}2} \approx 35{,}8$.

var opt = {fontSize: 12, useKatex: false, useMathJax: false, parse: false, fixed: true, highlight: false}; var petit = {fontSize: 11, useKatex: false, parse: false, fixed: true, highlight: false}; var ax = {strokeColor: '#455a64', strokeWidth: 1, fixed: true, highlight: false, lastArrow: true}; board.create('segment', [[0, 0], [108, 0]], ax); board.create('segment', [[0, 0], [0, 112]], ax); for (var x = 20; x <= 100; x += 20) { board.create('segment', [[x, 0], [x, -2]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [x - 5, -7, x + ' %'], petit); } for (var y = 20; y <= 100; y += 20) { board.create('segment', [[0, y], [-1.2, y]], {strokeColor: '#455a64', fixed: true, highlight: false}); board.create('text', [-13, y, String(y)], petit); } board.create('text', [88, -15, 'taux t'], opt); var se = board.create('slider', [[8, -48], [62, -48], [0.1, 0.5, 3]], {withLabel: false, snapWidth: 0.05}); function nb(v, d) { return v.toFixed(d).replace('.', ','); } function eps() { return se.Value(); } function B(x) { return 100 * Math.pow(Math.max(0, 1 - x / 100), eps()); } function R(x) { return x / 100 * B(x); } board.create('functiongraph', [B, 0, 100], {strokeColor: '#90a4ae', strokeWidth: 2, dash: 2, highlight: false}); board.create('functiongraph', [R, 0, 100], {strokeColor: '#1565c0', strokeWidth: 3, highlight: false}); function ts() { return 100 / (1 + eps()); } board.create('segment', [[ts, 0], [ts, function () { return R(ts()); }]], {strokeColor: '#c62828', strokeWidth: 1, dash: 1, fixed: true, highlight: false}); board.create('point', [ts, function () { return R(ts()); }], {name: '', size: 4, fillColor: '#c62828', strokeColor: '#c62828', fixed: true, highlight: false, showInfobox: false}); board.create('text', [66, -48, function () { return 'ε = ' + nb(eps(), 2); }], opt); board.create('text', [-13, -24, function () { return 'sommet : t* = ' + nb(ts(), 1) + ' %'; }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#c62828'}); board.create('text', [-13, -33, function () { return 'recette maximale : ' + nb(R(ts()), 1); }], {fontSize: 12, useKatex: false, parse: false, fixed: true, highlight: false, color: '#1565c0'}); En pointillés gris, l'assiette $B(t) = 100\,(1 - t)^{\varepsilon}$ ; en bleu, la recette $R(t) = t\,B(t)$ ; en rouge, le sommet, au taux $\frac{1}{1 + \varepsilon}$. Le curseur règle l'élasticité de $0{,}1$ à $3$. Plus l'assiette réagit, plus le sommet recule vers les taux faibles et plus il est bas.
Au tableur

Le tableur ci-dessous calcule l'assiette et la recette de $5$ en $5$ points de taux. On peut changer l'élasticité (case B1) ou l'assiette sans impôt (case B2) : la colonne C montre où se trouve le sommet. La formule de la case B5 est =$B$2*(1-A5/100)**$B$1, où ** désigne la puissance.

Un autre modèle, une autre réponse

Rien n'oblige à choisir la puissance $(1 - t)^{\varepsilon}$. Un autre modèle courant fait décroître l'assiette exponentiellement :

$$B(t) = B_0\,\mathrm{e}^{-a t}, \qquad R(t) = B_0\,t\,\mathrm{e}^{-a t},$$

avec $a > 0$. La dérivée d'un produit donne

$$R'(t) = B_0\,\mathrm{e}^{-a t}\,(1 - a t),$$

du signe de $1 - a t$ : le sommet est en $t^* = \dfrac{1}{a}$. Pour $a = 2$, il est à $50\,\%$ ; pour $a = 4$, à $25\,\%$. Mais pour $a \leqslant 1$, on a $t^* \geqslant 1$ : la recette augmente sur tout l'intervalle $[0 ; 1]$, et ce modèle prédit qu'un impôt de $100\,\%$ rapporte encore $B_0\,\mathrm{e}^{-a}$, ce qui est peu réaliste.

La leçon est importante pour un Grand Oral : la position du sommet n'est pas une propriété de « la » courbe de Laffer, mais du modèle choisi et des valeurs mesurées de ses paramètres. Deux économistes qui partent de modèles différents, ou de mesures différentes, arrivent honnêtement à des taux très différents.

Une vieille idée : d'Ibn Khaldoun à la serviette de Laffer Statue d'Ibn Khaldoun, avenue Habib-Bourguiba à Tunis La statue d'Ibn Khaldoun à Tunis, sa ville natale. Photo : Sami Mlouhi, 2017, licence CC BY-SA 4.0, Wikimedia Commons. Portrait de Jean-Baptiste Say et photographie d'Arthur Laffer À gauche, Jean-Baptiste Say en 1823, lithographie d'Achille Devéria (musée Carnavalet, CC0) ; à droite, Arthur Laffer en 1988 (domaine public). Wikimedia Commons.

La courbe devient célèbre parce qu'elle sert d'argument, à la fin des années 1970, aux partisans de fortes baisses d'impôts aux États-Unis. Son succès politique a parfois fait oublier qu'elle ne dit rien, à elle seule, de la position du sommet : c'est ce que les études cherchent à mesurer.

Ce que disent les études Mesurer l'élasticité

Toute la difficulté est de mesurer $\varepsilon$. On observe ce que font les contribuables quand un taux change, par exemple lors d'une réforme qui touche certains revenus et pas d'autres. Les résultats varient beaucoup :

  • en 1995, Martin Feldstein étudie la grande réforme américaine de 1986 et trouve une élasticité du revenu imposable de l'ordre de $1$, ou plus ;
  • en 2012, une synthèse de Saez, Slemrod et Giertz estime que les mesures les plus fiables, pour les États-Unis, se situent plutôt entre environ $0{,}12$ et $0{,}40$, et souligne que l'élasticité dépend beaucoup des possibilités d'optimisation offertes par la loi.
Le taux le plus élevé

Pour la tranche la plus haute de l'impôt sur le revenu, les économistes Peter Diamond et Emmanuel Saez (2011) utilisent une formule de la même famille que $\frac{1}{1 + \varepsilon}$, que l'on admet ici :

$$t^* = \frac{1}{1 + a\,\varepsilon},$$

où $a$ décrit la répartition des très hauts revenus (environ $1{,}5$ aux États-Unis). Le taux $t^*$ est ici le taux marginal total, tous prélèvements confondus, qui maximise la recette tirée des plus hauts revenus.

élasticité $\varepsilon$$0{,}12$$0{,}25$$0{,}40$$1$
$t^* = \frac{1}{1 + 1{,}5\,\varepsilon}$$84{,}7\,\%$$72{,}7\,\%$$62{,}5\,\%$$40\,\%$

Avec $\varepsilon = 0{,}25$, Diamond et Saez obtiennent environ $73\,\%$ ; une étude de 2014 (Piketty, Saez et Stantcheva), qui distingue plusieurs façons de réagir à l'impôt, va jusqu'à environ $83\,\%$. Avec l'élasticité de Feldstein, le sommet descend vers $40\,\%$. Le désaccord entre économistes ne porte donc pas sur les mathématiques, qui sont les mêmes, mais sur la mesure d'un seul nombre.

Les calculs en Python

Le programme suivant cherche le sommet par un balayage des taux de $0{,}1$ en $0{,}1$ point, et le compare à la formule $\frac{1}{1 + \varepsilon}$ ; il calcule ensuite le tableau de Diamond et Saez.

def recette(t, eps, B0=100): return t * B0 * (1 - t) ** eps for eps in [0.25, 0.5, 1, 2]: meilleur_t, meilleure_r = 0, 0 for k in range(1001): # taux de 0 % à 100 %, par pas de 0,1 point t = k / 1000 r = recette(t, eps) if r > meilleure_r: meilleur_t, meilleure_r = t, r print("élasticité", eps, ": balayage", meilleur_t, " formule", round(1 / (1 + eps), 3), " recette max", round(meilleure_r, 1)) print() a = 1.5 for eps in [0.12, 0.25, 0.4, 1]: print("élasticité", eps, ": taux le plus haut", round(100 / (1 + a * eps), 1), "%")
Des expériences réelles, discutées

Les économistes ne peuvent pas faire d'expérience contrôlée sur un pays entier. Les réformes réelles mélangent beaucoup d'effets, et chaque camp y lit souvent ce qu'il cherche. Quelques exemples, avec les arguments des deux côtés :

Pourquoi le modèle est trop simple Des directions pour construire sa question

Ce texte n'est pas un Grand Oral. Il rassemble des connaissances dans lesquelles chacun peut choisir une direction, la creuser et formuler sa propre question. Quelques directions possibles :

Pour l'échange avec le jury : les notions du cours à maîtriser

Le jury peut interroger sur les chapitres de spécialité mobilisés. Avec ce thème, il est utile de connaître parfaitement : la dérivée d'un produit et d'un quotient ; la dérivée de $\mathrm{e}^{u}$ et de $\ln(u)$ ; le lien entre le signe de la dérivée et les variations ; la recherche d'un maximum ; les fonctions exponentielle et logarithme ; les fonctions polynômes du second degré ; les taux d'évolution et les pourcentages ; les boucles en Python.

Pour réviser ces chapitres, l'application Maths FlashBac reprend tout le cours de spécialité en cartes.

Pour aller plus loin