Última revisão: 16 de setembro de 2026
O que entra no cálculo
O motor trabalha exercício por exercício e aluno por aluno. Cada vez que o aluno fecha uma sessão no app, ele pega estes dados e nada mais.
- As séries registradas
- O peso e as repetições de cada série marcada como concluída. Uma série sem peso ou sem repetições (pulada, ou de um exercício sem carga) não entra na conta.
- O RIR do exercício
- Um único valor por exercício: as repetições em reserva que o app pergunta ao terminá-lo. Se o aluno não reporta, ou a pergunta está desativada, o cálculo usa 0.
- O modelo de cada semana
- As repetições e o RIR que o treinador prescreveu para cada série daquela semana. São os valores originais da rotina, não os que o motor escreveu depois.
- O incremento mínimo do exercício
- Vem da biblioteca de exercícios, em quilos ou libras conforme a unidade do aluno. Se o exercício não tem um definido, o motor usa 1 unidade.
- O tipo de exercício
- Se leva peso ou não, se é medido em repetições, tempo ou distância, e se está marcado como principal ou secundário dentro da sessão. Cada combinação segue uma regra diferente.
- O histórico recente
- As últimas três execuções daquele exercício por aquele aluno, em qualquer rotina, desde que tenham menos de 56 dias. Servem para que uma única sessão ruim ou boa não mova toda a prescrição.
Método
Estes são os passos, na ordem em que rodam. Todos são aritmética determinística sobre uma tabela: nenhum modelo de linguagem participa de nenhum deles.
Resumir a sessão em um único dado
O motor calcula a média do peso das séries concluídas (com duas casas decimais) e a média das repetições, arredondando para baixo. A isso soma o RIR reportado para o exercício. Três séries de 8 com 60 kg e RIR 4 viram 60 kg, 8 repetições, RIR 4.
Estimar o 1RM
Repetições mais RIR dão as repetições equivalentes: as que o aluno teria feito até a falha. Esse número, com teto em 20, é lido na tabela de coeficientes abaixo. O 1RM estimado é o peso dividido pelo coeficiente, com uma casa decimal. Com 60 kg e 12 repetições equivalentes, o coeficiente é 0,70 e o 1RM é 85,7 kg.
Suavizar com o histórico
O 1RM usado para prescrever não é só o de hoje. É a média dos 1RM estimados das últimas três execuções daquele exercício, incluindo a de hoje, descartando as de mais de 56 dias e as que não têm séries com carga. Se não houver nenhuma outra, usa-se a de hoje. Uma execução velha não volta a entrar: depois de uma pausa longa, a primeira sessão manda sozinha.
Calcular o peso bruto de cada semana seguinte
Para cada semana seguinte, o motor pega as repetições e o RIR do modelo daquela semana, soma, busca o coeficiente correspondente e multiplica pelo 1RM. Esse é o peso bruto, com uma casa decimal. Como cada semana pode ter o seu próprio RIR prescrito, o peso bruto muda de uma semana para outra mesmo com o mesmo 1RM.
Arredondar para o incremento que existe na sala
O peso bruto quase nunca pode ser montado com anilhas. O motor compara o bruto com o peso de referência (o peso real da última série concluída da semana anterior, ou o alvo dela se não foi treinada), divide a diferença pelo incremento mínimo e fica só com os incrementos inteiros, sempre arredondando na direção da referência. O resto é descartado, não acumulado. Com uma diferença de 4,3 kg e anilhas de 2,5 kg, o peso sobe 2,5 kg.
Se o peso não se move, movem-se as repetições
Quando a diferença não chega a um incremento inteiro, o peso fica igual e o motor muda o alvo de repetições. Em um exercício principal, o novo alvo é o esforço total anterior (repetições feitas mais RIR reportado) mais um, menos o RIR do modelo, que é mantido. Em um exercício secundário, ele compara esse esforço total com o do modelo: se o supera, fixa RIR 1 e prescreve uma repetição a menos que o total; se não chega, fixa RIR 1 e soma uma repetição às feitas.
Exercícios sem carga, por tempo ou por distância
Um exercício sem carga medido em repetições copia para as semanas seguintes as repetições que o aluno fez, só se diferirem do modelo. Um exercício medido em tempo ou distância não é recalculado: as semanas seguintes recebem os valores registrados como estão, inclusive o peso se havia.
Escrever só onde corresponde
O resultado é salvo apenas nas semanas posteriores à treinada que continuam pendentes e cujo último autor é o motor. Escreve-se o peso e as repetições de cada série e o RIR alvo da semana. O descanso, a técnica da série (um dropset, por exemplo) e as notas ficam como estavam.
A tabela de coeficientes
É a relação entre repetições equivalentes e fração do 1RM que o motor usa, derivada da tabela da NSCA. Lê-se nos dois sentidos: para estimar o 1RM a partir de uma série e para descer do 1RM ao peso de uma prescrição.
| Repetições equivalentes (reps + RIR) | Fração do 1RM |
|---|---|
| 1 | 1.000 |
| 2 | 0.950 |
| 3 | 0.930 |
| 4 | 0.900 |
| 5 | 0.870 |
| 6 | 0.850 |
| 7 | 0.830 |
| 8 | 0.800 |
| 9 | 0.770 |
| 10 | 0.750 |
| 11 | 0.725 |
| 12 | 0.700 |
| 13 | 0.685 |
| 14 | 0.670 |
| 15 | 0.650 |
| 16 | 0.640 |
| 17 | 0.630 |
| 18 | 0.620 |
| 19 | 0.610 |
| 20 | 0.600 |
Exemplo com números
Supino, três séries de 8, incremento mínimo de 2,5 kg. O modelo prescreve RIR 2 nas semanas 1 e 2 e RIR 1 na semana 3. Na semana 1 o aluno registra 60 kg nas três séries, 8 repetições em cada uma, e reporta RIR 4. Não tem histórico anterior no exercício.
| Passo | Conta | Resultado |
|---|---|---|
| Desempenho | média de 60, 60 e 60 kg; média de 8, 8 e 8 reps; RIR 4 | 60 kg, 8 reps, RIR 4 |
| Repetições equivalentes | 8 + 4, teto 20 | 12, coeficiente 0,70 |
| 1RM estimado | 60 / 0,70 | 85,7 kg |
| Linha de base | sem outras execuções em 56 dias | 85,7 kg |
| Semana | Modelo | Peso bruto | Referência | Prescrição |
|---|---|---|---|---|
| 2 | 8 reps, RIR 2 (10 equivalentes, 0,75) | 85,7 × 0,75 = 64,3 kg | 60 kg (real da semana 1) | 62,5 kg × 8, RIR 2 |
| 3 | 8 reps, RIR 1 (9 equivalentes, 0,77) | 85,7 × 0,77 = 66,0 kg | 62,5 kg (alvo da semana 2) | 65 kg × 8, RIR 1 |
Na semana 2 a diferença entre o bruto e a referência é de 4,3 kg: um incremento inteiro de 2,5 kg, e os 1,8 kg restantes são descartados. Na semana 3 a diferença é de 3,5 kg sobre os 62,5 kg já prescritos, outro incremento inteiro.
Se o mesmo aluno tivesse reportado RIR 3 em vez de 4, o 1RM seria 82,8 kg e o bruto da semana 2, 62,1 kg. A diferença para os 60 kg de referência é 2,1 kg, menos que um incremento, então o peso fica em 60 kg e o alvo de repetições passa a ser 8 + 3 + 1 − 2 = 10. A semana 2 ficaria em 60 kg × 10, RIR 2.
O mesmo caso com incremento mínimo de 1 kg (o valor padrão quando o exercício não define um) daria 64 kg na semana 2: quatro incrementos inteiros dentro dos 4,3 kg de diferença.
Limites
O que o motor não faz, porque o código não contempla. Tudo isso continua sendo trabalho do treinador.
- Não programa deloads. O RIR prescrito de uma rotina pode baixar semana a semana conforme o modelo, mas não existe uma lógica que detecte fadiga acumulada e reduza a carga ou o volume.
- Não muda o número de séries nem os descansos. Só escreve peso, repetições e RIR alvo.
- Só lê peso, repetições e RIR. Não usa RPE, sono, aderência, dor, notas do aluno nem nenhum outro sinal.
- Se o RIR falta, ele é tomado como 0. É a leitura mais conservadora possível: assume que a série foi até a falha e subestima o 1RM.
- O arredondamento é sempre na direção do peso de referência: nunca prescreve acima do bruto e nunca carrega o resto de uma semana para a seguinte. Uma melhora menor que um incremento vira repetições, não peso.
- A precisão cai com as repetições. A tabela assume uma relação fixa entre repetições e fração do 1RM; acima de 10 repetições equivalentes a estimativa é uma referência, não uma medição.
- Não toca na semana treinada nem nas anteriores, e não volta a tocar em uma semana que o treinador ou o aluno editaram.
- Exercícios por tempo ou distância não são recalculados, são arrastados. E um exercício novo, sem histórico, é prescrito só a partir da sessão de hoje.
O que o treinador decide
O cálculo é automatizado; o critério, não. Estes são os controles que existem no produto, verificados no mesmo código.
- Um interruptor geral e um por aluno. Com a progressão desligada, as semanas seguintes recebem os valores registrados na última sessão, sem recálculo do 1RM.
- A pergunta de RIR liga ou desliga no geral e por aluno. Desligá-la não para o cálculo: torna-o conservador, porque o RIR passa a ser 0.
- Qualquer semana que o treinador edite sai do motor de forma permanente. A rotina inteira abre como uma tabela onde peso, repetições e RIR podem ser editados semana a semana.
- Uma rotina gerada chega ao aluno quando o treinador a envia. Até lá é um rascunho.
- Não há caixa de aprovação: nas semanas que ninguém tocou, a carga é escrita sozinha quando o aluno fecha a sessão.
Notas de metodologia
- Última revisão: 16 de setembro de 2026.
- Fonte: código de produção do kaizer-backend, feature progression (estimativa do 1RM, atualizador de cargas e seu ponto de entrada ao fechar uma sessão), revisado em 2026-09-16. Esta página descreve o que esse código faz, não o que a documentação promete.
- A tabela de coeficientes deriva da tabela de repetições e porcentagem do 1RM da NSCA. A calculadora pública de 1RM deste site usa Epley e Brzycki com fins ilustrativos; o motor não usa nenhuma das duas.
- O cálculo roda em dois momentos: quando o aluno fecha uma sessão e quando o treinador estende as semanas de uma rotina. Nos dois casos escreve só semanas futuras, pendentes e escritas pelo motor.
- Quando o algoritmo mudar, esta página e a data de revisão mudam junto. Se um número daqui não bate com o que você vê no produto, a data diz qual dos dois é mais velho.
