Calculateur de recettes douanières
Ce calculateur estime les recettes publiques lorsqu’un droit unitaire augmente le prix intérieur et réduit les importations.
Lancer gratuitement
Indiquez le droit, le volume importé avant la mesure et le nombre d’articles retirés de la demande par unité de hausse du prix. L’outil applique une réponse linéaire, empêche le volume de devenir négatif et multiplie le droit par les importations restantes. Il affiche aussi la baisse du volume afin que vous puissiez vérifier et expliquer le résultat.
Définissez le marché avant l’application du droit
Employez une unité cohérente pour le bien importé et une monnaie unique pour le droit. imports_before_tariff désigne la quantité importée au prix intérieur initial. import_reduction_per_price_unit indique combien d’articles importés disparaissent lorsque le prix intérieur augmente d’une unité monétaire. Ainsi, 250 signifie que chaque hausse unitaire réduit les importations de 250 articles. Le calculateur suppose une répercussion intégrale : un droit de 8 par article relève donc le prix intérieur de 8. Cette hypothèse correspond au modèle classique du petit pays, où le prix mondial reste fixe. Si la hausse observée est inférieure au droit légal, calibrez le coefficient sur la réaction effective du marché ou considérez le résultat comme un scénario de répercussion intégrale. Les trois données doivent concerner le même bien, la même période, la même monnaie et la même définition d’article. Combiner des importations annuelles et une réaction mensuelle donnerait un chiffre arithmétiquement correct, mais économiquement dépourvu de sens.
Calculez les importations restantes et les recettes
Le calculateur multiplie d’abord tariff_per_unit par import_reduction_per_price_unit. Ce produit représente la baisse non contrainte du volume importé provoquée par la hausse du prix. Il la soustrait ensuite de imports_before_tariff. Une quantité physique ne pouvant être négative, imports_remaining est ramené au minimum à zéro et imports_reduced ne dépasse jamais le volume initial. Les recettes publiques correspondent à tariff_per_unit multiplié par imports_remaining, et non par le volume antérieur. Cette distinction est essentielle : appliquer le droit à l’ancienne quantité surestime les recettes dès que la mesure décourage les importations. Si la baisse calculée supprime celles-ci, les recettes sont nulles malgré un droit positif et imports_eliminated vaut vrai. Le résultat rappelle également la hausse de prix supposée et le droit unitaire, ce qui rend le calcul facile à contrôler. Une précision numérique stable garantit que des entrées valides identiques produisent le même JSON dans le navigateur et via l’API.
Interprétez l’estimation et comparez plusieurs taux
Les recettes douanières n’augmentent pas nécessairement avec le droit. Un tarif supérieur rapporte davantage sur chaque article encore importé, mais réduit aussi l’assiette taxable. Avec une réponse linéaire, les recettes suivent une courbe inversée tant que les importations restent positives : elles partent de zéro, peuvent culminer à un taux intermédiaire et retombent à zéro lorsque le droit bloque toutes les importations. Essayez plusieurs valeurs de tariff_per_unit en conservant le volume initial et le coefficient de réaction. Il s’agit d’une estimation d’équilibre partiel, et non d’une prévision exhaustive des finances publiques ou du bien-être. Elle ignore les variations du prix mondial, les taux de change, les représailles, les exonérations, la fraude, les frais administratifs, la réaction de l’offre nationale et les contingents tarifaires. Elle suppose aussi un bien homogène et une réaction linéaire sur toute la plage étudiée. Pour une étude empirique, estimez la réaction avec des données adaptées au produit et à la période, puis confrontez le résultat aux recettes douanières constatées. Les recettes seules ne mesurent ni la perte des consommateurs, ni le gain des producteurs, ni la perte sèche.
Cas d’usage
Préparer un scénario de politique commerciale
Estimez les recettes d’un droit envisagé en tenant compte du volume supprimé par la hausse du prix intérieur.
Vérifier un exercice d’économie
Contrôlez les importations restantes et les recettes dans un problème linéaire de petit pays.
Comparer plusieurs droits
Testez différents taux sur la même base pour repérer quand une hausse commence à réduire les recettes.
Questions fréquentes
Quelle est la formule des recettes douanières ?
Les importations restantes sont le volume initial moins le droit unitaire multiplié par la réduction par unité de prix, avec un plancher nul. Les recettes sont le droit unitaire multiplié par le volume restant.
Pourquoi ne pas utiliser les importations initiales ?
Le droit augmente le prix intérieur et réduit la demande d’importations. Seuls les biens qui entrent encore sont taxés.
Quelle hausse de prix le calcul suppose-t-il ?
Il suppose une répercussion intégrale : la hausse du prix intérieur égale le droit par unité.
Un droit positif peut-il produire des recettes nulles ?
Oui. Si la baisse prévue atteint le volume initial, aucune importation ne subsiste comme assiette taxable.
Ce calcul donne-t-il le droit optimal ?
Non. Il calcule les recettes d’un taux donné avec une réponse linéaire, sans modéliser le bien-être, les représailles ni les termes de l’échange.
Quel est le coût du calcul par API ?
Chaque requête API coûte $0.002. Le même calcul déterministe peut s’exécuter dans le navigateur sans transmettre les données sur le réseau.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/econ/tariff-revenue \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"tariff_per_unit":8,"imports_before_tariff":5000,"import_reduction_per_price_unit":250}'const res = await fetch("https://api.kit.forhosting.com/econ/tariff-revenue", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"tariff_per_unit": 8,
"imports_before_tariff": 5000,
"import_reduction_per_price_unit": 250
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/tariff-revenue",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"tariff_per_unit": 8,
"imports_before_tariff": 5000,
"import_reduction_per_price_unit": 250
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/tariff-revenue", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"tariff_per_unit":8,"imports_before_tariff":5000,"import_reduction_per_price_unit":250}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"tariff_per_unit":8,"imports_before_tariff":5000,"import_reduction_per_price_unit":250}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/tariff-revenue", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"tariff_per_unit": 8,
"imports_before_tariff": 5000,
"import_reduction_per_price_unit": 250
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.tariff_revenue",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |