Esta guía es parte de Brikel, el software de control de obra y presupuestos para arquitectos y constructoras.
Pruébalo gratisCómo se calcula la curva-S
Las 3 líneas del chart (planeado, real físico, real financiero), de dónde sale cada dato, cómo interpretar las brechas y la lógica del bucket de pre-obra (W0).
La curva-S es el gráfico más importante del Resumen de cada proyecto: muestra de un vistazo si la obra va en tiempo y si el gasto cuadra con el avance. Tiene 3 líneas (planeado, real físico, real financiero) y conviene entender de dónde sale cada una para interpretar el chart correctamente.
Por qué se llama "curva-S"
Los proyectos de construcción típicamente arrancan lentos (movilización, preliminares), aceleran en el grueso de la obra (estructura, albañilería) y terminan lentos otra vez (acabados, detalles, entregas). Cuando graficas el avance acumulado a lo largo del tiempo, el resultado tiene forma de "S" alargada.
Brikel calcula esta forma automáticamente con una función matemática estándar (smoothstep) aplicada a cada concepto del presupuesto. Más abajo te explicamos en detalle de dónde sale cada línea — pero la buena noticia es que no tienes que capturar la distribución semanal a mano para que la curva tenga la forma correcta.
Las 3 líneas
| Línea | Color | Estilo | Significado |
|---|---|---|---|
| Planeado | Índigo | Punteado | Lo que deberías haber avanzado según el cronograma. |
| Real físico | Ámbar | Sólido grueso | Lo que realmente llevas ejecutado de obra. |
| Real financiero | Verde teal | Sólido grueso | Lo que realmente has gastado. |
Puedes mostrar/ocultar cualquiera de las tres con la leyenda del chart.
La estructura semanal: W0, W1, W2…
El eje X se construye así:
- W0 (semana cero) — bucket de pre-obra. Cualquier gasto registrado con fecha anterior a la fecha de inicio de construcción cae aquí. Útil para anticipos a proveedores, permisos, levantamientos topográficos, etc.
- W1, W2, W3, … — semanas calendario desde la fecha de inicio de la obra hasta el final.
Tip: la fecha de inicio de construcción se toma de la fecha de inicio más temprana entre todos los conceptos del proyecto. Si tu proyecto formal arranca el 1 de mayo pero metiste un anticipo con fecha del 15 de abril, ese anticipo va en W0 y no se pierde.
Para proyectos largos (más de 16 semanas) el chart pagina: muestra 12 semanas a la vez con botones para avanzar/retroceder. Esto mantiene la legibilidad sin amontonar 40 columnas en pantalla.
Línea 1 — Planeado
Es lo que debería estar terminado al final de cada semana, ponderado por el peso económico de cada concepto.
De dónde sale
Para cada concepto, Brikel intenta dos fuentes en este orden:
- Distribución semanal capturada (
weekly_progress_plan) — cuando importas un proyecto desde un Excel CFP V4 con celdas semanales llenas, esos valores se respetan tal cual. Es el modo "el usuario sabe mejor que yo cómo va a avanzar este concepto". - Curva-S automática (smoothstep) — el caso default. Brikel calcula el % esperado en cada semana usando la fórmula
3t² − 2t³sobre los días hábiles transcurridos. No necesitas capturar nada: solo con las fechas de inicio y fin del concepto, la línea sale con forma de S (lenta-rápida-lenta) en lugar de recta.
Por qué smoothstep y no lineal
Las tareas de obra rara vez son lineales en la práctica: arman, producen y rematan. La fórmula 3t² − 2t³ modela exactamente eso:
| Tiempo transcurrido | Avance esperado |
|---|---|
| 0% | 0% |
| 25% | 16% (slow setup) |
| 50% | 50% (mitad real) |
| 75% | 84% (peak production) |
| 100% | 100% |
Ejemplo: una "Pintura" de 14 días. Smoothstep dice que al final de la semana 1 (día 7, mitad) llevas ~50%, al final de la semana 2 (día 14) llevas 100%. Lineal habría dicho 50% y 100% — igual al final pero plano en el medio. La diferencia se nota agregada al proyecto entero: la curva del proyecto sale en forma de S "real" desde el primer día.
Cómo se pondera
Cada concepto tiene un peso: qty × unit_price ÷ presupuesto total del proyecto. El planeado global de una semana es:
planned(semana N) = Σ por concepto: peso_concepto × % avance esperado del concepto en semana N
Resultado: un valor de 0 a 1 (0% a 100%) por cada semana. La línea se acumula hacia arriba semana a semana.
Ejemplo paso a paso (con números reales)
Para que veas exactamente cómo se construye la curva planeada, veamos un proyecto chiquito con 3 conceptos:
| Concepto | Inicio | Días hábiles | Importe | Peso |
|---|---|---|---|---|
| 1.01 Actividad 1 | 02-jun (lun) | 9 | $6,000 | 8.22% |
| 1.02 Actividad 2 | 13-jun (vie) | 4 | $10,800 | 14.80% |
| 1.03 Actividad 3 | 19-jun (jue) | 6 | $56,160 | 76.97% |
| Total | $72,960 | 100% |
Días hábiles del proyecto: Lunes a Viernes.
Las 3 fórmulas que se aplican
Por concepto, para cada semana:
elapsed = días hábiles transcurridos entre el inicio del concepto y el fin de la semana(clamped entre 0 y la duración del concepto)t = elapsed / duración_workdays(rango 0..1)% planeado del concepto = t² × (3 − 2t)(smoothstep)
Para la curva del proyecto:
% planeado_S(w) = Σ (peso_concepto × %_planeado_concepto_en_w) / total_importe
Semana por semana
Si construcción arranca 02-jun-2025 (lun), los fines de semana son:
- S1 weekEnd = 08-jun (dom)
- S2 weekEnd = 15-jun (dom)
- S3 weekEnd = 22-jun (dom)
S1 (al 08-jun)
| Concepto | Elapsed | t | smoothstep | % concepto |
|---|---|---|---|---|
| 1.01 (inicia 02-jun) | 5 (lun-vie 02-06 jun) | 5/9 = 0.556 | 0.556² × (3 − 1.111) = 0.309 × 1.889 | 58.3% |
| 1.02 (inicia 13-jun) | 0 (aún no arranca) | 0 | 0 | 0% |
| 1.03 (inicia 19-jun) | 0 | 0 | 0 | 0% |
Ponderado:
= (0.583 × $6,000 + 0 + 0) / $72,960
= $3,498 / $72,960
= 4.79% ← punto S1 de la curva planeada
S2 (al 15-jun)
| Concepto | Elapsed | t | smoothstep | % concepto |
|---|---|---|---|---|
| 1.01 | 10 → clamped a 9 | 1.00 | 1.00 | 100% ✓ |
| 1.02 (inicia 13-jun vie) | 1 (solo el 13) | 1/4 = 0.25 | 0.0625 × 2.5 | 15.6% |
| 1.03 | 0 | 0 | 0 | 0% |
Ponderado:
= (1.00 × $6,000 + 0.156 × $10,800 + 0) / $72,960
= ($6,000 + $1,687) / $72,960
= 10.54% ← punto S2
S3 (al 22-jun)
| Concepto | Elapsed | t | smoothstep | % concepto |
|---|---|---|---|---|
| 1.01 | ≥ duración | 1.00 | 1.00 | 100% |
| 1.02 | 6 → clamped a 4 | 1.00 | 1.00 | 100% |
| 1.03 (inicia 19-jun jue) | 2 (jue 19 + vie 20) | 2/6 = 0.333 | 0.111 × 2.333 | 25.9% |
Ponderado:
= (1.00 × $6,000 + 1.00 × $10,800 + 0.259 × $56,160) / $72,960
= ($6,000 + $10,800 + $14,545) / $72,960
= 42.96% ← punto S3
Resumen de la curva planeada del ejemplo
| Semana | Fin de semana | % Plan |
|---|---|---|
| S0 | 01-jun | 0% (pre-obra) |
| S1 | 08-jun | 4.8% |
| S2 | 15-jun | 10.5% |
| S3 | 22-jun | 43.0% |
| S4 | 29-jun | 100% (todo terminó el 26-jun) |
Lecciones del ejemplo
-
¿Por qué S2 a S3 salta de 10% a 43%? Porque la Actividad 3 (la más cara, 77% del proyecto) arranca el 19-jun. Aunque solo lleva 2 días hábiles de 6, ya carga ~20 puntos al total. El peso por costo manda — si Actividad 3 retrasa 1 día, mueve la curva ~13%; si Actividad 1 retrasa 1 día, solo mueve ~1%.
-
Smoothstep vs lineal: con lineal una actividad en su día 5 de 9 estaría al 55.6%. Con smoothstep está al 58.3% (la curva acelera en el medio). La diferencia máxima es en t=0.5, donde lineal da 50% y smoothstep da 50% también — son iguales en los extremos pero distintas en la forma.
-
Días hábiles importan: si este mismo proyecto se configurara como Lunes a Sábado, los números cambian — para S1 elapsed sería 6 (incluyendo sábado 07-jun) en vez de 5, y el plan saldría 6.1% en lugar de 4.8%. Cambia tu configuración de días hábiles en
/cronogramasi tu obra trabaja sábados. -
La línea Real Físico de este ejemplo: si los 3 conceptos están al 0% real (sin avances capturados), la línea ámbar queda planita en 0% todas las semanas hasta hoy. Para que se levante, necesitas capturar avance en
/avanceso aprobar estimaciones de destajos.
Línea 2 — Real físico
Es lo que realmente llevas ejecutado de obra. No es el % editado a mano — Brikel lo deriva de tres posibles fuentes, en orden de prioridad:
Fuente A: Entradas de avance fechadas (lo más preciso)
Si capturas avances semanales en /avances, cada entrada queda fechada (concept_progress_entries). Para cada semana del chart, Brikel toma la entrada más reciente con fecha ≤ fin de semana. Esto da la verdad histórica exacta: si la semana 5 capturaste 30% y la semana 7 lo subiste a 50%, el chart muestra 30% en W5/W6 y 50% en W7+.
Fuente B: Estimaciones de destajos (cuando hay)
Si el concepto tiene destajos y estimaciones aprobadas/pagadas, Brikel calcula:
% físico del concepto en semana N = Σ(qty_done × destajo.rate hasta semana N)
÷ Σ(qty_destajo × rate de TODOS los destajos del concepto)
Esto es lo que el módulo de Avances/Estimaciones alimenta automáticamente. La línea sube en la semana exacta en que apruebas una estimación — no antes, no después.
Fuente C: Aproximación lineal (fallback)
Si no hay ni entradas fechadas ni estimaciones, Brikel asume que el actual_progress actual del concepto se avanzó linealmente desde la fecha de inicio hasta hoy. Es una aproximación razonable para arrancar pero pierde precisión retrospectiva.
Importante: la línea real física se corta en la semana actual (no proyecta hacia el futuro). Si ves que la línea no llega hasta la última semana, no está rota — es deliberado.
Línea 3 — Real financiero
La más simple de las tres. Es el cash-flow acumulado:
real financiero (semana N) = Σ(transactions.amount con fecha ≤ fin de semana N)
÷ presupuesto total del proyecto
Cada gasto que capturas en /gastos con su fecha real contribuye a la semana correspondiente. Los gastos antes de la fecha de inicio de obra van al bucket W0.
Igual que la física, esta línea se corta en la semana actual.
Cómo leer la gráfica
La curva-S vale por las brechas entre las 3 líneas, no por las líneas individuales.
Caso 1 — Las 3 líneas pegadas
Vas perfecto: ejecutas lo planeado y lo pagas a tiempo. Caso ideal.
Caso 2 — Real físico < Planeado (atraso de obra)
Estás atrasado en la ejecución física. La brecha en % equivale a las semanas de atraso. Si la brecha sigue creciendo cada semana, el proyecto se va a entregar tarde — revisa cronograma y ruta crítica.
Caso 3 — Real físico > Planeado (adelanto)
Vas más rápido de lo planeado. Por lo general es buena señal, pero confirma que no estés sacrificando calidad y que el financiero esté siguiendo el ritmo.
Caso 4 — Real financiero > Real físico (estás pagando de más)
Estás gastando más rápido de lo que avanzas físicamente. Posibles causas:
- Compraste material a granel para varias semanas (común en cementos, varilla).
- Diste anticipos a proveedores.
- Hay sobrecosto en alguna partida — revisa el reporte de Avance físico vs. financiero.
Caso 5 — Real financiero < Real físico (estás avanzando con menos dinero)
Tu equipo avanza pero todavía no pagas todo lo correspondiente. Posibles causas:
- Tienes facturas por capturar (revisa tu pila de papeles).
- El cliente te debe estimaciones — el avance es real pero el flujo de caja se quedó atrás.
- Aprobaste estimaciones pero aún no pagas al equipo.
La curva-S y el Earned Value (PV, EV, AC, EPV)
La metodología Earned Value Management (EVM) es el estándar del PMI para medir desempeño de proyectos. La curva-S de Brikel es básicamente una representación gráfica de los tres valores fundamentales de EVM, normalizados como porcentaje del presupuesto.
Las tres métricas base
| Métrica | Nombre | Línea en Brikel | Fórmula |
|---|---|---|---|
| PV | Planned Value | Planeado | Presupuesto × % planeado a la fecha |
| EV (EPV) | Earned Value (Earned Plan Value) | Real físico | Presupuesto × % físico ganado a la fecha |
| AC | Actual Cost | Real financiero | Σ gastos reales a la fecha |
Nota: EPV (Earned Plan Value) es sinónimo de EV (Earned Value) y representa lo mismo: el valor del trabajo que realmente has ejecutado, expresado en pesos del presupuesto. Es la traducción "MXN" de la línea ámbar de tu curva.
Cómo Brikel calcula el EPV (Earned Value)
Para cada concepto, en una fecha dada:
EPV_concepto = (qty × unit_price) × % físico del concepto a esa fecha
Y para el proyecto completo:
EPV_proyecto = Σ EPV_concepto (suma de todos los conceptos)
El % físico se calcula con la prioridad de fuentes que vimos arriba: entradas de avance fechadas → estimaciones de destajos → aproximación lineal. Por eso el EPV refleja el valor real ganado por la obra que llevas físicamente terminada — no lo que pagaste, no lo que planeabas.
Variaciones (CV y SV)
Las variaciones te dicen, en pesos del presupuesto, qué tan desviado vas:
| Indicador | Fórmula | Interpretación |
|---|---|---|
| CV (Cost Variance) | EV − AC | Positivo = ahorro; negativo = sobrecosto |
| SV (Schedule Variance) | EV − PV | Positivo = adelanto; negativo = atraso (en términos de valor, no días) |
Ejemplo: un proyecto de $10M con EV = $4M, AC = $4.5M, PV = $4.8M:
- CV = $4M − $4.5M = −$500K → estás $500K sobrecosto.
- SV = $4M − $4.8M = −$800K → estás $800K atrasado (en valor de obra).
Índices de desempeño (CPI y SPI)
Los índices normalizan las variaciones para compararlas entre proyectos:
| Indicador | Fórmula | Interpretación |
|---|---|---|
| CPI (Cost Performance Index) | EV / AC | >1 = bajo presupuesto; =1 = en línea; <1 = sobre presupuesto |
| SPI (Schedule Performance Index) | EV / PV | >1 = adelantado; =1 = a tiempo; <1 = atrasado |
Con los mismos números del ejemplo:
- CPI = 4 / 4.5 = 0.89 → por cada peso gastado, recuperas $0.89 de obra. 11% sobrecosto.
- SPI = 4 / 4.8 = 0.83 → vas al 83% del ritmo planeado. 17% atrasado.
Pronóstico (EAC y ETC)
Si las tendencias actuales se mantienen, puedes proyectar el costo total del proyecto:
| Indicador | Fórmula | Significa |
|---|---|---|
| BAC (Budget at Completion) | Presupuesto contratado | Lo que se planeó gastar en total |
| EAC (Estimate at Completion) | BAC / CPI | Lo que realmente vas a gastar si el ritmo no cambia |
| ETC (Estimate to Complete) | EAC − AC | Lo que falta gastar de hoy al cierre |
| VAC (Variance at Completion) | BAC − EAC | Sobre/subcosto proyectado al cierre |
Con el ejemplo:
- EAC = $10M / 0.89 = $11.24M → vas a terminar gastando $1.24M más de lo presupuestado si nada cambia.
- ETC = $11.24M − $4.5M = $6.74M → te queda gastar $6.74M.
Dónde ver estos valores en Brikel
Hoy la curva-S muestra las 3 líneas como porcentaje. Los valores absolutos (PV, EV, AC en MXN) aparecen en:
- Tooltip del chart: al pasar el cursor sobre cualquier punto de la curva, ves el valor en pesos equivalente.
- KPIs del Resumen: las cards superiores muestran "Avance físico %", "Gastado" y "Pendiente" — derivados de EV y AC.
- Reporte "Avance físico vs. financiero": desglosa por partida la diferencia entre EV y AC, calcula CV y CPI por partida y total.
Roadmap: los índices SPI/CPI y el pronóstico EAC todavía no se muestran nativamente en la UI — están en el backlog para una iteración futura del Resumen. Mientras tanto puedes calcularlos manualmente a partir de los valores del tooltip.
Filtros por partida (scope)
Arriba del chart hay un dropdown que dice "Obra Total" por default. Lo puedes cambiar a una partida específica (Cimentación, Estructura, Albañilería…) y la curva se recalcula mostrando solo esa partida.
- Útil para detectar partidas problemáticas: una partida puede estar bien aunque el global se vea mal, o viceversa.
- El filtro se propaga a otros widgets del Resumen: la card de distribución, los KPIs y el donut también se filtran al mismo scope.
Por qué no muestra valores absolutos en MXN
Las 3 líneas están en porcentaje del presupuesto total, no en pesos. Razones:
- Es invariante a cambios de presupuesto: si el cliente aprueba un aditivo, la curva no se "rompe" — solo cambia la base.
- Es comparable entre proyectos: una curva al 60% es 60% siempre, sin importar si el proyecto es de $500K o $50M.
- El tooltip al pasar el cursor sí muestra el valor en MXN equivalente para cada punto.
Cuándo no confiar en la curva
La curva es solo tan buena como los datos que la alimentan. Específicamente:
- Si no capturas gastos con fechas reales (los pones todos con la fecha de hoy), la línea financiera se aplana hacia el final en lugar de mostrar el flujo real.
- Si no apruebas estimaciones al cierre de cada semana, la línea física se queda atrás del avance real.
- Si los conceptos tienen mal las fechas de inicio o fin, la curva planeada se desfasa. La forma de S se calcula sobre esas fechas — fechas mal puestas = curva mal puesta.
La regla práctica: dedica 30 minutos los viernes a aprobar estimaciones, capturar gastos pendientes y la curva-S te va a contar la verdad cada semana.
Próximos pasos
Si quieres entender mejor de dónde viene cada dato:
- Presupuesto: partidas, conceptos y destajos — la base del peso económico de la curva planeada.
- Cronograma de obra y ruta crítica — las fechas que definen la distribución.
- Gastos y estimaciones semanales — lo que alimenta las líneas físicas y financieras.
Haz esto mismo en Brikel, no en Excel
Presupuestos con precios unitarios, cronograma, avance real y control de gastos en un solo lugar. El plan gratis no pide tarjeta: creas tu cuenta, subes tu presupuesto y ves tu primera obra andando el mismo día.
