Calcolatore del margine di profitto
Inserisca un costo e un prezzo di vendita per ottenere profitto, margine e ricarico affiancati: un costo di 80 venduto a 100 dà un margine del 20% ma un ricarico del 25%. Vendere sotto costo mostra la perdita come margine negativo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Costo
- 80
- Prezzo
- 100
- Profitto
- 20
- Margine di profitto (%)
- 20
- Ricarico (%)
- 25
Calcola profitto, percentuale di margine lordo e percentuale di ricarico a partire da un costo unitario e da un prezzo di vendita, distinguendo i due rapporti che vengono spesso confusi.
Profitto, margine e ricarico, e in cosa differiscono
A partire da un costo e da un prezzo questo strumento restituisce tre numeri. Il profitto è semplicemente prezzo - costo. La percentuale di margine è (prezzo - costo) / prezzo * 100, e esprime il profitto come quota del prezzo di vendita.
La percentuale di ricarico è (prezzo - costo) / costo * 100, e esprime lo stesso profitto come quota del costo. Questi due rapporti vengono confusi di continuo: un costo di 80 venduto a 100 dà un margine del 20% ma un ricarico del 25%, e lo strumento restituisce entrambi così che non li scambi mai. L'output riporta il costo e il prezzo forniti, così che un risultato memorizzato sia autoesplicativo senza bisogno della richiesta originale.
Campi, validazione e casi limite
C'è un'eccezione rigida: il prezzo non può essere 0, perché è il denominatore del margine, quindi un prezzo pari a zero restituisce l'errore tipizzato "price no puede ser 0". Un prezzo inferiore al costo è ammesso e produce semplicemente un profitto negativo e un margine negativo, che è il segnale corretto per una vendita in perdita anziché un errore. Il campo facoltativo decimals è un intero da 0 a 8 e vale 2 per impostazione predefinita, lasciando ai flussi finanziari margine per un'economia unitaria ad alta precisione.
Casi d'uso
Prezzi un prodotto correttamente
Inserisca il suo costo a destino e il prezzo voluto per vedere il margine reale, ed eviti il classico errore di indicare il ricarico come se fosse il margine.
Modelli sconti e perdite
Provi un prezzo inferiore al costo per vedere il profitto e il margine negativi, quantificando esattamente quanto incide uno sconto promozionale.
Domande frequenti
Qual è la differenza tra margine e ricarico?
Il margine è il profitto come percentuale del prezzo; il ricarico è lo stesso profitto come percentuale del costo. Un costo di 80 a un prezzo di 100 è un margine del 20% ma un ricarico del 25%.
Perché il prezzo non può essere zero?
Il prezzo è il denominatore della percentuale di margine, quindi un prezzo pari a zero comporterebbe una divisione per zero.
Posso modellare una perdita?
Sì. Un prezzo inferiore al costo è ammesso e restituisce un profitto e un margine negativi, non un errore.
Quanto può essere preciso l'output?
Il campo decimals accetta da 0 a 8 (predefinito 2), arrotondato half-up.
Che cosa succede se il costo è zero?
Il margine è del 100%, perché l'intero prezzo è profitto. Il ricarico non si può calcolare, dato che significherebbe dividere per zero, quindi resta vuoto invece di mostrare un numero fuorviante.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/profit-margin \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cost":80,"price":100}'const res = await fetch("https://api.kit.forhosting.com/dev/profit-margin", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cost": 80,
"price": 100
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/profit-margin",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cost": 80,
"price": 100
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/profit-margin", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cost":80,"price":100}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cost":80,"price":100}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/profit-margin", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"cost": 80,
"price": 100
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.profit_margin",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Profitto, margine e ricarico, e in cosa differiscono
Quando il costo è 0 il ricarico è matematicamente indefinito (divisione per zero), perciò markup_percent viene restituito come null mentre margin_percent resta valido a 100.
Campi, validazione e casi limite
Due campi sono obbligatori: cost, un numero finito maggiore o uguale a 0, e price, un numero finito maggiore o uguale a 0. Ogni input viene controllato per tipo, finitezza e intervallo prima di qualsiasi calcolo, e una violazione restituisce invalid_input che nomina il campo, per esempio un costo negativo o un prezzo non numerico.
Arrotondamento, determinismo e consegna
L'arrotondamento usa una regola esplicita half-up sul risultato IEEE esatto, applicata in modo indipendente a profit, margin_percent e markup_percent, così che un valore di 12.345 diventi 12.35 anziché scostarsi tramite un formattatore dipendente dal locale. Le attività API fallite non vengono mai addebitate; il saldo prepagato si spende solo sul lavoro riuscito a $0.002.
Casi di integrazione
Verifichi un catalogo in blocco
Invii il costo e il prezzo di ogni SKU attraverso l'API per segnalare gli articoli il cui margin_percent scende sotto la sua soglia.
Domande tecniche
E se il costo è zero?
Il profitto e il margine restano validi, ma il ricarico è indefinito (divisione per il costo), quindi markup_percent viene restituito come null.