Skip to content
Empieza gratis

¿Cómo comparo contra el mismo periodo del año pasado?

Compara contra el mismo tramo del año pasado con intervalos semiabiertos, para que un año a medias no parezca una caída.

Curso gratis. Tu Maestro, una IA, .

¿Vamos mejor que el año pasado?

Es 30 de junio de 2026 y la dirección de Café Altura pregunta si vamos mejor que el año pasado. La respuesta rápida suma lo vendido en 2026 y lo compara con lo vendido en 2025:

  • 2026, hasta hoy: 6,980,100 pesos.
  • 2025 completo: 12,984,830 pesos.
  • Cambio: -46.2%.

El número es aritmética correcta y conclusión falsa. 2026 lleva seis meses y 2025 tiene doce. La comparación justa es el mismo tramo del calendario: enero a junio de 2025, que vendió 6,468,030 pesos. Contra ese tramo, 2026 va 7.9% arriba.

Mover una fecha un año o un mes atrás parece trivial, y tiene orillas. Predice.

Dos fechas que no tienen equivalente exacto un periodo antes. Escribe qué crees que da cada una y por qué.

Un mes antes del 31 de marzo y un año antes del 29 de febrero

intervalos.py
import duckdbprint(duckdb.sql("""    SELECT      (DATE '2026-03-31' - INTERVAL 1 MONTH)::DATE::VARCHAR AS un_mes_antes,      (DATE '2024-02-29' - INTERVAL 1 YEAR)::DATE::VARCHAR AS un_anio_antes""").fetchall())

Adivinar está bien. Lo que escribas se queda en este navegador y te espera en tu curso.

Cómo comparar periodos

Tres reglas cubren casi todos los casos:

  • Compara tramos con el mismo calendario. Escribe los dos periodos con intervalos semiabiertos: >= '2026-01-01' AND < '2026-07-01' contra >= '2025-01-01' AND < '2025-07-01'. Para un mes, el mes completo de cada año: marzo de 2026 vendió 1,229,670 pesos y marzo de 2025, 1,148,240, un 7.1% más.
  • Compara periodos con la misma cobertura. Un mes parcial contra uno completo mezcla periodos distintos. Sí puedes comparar del 1 al 15 de un mes contra el mismo tramo del otro año si ambos tienen cobertura equivalente y etiquetas que lo indiquen. Aquí los datos llegan al 30 de junio, así que junio está completo.
  • Por día, mira el día de la semana. El 2 de marzo de 2026 fue lunes y el 2 de marzo de 2025 fue domingo. Una cafetería no vende igual en lunes que en domingo. 364 días antes (52 semanas) cae el mismo día de la semana: el lunes 3 de marzo de 2025.

Si tu negocio compara semanas o días contra el año pasado, revisa con tu Maestro qué fecha usar.

Un filtro por periodo y una suma para cada año:

Python
f = data["fecha"]v26 = data.loc[(f >= "2026-01-01") & (f < "2026-07-01"), "ventas"].sum()v25 = data.loc[(f >= "2025-01-01") & (f < "2025-07-01"), "ventas"].sum()print(round(100 * (v26 - v25) / v25, 1))

FILTER suma solo las filas que cumplen su condición, así que los dos periodos caben en una consulta:

SQL
SELECT  sum(ventas) FILTER (WHERE fecha >= '2026-01-01' AND fecha < '2026-07-01') AS ventas_2026,  sum(ventas) FILTER (WHERE fecha >= '2025-01-01' AND fecha < '2025-07-01') AS ventas_2025FROM ventas_diarias;

Inténtalo

La consulta compara, por sucursal, enero a junio de 2026 contra todo 2025, y todas parecen caer a la mitad. Corrige el periodo de 2025 para que sea el mismo tramo. Una buena respuesta tiene tres filas con cambios positivos, entre 7 y 9%. Si nunca habías visto FILTER, pídele a tu Maestro que te lo explique con esta misma consulta.

Tu turno

Por sucursal, compara las ventas de enero a junio de 2026 con las del mismo periodo de 2025 y calcula el cambio porcentual con un decimal.

Tablas: ventas_diarias (fecha, sucursal, ventas)

ventas_diarias · 1,598 filas

ColumnaTipo
fecha El día de la venta.DATE
sucursal Roma, Coyoacán o Del Valle.VARCHAR
ventas Ventas del día en pesos.BIGINT

Primeras filas

fechasucursalventas
2025-01-02Roma12120
2025-01-02Coyoacán10650
2025-01-02Del Valle8880

Inténtalo sin ayuda

Ahora en pandas: compara las ventas de toda la cadena en marzo de 2026 contra marzo de 2025 e imprime los dos totales y el cambio porcentual con un decimal. Una buena respuesta da 7.1.

Tu turno

Compara las ventas de la cadena en marzo de 2026 contra marzo de 2025: imprime los dos totales y el cambio porcentual con un decimal.

Datos: ventas-diarias, 1,598 filas
Los datos del ejercicio, "ventas-diarias". Tus cambios corren con tu código.
FilaQuitar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Página 1 de 80

Comprueba lo que sabes: Tus datos llegan al 30 de junio de 2026. ¿Contra qué comparas lo vendido en 2026 para saber si vas mejor que el año pasado?