Calculadora de porcentagem de vitórias
Uma campanha de 10 vitórias, 4 derrotas e 2 empates dá uma porcentagem de .688, porque cada empate vale meia vitória: digite a campanha e veja o número da tabela de classificação. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Vitórias
- 10
- Derrotas
- 4
- Empates
- 2
- Partidas
- 16
- % de vitórias
- 0,688
- Porcentagem
- 68,8
- Exibição
- .688
A calculadora de porcentagem de vitórias recebe o histórico de uma equipe — vitórias, derrotas e, quando o esporte permite, empates — e devolve a porcentagem de vitórias padrão usada nas tabelas de classificação. Os empates contam como meia vitória, portanto uma temporada 10-4-2 não é o mesmo que 10-4-0. Você recebe o clássico número de três casas decimais da tabela, a porcentagem equivalente, a forma de exibição como impressa nos jornais e a fórmula exata utilizada, tudo em uma única chamada determinística.
Por que os empates contam como meia vitória
Muitas ligas — a NFL, a NHL antes da era do shootout, classificações de futebol em alguns formatos, o xadrez e incontáveis competições amadoras — permitem que uma partida termine empatada. Se os empates fossem simplesmente ignorados, uma equipe com dez vitórias, quatro derrotas e dois empates seria avaliada exatamente como uma com dez vitórias e quatro derrotas, o que desvaloriza as duas partidas que ela não perdeu. A solução padrão, adotada pelas classificações das grandes ligas há décadas, é contar cada empate como meia vitória e meia derrota.
A calculadora de porcentagem de vitórias aplica essa convenção com exatidão: as vitórias efetivas são as vitórias mais metade dos empates, e o divisor é o total de partidas disputadas. Uma equipe 10-4-2 obtém, portanto, (10 + 1) ÷ 16 = .688, posicionada corretamente entre o clube 10-4 com .714 e um hipotético 10-5-1 com .656, que é exatamente onde seus resultados a colocam.
O resultado é o número que aparece nas classificações impressas, arredondado para três casas decimais para que .643 signifique o mesmo em todos os lugares, em cada liga e em cada site.
Como os números são calculados e arredondados
A fórmula é (vitórias + 0.5 × empates) ÷ (vitórias + derrotas + empates). Cada contagem deve ser um número finito e não negativo; valores negativos ou ausentes são rejeitados com um erro tipado que indica o campo responsável, e essas requisições malsucedidas não são cobradas. A resposta também devolve as vitórias, derrotas, empates e o total de partidas usados, para que quem chama possa guardar o cálculo completo junto aos próprios registros e auditar depois qual histórico produziu cada número.
Casos extremos e quando o cálculo é indefinido
Uma porcentagem de vitórias só faz sentido quando pelo menos uma partida foi disputada. Todo o resto funciona como se espera: uma equipe sem vitórias e com derrotas devolve .000, uma temporada perfeita devolve 1.000 e uma temporada composta inteiramente de empates devolve exatamente .500, que é a propriedade elegante da convenção da meia vitória. Esportes sem empates — beisebol, basquete, a maioria dos formatos modernos de hóquei — simplesmente omitem o campo de empates, e a fórmula se reduz a vitórias divididas pelas partidas disputadas.
Os chamadores típicos são geradores de tabelas que ordenam equipes pelo número devolvido, bancos de dados históricos que verificam uma porcentagem citada contra o registro subjacente e ferramentas jornalísticas que precisam da forma clássica de três casas decimais para impressão. Como o cálculo é determinístico — sem rede, sem relógio, sem aleatoriedade — a mesma entrada produz sempre a mesma saída, que é exatamente o que se quer de um número que decide vagas em playoffs e aparece sob os nomes das equipes na tabela de um jornal.
Casos de uso
Comparar equipes entre esportes com empates
Avalie com justiça uma temporada 10-4-2 de uma equipe da NFL em relação a uma 10-4 do beisebol, deixando os empates contarem como meia vitória.
Validar um registro histórico antes de publicar
Confira se uma porcentagem de vitórias citada corresponde às vitórias, derrotas e empates do seu conjunto de dados antes de ela ir para um artigo ou relatório.
Perguntas frequentes
Quanto custa?
Também é grátis executar no seu navegador nesta página.
Como os empates são tratados?
Cada empate conta como meia vitória e meia derrota, a convenção padrão nas classificações de liga. A fórmula é (vitórias + 0.5 × empates) ÷ total de partidas.
E se o meu esporte não tem empates?
Omita o campo de empates; ele vale zero por padrão e a fórmula se reduz a vitórias divididas pelas partidas disputadas.
Por que três casas decimais?
É a convenção consolidada nas tabelas de classificação, de modo que .643 é inequívoco. A porcentagem equivalente com uma casa decimal é devolvida junto.
Posso passar os números como texto?
Sim. Cadeias numéricas como "10" são aceitas e convertidas, desde que sejam finitas e não negativas.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/sports/win-percentage-calc \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"wins":10,"losses":4}'const res = await fetch("https://api.kit.forhosting.com/sports/win-percentage-calc", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"wins": 10,
"losses": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/sports/win-percentage-calc",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"wins": 10,
"losses": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/sports/win-percentage-calc", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"wins":10,"losses":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"wins":10,"losses":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/sports/win-percentage-calc", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"wins": 10,
"losses": 4
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "sports.win_percentage_calc",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Como os números são calculados e arredondados
A API devolve o resultado bruto arredondado para três casas decimais, que é a convenção das tabelas de classificação, mais o mesmo valor expresso como porcentagem com uma casa decimal e uma cadeia de exibição no formato clássico — ".643" em vez de "0.643" — como aparece nas páginas de esportes. Cadeias numéricas como "10" são aceitas e convertidas, o que mantém o endpoint amigável para formulários e pipelines alimentados por CSV, onde tudo chega como texto.
Casos extremos e quando o cálculo é indefinido
Um histórico 0-0-0 divide por zero e, em vez de inventar uma resposta, o endpoint devolve um erro tipado invalid_input explicando que o total de partidas é zero. O mesmo código roda grátis no navegador nesta página, então você pode conferir um histórico digitando-o antes de conectar a API a um pipeline de classificações.
Casos de integração
Gerar tabelas de classificação
Envie o histórico de cada equipe ao endpoint e ordene pelo número de três casas decimais devolvido, exatamente como fazem as classificações oficiais.
Perguntas técnicas
O que acontece com um histórico 0-0-0?
A requisição é rejeitada com um erro invalid_input, porque uma porcentagem de vitórias é indefinida quando nenhuma partida foi disputada. Requisições malsucedidas não são cobradas.