Inicio · Parte 00 — Pensamiento matemático desde cero
x % de A = A · x/100
aumento de p % seguido de descuento de p %: A · (1+p)(1−p) = A(1 − p²)
El error más caro con porcentajes no es de cálculo, es de composición. Un aumento del 20 % seguido de un descuento del 20 % no devuelve el precio original: devuelve el 96 % de él. La razón es que los dos porcentajes se aplican a bases distintas —el segundo se aplica sobre el precio ya aumentado— y por eso los cambios relativos se componen multiplicando factores, no sumando tasas.
El factor es la herramienta correcta: aumentar un 20 % es multiplicar por 1.20; descontar un 20 % es multiplicar por 0.80. Encadenar cambios es multiplicar factores, y el orden no altera el resultado porque la multiplicación es conmutativa. Lo que sí cambia es cuál es el descuento que revierte exactamente un aumento: para deshacer un ×1.20 hace falta un ×1/1.20, es decir un descuento del 16.67 %, no del 20 %.
La segunda confusión frecuente es entre punto porcentual y porcentaje. Si una tasa de conversión pasa del 10 % al 12 %, ha subido 2 puntos porcentuales, que es un aumento relativo del 20 %. Ambas cifras son correctas y describen cosas distintas; publicar una sin decir cuál es se usa habitualmente para exagerar resultados. La clase 219 (A/B testing) retoma exactamente esta distinción.
Para dinero, esta clase usa Decimal deliberadamente. Los porcentajes producen divisiones por 100 que en binario no son exactas, y el descuadre por redondeo al repartir un total es un fenómeno real que el capstone de la parte hace visible.
Un producto de 1000 sube un 20 % y luego baja un 20 %.
Precio inicial 1000
Tras +20 %: 1000 × 1.20 = 1200
Tras −20 %: 1200 × 0.80 = 960
Variación neta: 960/1000 − 1 = −4 % (= −p² con p = 0.20)
¿Qué descuento revierte exactamente el +20 %?
1 − 1/1.20 = 0.1667 → 16.67 %
1200 × (1 − 0.1667) = 1000 ✓
Aumento y descuento sucesivos: el orden no cambia, la reversión sí.
python classes/part-00-pensamiento-matematico-desde-cero/005-porcentajes-desde-cero/lab.py
compmath run 005
precio_inicialtras_+20%tras_-20%vuelve_al_inicialvariacion_neta_%descuento_que_revierte_+20%{
"precio_inicial": 1000.0,
"tras_+20%": 1200.0,
"tras_-20%": 960.0,
"vuelve_al_inicial": false,
"variacion_neta_%": -4.0,
"descuento_que_revierte_+20%": 16.6667
}
Interés compuesto (parte 07), tasas de conversión y lift en experimentos (clase 219), y cualquier métrica relativa de un modelo. Un «20 % de mejora» sin base declarada es una afirmación incompleta.
Toda métrica de un modelo (accuracy, loss, learning rate) es una razón, un porcentaje o una escala. Interpretarlas mal es el primer error de un practicante de IA.
decimal — documentación de la herramienta que ejecuta el laboratorio · URL de la fuente primaria comprobada en Python Software Foundation (2026-08-19).9780387967875 verificado en International ISBN Agency (2026-08-20).