Calculadora do próximo intervalo de repetição espaçada
A calculadora do próximo intervalo de repetição espaçada transforma o intervalo de revisão anterior de uma pessoa e o fator de facilidade atual no próximo período programado, em dias.
Executar grátis
Ela aplica a regra de multiplicação comum nos sistemas simples de repetição espaçada e arredonda o resultado com a precisão escolhida por você. A saída é determinística e inclui as entradas e a fórmula, por isso atende ferramentas de estudo, agendas de flashcards, planilhas e fluxos de aprendizagem auditáveis. Não é preciso ter conta, consultar a rede, acessar o relógio nem manter um perfil oculto do estudante.
Informe o intervalo anterior e o fator de facilidade
Comece pelo número de dias que separou as duas revisões programadas mais recentes. Informe esse valor como previous_interval_days. Ele pode ser inteiro, como 6, ou fracionário quando o aplicativo agenda com maior granularidade. Depois, forneça ease_factor, o multiplicador escolhido pelo seu sistema de aprendizagem após a última revisão. Um fator acima de 1 aumenta o intervalo; abaixo de 1, reduz. Por exemplo, 6 dias e um fator de 2.5 resultam em 15 dias antes do arredondamento. Os dois valores devem ser finitos e positivos. A calculadora não deduz o fator com base em nota, botão, quantidade de lapsos ou tempo de resposta, pois essas regras variam entre sistemas. Ela executa uma etapa transparente com valores já escolhidos pelo seu aplicativo. Assim, o resultado pode ser reproduzido em SDK, planilha, fixture de teste ou worker de fila sem copiar um algoritmo completo de flashcards nem depender de padrões não documentados.
Entenda a multiplicação e o arredondamento
O cálculo multiplica previous_interval_days por ease_factor. Depois, arredonda o resultado para decimal_places, cujo padrão é 2 e cuja faixa vai de 0 a 6. Escolha 0 quando o agendador armazenar apenas dias inteiros; use precisão maior quando outra camada converter dias fracionários em horas ou timestamps. O arredondamento ocorre uma única vez, depois da multiplicação, evitando que truncamentos intermediários encurtem silenciosamente um plano longo. A resposta repete previous_interval_days, ease_factor, decimal_places e a fórmula junto de next_interval_days. Esses campos tornam os logs claros e ajudam a distinguir uma decisão de agenda de uma conversão de exibição. A calculadora não força o mínimo de um dia: um produto positivo pequeno pode permanecer abaixo de um dia. Também não adiciona bônus, limites, aleatoriedade, ajustes por atraso nem etapas especiais para a primeira revisão. Se o seu produto usar essas políticas, aplique-as explicitamente e registre-as separadamente. Entradas JSON idênticas sempre geram saídas JSON idênticas.
Use o resultado em um fluxo duradouro de revisão
Trate next_interval_days como intervalo de agendamento, não como data do calendário. O aplicativo pode somá-lo ao horário de conclusão da última revisão bem-sucedida e decidir como lidar com fusos horários, fins de semana, sessões perdidas ou viradas do dia. Esta capacidade nunca lê a data atual, portanto a mesma solicitação não muda apenas por ser executada mais tarde. Em um serviço de flashcards, armazene o intervalo com a avaliação e o fator que o produziram; esse pequeno histórico explica alterações futuras. Em um painel escolar, calcule lotes somente depois de validar que cada registro contém o intervalo e o fator corretos. Em uma migração de planilha, compare os campos da fórmula retornada com as colunas existentes antes de substituir valores antigos. A versão no navegador é útil para conferências manuais, e a API custa US$ 0,002 por item bem-sucedido quando a automação precisa do mesmo contrato determinístico. Corrija falhas de validação em vez de substituí-las silenciosamente por uma política padrão.
Casos de uso
Agendar a revisão de um flashcard
Multiplique o intervalo armazenado pelo fator escolhido após uma lembrança correta e salve o retorno para a próxima etapa do agendamento.
Conferir uma planilha de estudos
Recalcule linhas selecionadas com arredondamento explícito e compare os resultados com as fórmulas de um currículo ou controle do estudante.
Testar um aplicativo educacional
Use saídas determinísticas como fixtures para verificar se o agendador envia o intervalo e o fator corretos entre serviços.
Perguntas frequentes
Qual fórmula a calculadora usa?
Ela multiplica previous_interval_days por ease_factor e arredonda o produto para decimal_places.
Ela calcula o fator de facilidade com base em uma nota?
Não. Forneça o fator escolhido pela sua política de avaliação ou agendamento; esta capacidade executa apenas a multiplicação do intervalo.
O próximo intervalo pode ser menor que um dia?
Sim. Intervalos fracionários positivos são mantidos quando decimal_places tem precisão suficiente para representá-los.
Como o resultado é arredondado?
O produto é arredondado uma vez, entre 0 e 6 casas decimais. O padrão é 2 casas.
A calculadora escolhe uma data de revisão?
Não. Ela retorna um intervalo em dias e não lê o relógio. Seu aplicativo pode somá-lo ao horário de conclusão escolhido.
Quanto custa uma solicitação à API?
Cada item bem-sucedido da API custa US$ 0,002. O mesmo cálculo determinístico também pode ser executado no navegador.
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/edu/next-spaced-interval \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"previous_interval_days":6,"ease_factor":2.5}'const res = await fetch("https://api.kit.forhosting.com/edu/next-spaced-interval", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"previous_interval_days": 6,
"ease_factor": 2.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/next-spaced-interval",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"previous_interval_days": 6,
"ease_factor": 2.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/next-spaced-interval", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"previous_interval_days":6,"ease_factor":2.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"previous_interval_days":6,"ease_factor":2.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/next-spaced-interval", 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
{
"previous_interval_days": 6,
"ease_factor": 2.5
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.next_spaced_interval",
"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. |