Proyecto: Pipeline y forecast
Proyecto hands-on con datos de CRM.
Es hora de poner en práctica todo lo aprendido. En este proyecto construirás un dashboard completo de pipeline y forecast de ventas, desde la preparación de datos hasta las visualizaciones finales. Al terminar, tendrás un dashboard profesional que puedes adaptar a tu organización.
Descripción del proyecto
Escenario
Eres el analista de Business Intelligence de TechSales Corp, una empresa de software B2B con un equipo de 8 vendedores distribuidos en 4 regiones. El VP de Ventas necesita un dashboard para:
- Monitorear el pipeline en tiempo real
- Proyectar el revenue del trimestre
- Identificar vendedores que necesitan apoyo
- Detectar deals estancados antes de que se pierdan
- Comparar rendimiento entre regiones y productos
Entregables
Al finalizar este proyecto tendrás:
- Un modelo de datos optimizado para ventas
- 25+ medidas DAX para análisis de ventas
- 4 páginas de dashboard interconectadas
- Drill-through para análisis de deals individuales
- Alertas visuales para KPIs críticos
Paso 1: Preparar los datos de ejemplo
Dataset de Oportunidades
Crea un archivo Excel llamado TechSales_Oportunidades.xlsx con esta estructura:
Hoja: Oportunidades
| ID_Oportunidad | Nombre_Oportunidad | ID_Cliente | ID_Vendedor | ID_Producto | Fecha_Creacion | Fecha_Cierre_Est | Fecha_Cierre_Real | Etapa | Estado | Monto | Probabilidad | Razon_Perdida |
|----------------|------------------------------|------------|-------------|-------------|----------------|------------------|-------------------|--------------|-----------------|--------|--------------|----------------------|
| OPP-001 | Acme Corp - Enterprise | 1 | 1 | 1 | 2025-10-15 | 2026-01-30 | | Negociacion | Abierta | 120000 | 0.75 | |
| OPP-002 | Beta Inc - Professional | 2 | 1 | 2 | 2025-11-01 | 2026-02-15 | | Propuesta | Abierta | 45000 | 0.50 | |
| OPP-003 | Gamma SA - Starter | 3 | 2 | 3 | 2025-09-20 | 2025-12-15 | 2025-12-10 | Cerrado | Cerrado Ganado | 15000 | 1.00 | |
| OPP-004 | Delta Corp - Enterprise | 4 | 2 | 1 | 2025-08-05 | 2025-11-30 | 2025-12-05 | Cerrado | Cerrado Perdido | 95000 | 0.00 | Precio |
| OPP-005 | Epsilon Ltd - Professional | 5 | 3 | 2 | 2025-11-15 | 2026-01-31 | | Calificado | Abierta | 52000 | 0.25 | |
| OPP-006 | Zeta Inc - Enterprise | 6 | 3 | 1 | 2025-12-01 | 2026-03-15 | | Prospecto | Abierta | 180000 | 0.10 | |
| OPP-007 | Eta Corp - Professional | 7 | 4 | 2 | 2025-10-20 | 2026-01-15 | 2026-01-12 | Cerrado | Cerrado Ganado | 38000 | 1.00 | |
| OPP-008 | Theta SA - Starter | 8 | 4 | 3 | 2025-11-10 | 2026-02-28 | | Propuesta | Abierta | 12000 | 0.50 | |
| OPP-009 | Iota Ltd - Enterprise | 9 | 5 | 1 | 2025-09-01 | 2025-12-20 | 2025-12-18 | Cerrado | Cerrado Ganado | 145000 | 1.00 | |
| OPP-010 | Kappa Inc - Professional | 10 | 5 | 2 | 2025-12-05 | 2026-02-10 | | Calificado | Abierta | 55000 | 0.25 | |
| OPP-011 | Lambda Corp - Enterprise | 11 | 6 | 1 | 2025-10-01 | 2026-01-20 | | Negociacion | Abierta | 200000 | 0.75 | |
| OPP-012 | Mu SA - Starter | 12 | 6 | 3 | 2025-11-20 | 2026-01-31 | 2026-01-25 | Cerrado | Cerrado Ganado | 18000 | 1.00 | |
| OPP-013 | Nu Inc - Professional | 13 | 7 | 2 | 2025-08-15 | 2025-11-15 | 2025-11-20 | Cerrado | Cerrado Perdido | 42000 | 0.00 | Competencia |
| OPP-014 | Xi Corp - Enterprise | 14 | 7 | 1 | 2025-12-10 | 2026-03-30 | | Prospecto | Abierta | 165000 | 0.10 | |
| OPP-015 | Omicron Ltd - Professional | 15 | 8 | 2 | 2025-11-05 | 2026-01-28 | | Propuesta | Abierta | 48000 | 0.50 | |
| OPP-016 | Pi SA - Enterprise | 16 | 8 | 1 | 2025-09-25 | 2025-12-31 | 2025-12-28 | Cerrado | Cerrado Ganado | 135000 | 1.00 | |
| OPP-017 | Rho Inc - Starter | 17 | 1 | 3 | 2025-12-15 | 2026-02-15 | | Calificado | Abierta | 9500 | 0.25 | |
| OPP-018 | Sigma Corp - Professional | 18 | 2 | 2 | 2025-10-10 | 2026-01-10 | 2026-01-08 | Cerrado | Cerrado Ganado | 62000 | 1.00 | |
| OPP-019 | Tau Ltd - Enterprise | 19 | 3 | 1 | 2025-11-25 | 2026-02-28 | | Propuesta | Abierta | 175000 | 0.50 | |
| OPP-020 | Upsilon SA - Professional | 20 | 4 | 2 | 2025-10-30 | 2026-01-25 | | Negociacion | Abierta | 58000 | 0.75 | |
| OPP-021 | Phi Inc - Enterprise | 21 | 5 | 1 | 2025-12-20 | 2026-04-15 | | Prospecto | Abierta | 220000 | 0.10 | |
| OPP-022 | Chi Corp - Starter | 22 | 6 | 3 | 2025-11-08 | 2026-01-20 | 2026-01-18 | Cerrado | Cerrado Ganado | 11000 | 1.00 | |
| OPP-023 | Psi Ltd - Professional | 23 | 7 | 2 | 2025-12-01 | 2026-02-20 | | Calificado | Abierta | 47000 | 0.25 | |
| OPP-024 | Omega SA - Enterprise | 24 | 8 | 1 | 2025-09-10 | 2025-12-10 | 2025-12-15 | Cerrado | Cerrado Perdido | 110000 | 0.00 | Sin presupuesto |
| OPP-025 | Alpha2 Inc - Professional | 25 | 1 | 2 | 2025-10-25 | 2026-01-20 | 2026-01-22 | Cerrado | Cerrado Ganado | 51000 | 1.00 | |
Hoja: Vendedores
| ID_Vendedor | Nombre | Email | Equipo | Region | Manager | Fecha_Ingreso |
|-------------|------------------|--------------------------|-----------|--------|----------------|---------------|
| 1 | Ana Garcia | ana.garcia@techsales.com | Team A | Norte | Carlos Mendez | 2022-03-15 |
| 2 | Roberto Lopez | roberto.lopez@techsales.com | Team A | Norte | Carlos Mendez | 2023-01-10 |
| 3 | Maria Rodriguez | maria.rodriguez@techsales.com | Team A | Sur | Carlos Mendez | 2021-06-01 |
| 4 | Pedro Sanchez | pedro.sanchez@techsales.com | Team A | Sur | Carlos Mendez | 2024-02-20 |
| 5 | Laura Martinez | laura.martinez@techsales.com | Team B | Este | Sofia Ruiz | 2022-08-05 |
| 6 | Diego Hernandez | diego.hernandez@techsales.com | Team B | Este | Sofia Ruiz | 2023-04-15 |
| 7 | Carmen Diaz | carmen.diaz@techsales.com | Team B | Oeste | Sofia Ruiz | 2021-11-20 |
| 8 | Juan Torres | juan.torres@techsales.com | Team B | Oeste | Sofia Ruiz | 2024-01-08 |
Hoja: Clientes
| ID_Cliente | Nombre_Empresa | Industria | Tamano | Pais | Ciudad |
|------------|-----------------|---------------|-------------|---------|---------------|
| 1 | Acme Corp | Tecnologia | Enterprise | Mexico | CDMX |
| 2 | Beta Inc | Finanzas | Mid-Market | Mexico | Monterrey |
| 3 | Gamma SA | Retail | SMB | Chile | Santiago |
| 4 | Delta Corp | Manufactura | Enterprise | Colombia| Bogota |
| 5 | Epsilon Ltd | Servicios | Mid-Market | Peru | Lima |
| 6 | Zeta Inc | Tecnologia | Enterprise | Mexico | Guadalajara |
| 7 | Eta Corp | Finanzas | Mid-Market | Argentina| Buenos Aires |
| 8 | Theta SA | Retail | SMB | Chile | Valparaiso |
| 9 | Iota Ltd | Tecnologia | Enterprise | Mexico | CDMX |
| 10 | Kappa Inc | Servicios | Mid-Market | Colombia| Medellin |
| 11 | Lambda Corp | Manufactura | Enterprise | Mexico | Monterrey |
| 12 | Mu SA | Retail | SMB | Peru | Arequipa |
| 13 | Nu Inc | Finanzas | Mid-Market | Chile | Santiago |
| 14 | Xi Corp | Tecnologia | Enterprise | Argentina| Buenos Aires |
| 15 | Omicron Ltd | Servicios | Mid-Market | Mexico | CDMX |
| 16 | Pi SA | Manufactura | Enterprise | Colombia| Bogota |
| 17 | Rho Inc | Retail | SMB | Peru | Lima |
| 18 | Sigma Corp | Finanzas | Mid-Market | Mexico | Guadalajara |
| 19 | Tau Ltd | Tecnologia | Enterprise | Chile | Santiago |
| 20 | Upsilon SA | Servicios | Mid-Market | Argentina| Cordoba |
| 21 | Phi Inc | Manufactura | Enterprise | Mexico | CDMX |
| 22 | Chi Corp | Retail | SMB | Colombia| Cali |
| 23 | Psi Ltd | Finanzas | Mid-Market | Peru | Lima |
| 24 | Omega SA | Tecnologia | Enterprise | Mexico | Monterrey |
| 25 | Alpha2 Inc | Servicios | Mid-Market | Chile | Santiago |
Hoja: Productos
| ID_Producto | Nombre_Producto | Categoria | Precio_Lista |
|-------------|--------------------|------------|--------------|
| 1 | Enterprise Suite | Software | 150000 |
| 2 | Professional Pack | Software | 50000 |
| 3 | Starter Edition | Software | 15000 |
Hoja: Cuotas
| ID_Vendedor | Ano | Mes | Cuota_Monto |
|-------------|------|-----|-------------|
| 1 | 2026 | 1 | 75000 |
| 1 | 2026 | 2 | 75000 |
| 1 | 2026 | 3 | 80000 |
| 2 | 2026 | 1 | 70000 |
| 2 | 2026 | 2 | 70000 |
| 2 | 2026 | 3 | 75000 |
| 3 | 2026 | 1 | 80000 |
| 3 | 2026 | 2 | 80000 |
| 3 | 2026 | 3 | 85000 |
| 4 | 2026 | 1 | 60000 |
| 4 | 2026 | 2 | 65000 |
| 4 | 2026 | 3 | 70000 |
| 5 | 2026 | 1 | 85000 |
| 5 | 2026 | 2 | 85000 |
| 5 | 2026 | 3 | 90000 |
| 6 | 2026 | 1 | 75000 |
| 6 | 2026 | 2 | 80000 |
| 6 | 2026 | 3 | 80000 |
| 7 | 2026 | 1 | 70000 |
| 7 | 2026 | 2 | 75000 |
| 7 | 2026 | 3 | 75000 |
| 8 | 2026 | 1 | 80000 |
| 8 | 2026 | 2 | 80000 |
| 8 | 2026 | 3 | 85000 |
Paso 2: Conectar y modelar los datos
2.1 Importar los datos
- Abre Power BI Desktop
- Inicio → Obtener datos → Excel
- Selecciona
TechSales_Oportunidades.xlsx - Marca todas las hojas: Oportunidades, Vendedores, Clientes, Productos, Cuotas
- Click en Transformar datos
2.2 Limpiar en Power Query
Para la tabla Oportunidades:
Verifica tipos de datos:
- Fecha_Creacion, Fecha_Cierre_Est, Fecha_Cierre_Real → Fecha
- Monto → Número decimal
- Probabilidad → Número decimal
Agrega columna calculada para días en pipeline:
- Agregar columna → Columna personalizada
- Nombre:
Dias_En_Pipeline - Fórmula:
Duration.Days(DateTime.LocalNow() - [Fecha_Creacion])
Agrega columna de orden de etapa:
- Agregar columna → Columna condicional
- Nombre:
Orden_Etapa - Condiciones:
- Si Etapa = "Prospecto" → 1
- Si Etapa = "Calificado" → 2
- Si Etapa = "Propuesta" → 3
- Si Etapa = "Negociacion" → 4
- Si Etapa = "Cerrado" → 5
Click en Cerrar y aplicar
2.3 Crear la tabla Calendario
En Power BI Desktop, ve a Modelado → Nueva tabla:
Calendario =
VAR FechaInicio = DATE(2025, 1, 1)
VAR FechaFin = DATE(2026, 12, 31)
RETURN
ADDCOLUMNS(
CALENDAR(FechaInicio, FechaFin),
"Ano", YEAR([Date]),
"Mes", MONTH([Date]),
"NombreMes", FORMAT([Date], "MMMM", "es-ES"),
"MesCorto", FORMAT([Date], "MMM", "es-ES"),
"Trimestre", "Q" & QUARTER([Date]),
"AnoMes", FORMAT([Date], "YYYY-MM"),
"AnoTrimestre", YEAR([Date]) & "-Q" & QUARTER([Date]),
"Semana", WEEKNUM([Date]),
"DiaMes", DAY([Date]),
"DiaSemana", FORMAT([Date], "dddd", "es-ES"),
"EsFinDeMes", IF([Date] = EOMONTH([Date], 0), TRUE, FALSE),
"MesAno", FORMAT([Date], "MMM YYYY", "es-ES")
)
Marca como tabla de fechas:
- Selecciona la tabla Calendario
- Herramientas de tabla → Marcar como tabla de fechas
- Columna de fecha: Date
2.4 Crear relaciones
Ve a la vista de Modelo y crea estas relaciones:
Oportunidades[ID_Cliente] → Clientes[ID_Cliente]
Oportunidades[ID_Vendedor] → Vendedores[ID_Vendedor]
Oportunidades[ID_Producto] → Productos[ID_Producto]
Oportunidades[Fecha_Creacion] → Calendario[Date]
Cuotas[ID_Vendedor] → Vendedores[ID_Vendedor]
Para la relación de Cuotas con Calendario:
- Crea una columna calculada en Cuotas:
Fecha_Cuota = DATE(Cuotas[Ano], Cuotas[Mes], 1)
- Crea la relación:
Cuotas[Fecha_Cuota] → Calendario[Date]
Paso 3: Crear las medidas DAX
3.1 Crear carpeta de medidas
- Click derecho en la tabla Oportunidades
- Nueva medida para crear la primera
- Luego organiza en carpetas usando Propiedades → Carpeta de visualización
3.2 Medidas de Revenue
Revenue Total =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] = "Cerrado Ganado"
)
Revenue YTD =
TOTALYTD(
[Revenue Total],
Calendario[Date]
)
Revenue QTD =
TOTALQTD(
[Revenue Total],
Calendario[Date]
)
Revenue MTD =
TOTALMTD(
[Revenue Total],
Calendario[Date]
)
Revenue Mes Anterior =
CALCULATE(
[Revenue Total],
DATEADD(Calendario[Date], -1, MONTH)
)
Revenue Trimestre Anterior =
CALCULATE(
[Revenue Total],
DATEADD(Calendario[Date], -1, QUARTER)
)
Revenue Ano Anterior =
CALCULATE(
[Revenue Total],
SAMEPERIODLASTYEAR(Calendario[Date])
)
Crecimiento MoM % =
VAR Actual = [Revenue Total]
VAR Anterior = [Revenue Mes Anterior]
RETURN
IF(
ISBLANK(Anterior) || Anterior = 0,
BLANK(),
DIVIDE(Actual - Anterior, Anterior)
)
Crecimiento YoY % =
VAR Actual = [Revenue Total]
VAR Anterior = [Revenue Ano Anterior]
RETURN
IF(
ISBLANK(Anterior) || Anterior = 0,
BLANK(),
DIVIDE(Actual - Anterior, Anterior)
)
3.3 Medidas de Pipeline
Pipeline Total =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] = "Abierta"
)
Pipeline Ponderado =
CALCULATE(
SUMX(
Oportunidades,
Oportunidades[Monto] * Oportunidades[Probabilidad]
),
Oportunidades[Estado] = "Abierta"
)
Deals Abiertos =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] = "Abierta"
)
Deals Este Mes =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] = "Abierta",
MONTH(Oportunidades[Fecha_Cierre_Est]) = MONTH(TODAY()),
YEAR(Oportunidades[Fecha_Cierre_Est]) = YEAR(TODAY())
)
Pipeline Este Mes =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] = "Abierta",
MONTH(Oportunidades[Fecha_Cierre_Est]) = MONTH(TODAY()),
YEAR(Oportunidades[Fecha_Cierre_Est]) = YEAR(TODAY())
)
Pipeline Q1 2026 =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] = "Abierta",
Oportunidades[Fecha_Cierre_Est] >= DATE(2026, 1, 1),
Oportunidades[Fecha_Cierre_Est] <= DATE(2026, 3, 31)
)
3.4 Medidas de Rendimiento
Win Rate =
VAR Ganados =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] = "Cerrado Ganado"
)
VAR TotalCerrados =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] IN {"Cerrado Ganado", "Cerrado Perdido"}
)
RETURN
DIVIDE(Ganados, TotalCerrados)
Win Rate por Monto =
VAR MontoGanado =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] = "Cerrado Ganado"
)
VAR MontoTotal =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] IN {"Cerrado Ganado", "Cerrado Perdido"}
)
RETURN
DIVIDE(MontoGanado, MontoTotal)
Average Deal Size =
CALCULATE(
AVERAGE(Oportunidades[Monto]),
Oportunidades[Estado] = "Cerrado Ganado"
)
Ciclo Ventas Promedio =
CALCULATE(
AVERAGEX(
FILTER(
Oportunidades,
Oportunidades[Estado] = "Cerrado Ganado" &&
NOT(ISBLANK(Oportunidades[Fecha_Cierre_Real]))
),
DATEDIFF(
Oportunidades[Fecha_Creacion],
Oportunidades[Fecha_Cierre_Real],
DAY
)
)
)
Deals Cerrados =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] IN {"Cerrado Ganado", "Cerrado Perdido"}
)
Deals Ganados =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] = "Cerrado Ganado"
)
Deals Perdidos =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] = "Cerrado Perdido"
)
3.5 Medidas de Cuota
Cuota del Periodo =
SUM(Cuotas[Cuota_Monto])
Quota Attainment =
DIVIDE(
[Revenue Total],
[Cuota del Periodo]
)
Gap vs Cuota =
[Cuota del Periodo] - [Revenue Total]
Pipeline Coverage =
DIVIDE(
[Pipeline Total],
[Cuota del Periodo]
)
Categoria Rendimiento =
SWITCH(
TRUE(),
[Quota Attainment] >= 1.2, "Superstar",
[Quota Attainment] >= 1, "On Target",
[Quota Attainment] >= 0.8, "Below Target",
"At Risk"
)
3.6 Medidas de Forecast
Forecast Este Mes =
[Revenue MTD] +
([Pipeline Este Mes] * [Win Rate])
Forecast Q1 =
[Revenue QTD] +
([Pipeline Q1 2026] * [Win Rate])
3.7 Medidas de Alertas
Deals Estancados =
CALCULATE(
COUNTROWS(Oportunidades),
Oportunidades[Estado] = "Abierta",
Oportunidades[Dias_En_Pipeline] > 60
)
Valor Deals Estancados =
CALCULATE(
SUM(Oportunidades[Monto]),
Oportunidades[Estado] = "Abierta",
Oportunidades[Dias_En_Pipeline] > 60
)
Alerta Pipeline =
VAR Coverage = [Pipeline Coverage]
RETURN
SWITCH(
TRUE(),
ISBLANK(Coverage), "Sin datos",
Coverage < 2, "CRITICO",
Coverage < 3, "OK",
Coverage < 4, "BUENO",
"REVISAR"
)
Paso 4: Construir las páginas del dashboard
Página 1: Executive Summary
Layout:
┌────────────────────────────────────────────────────────────────────┐
│ LOGO DASHBOARD DE VENTAS - TECHSALES CORP [Periodo: Q1 26]│
├──────────────────┬──────────────────┬──────────────────┬───────────┤
│ REVENUE YTD │ vs AÑO ANT │ PIPELINE TOTAL │ COVERAGE │
│ $495K │ +18% │ $1.2M │ 2.4x │
│ Card KPI │ Card (verde) │ Card KPI │ Card │
├──────────────────┴──────────────────┼──────────────────┴───────────┤
│ │ │
│ REVENUE POR MES │ PIPELINE POR ETAPA │
│ Line Chart │ Funnel Chart │
│ (Real vs Cuota) │ │
│ │ │
├─────────────────────────────────────┼──────────────────────────────┤
│ │ │
│ TOP 5 VENDEDORES │ WIN RATE TENDENCIA │
│ Table con barras │ Line Chart │
│ │ │
└─────────────────────────────────────┴──────────────────────────────┘
Crear los elementos:
Cards de KPIs (4 tarjetas en la parte superior):
- Revenue YTD: medida
[Revenue YTD] - Crecimiento: medida
[Crecimiento YoY %]con formato condicional - Pipeline: medida
[Pipeline Total] - Coverage: medida
[Pipeline Coverage]
- Revenue YTD: medida
Gráfico de líneas Revenue:
- Eje X:
Calendario[MesAno] - Valores:
[Revenue Total],[Cuota del Periodo]
- Eje X:
Funnel de Pipeline:
- Categoría:
Oportunidades[Etapa] - Valores:
[Pipeline Total] - Ordena por
Orden_Etapa
- Categoría:
Tabla Top Vendedores:
- Filas:
Vendedores[Nombre] - Valores:
[Revenue Total],[Quota Attainment],[Win Rate] - TopN: 5 por
[Revenue Total]
- Filas:
Win Rate Tendencia:
- Eje X:
Calendario[MesAno] - Valores:
[Win Rate]
- Eje X:
Página 2: Pipeline Analysis
Layout:
┌────────────────────────────────────────────────────────────────────┐
│ FILTROS: [ Vendedor v ] [ Etapa v ] [ Producto v ] │
├──────────────────┬──────────────────┬──────────────────┬───────────┤
│ DEALS ABIERTOS │ PIPELINE POND. │ CICLO PROMEDIO │ ESTANCADOS│
│ 14 │ $520K │ 48 días │ 3 │
├──────────────────────────────────────────────────────────────────┬─┤
│ │ │
│ PIPELINE FUNNEL DETALLADO │ │
│ (con cantidades y montos por etapa) │ │
│ │ │
├────────────────────────────────────┬─────────────────────────────┴─┤
│ │ │
│ DEALS POR FECHA CIERRE │ LISTA DE DEALS ABIERTOS │
│ Bar Chart stacked por Etapa │ Table con drill-through │
│ │ │
└────────────────────────────────────┴───────────────────────────────┘
Crear los elementos:
Slicers:
- Vendedor:
Vendedores[Nombre](dropdown) - Etapa:
Oportunidades[Etapa](botones) - Producto:
Productos[Nombre_Producto](dropdown)
- Vendedor:
Cards:
- Deals Abiertos:
[Deals Abiertos] - Pipeline Ponderado:
[Pipeline Ponderado] - Ciclo:
[Ciclo Ventas Promedio] - Estancados:
[Deals Estancados](rojo si > 0)
- Deals Abiertos:
Tabla de Deals:
- Columnas: Nombre_Oportunidad, Nombre_Empresa (cliente), Vendedor, Etapa, Monto, Fecha_Cierre_Est
- Filtra: Estado = "Abierta"
- Habilita drill-through a página de detalle
Página 3: Sales Performance
Layout:
┌────────────────────────────────────────────────────────────────────┐
│ FILTROS: [ Equipo v ] [ Region v ] │
├────────────────────────────────────────────────────────────────────┤
│ │
│ RANKING COMPLETO DE VENDEDORES │
│ Matrix con: Revenue, Cuota, Attainment, Deals, Win Rate │
│ Conditional formatting: barras + iconos │
│ │
├────────────────────────────────────┬───────────────────────────────┤
│ │ │
│ RENDIMIENTO POR REGION │ ATTAINMENT POR MES │
│ Bar Chart horizontal │ Line + Area (Real vs Cuota) │
│ │ │
├────────────────────────────────────┴───────────────────────────────┤
│ │
│ SCATTER: DEAL SIZE VS WIN RATE (por vendedor) │
│ Tamaño de burbuja = Revenue Total │
│ │
└────────────────────────────────────────────────────────────────────┘
Crear elementos clave:
Matrix de Vendedores:
- Filas:
Vendedores[Nombre] - Columnas: ninguna (tabla simple)
- Valores:
[Revenue Total]con barras de datos[Cuota del Periodo][Quota Attainment]con iconos condicionales[Deals Ganados][Win Rate]con formato %
- Filas:
Configurar iconos en Quota Attainment:
= 100%: check verde
= 80%: círculo amarillo
- < 80%: X roja
Página 4: Forecast
Layout:
┌────────────────────────────────────────────────────────────────────┐
│ PERIODO: Q1 2026 │
├──────────────────┬──────────────────┬──────────────────────────────┤
│ FORECAST Q1 │ CUOTA Q1 │ GAP │
│ $680K │ $595K │ +$85K │
├──────────────────────────────────────────────────────────────────┬─┤
│ │ │
│ FORECAST VS CUOTA VS REAL │ │
│ Combo Chart: Barras (Real) + Líneas (Cuota, Forecast) │ │
│ │ │
├────────────────────────────────────┬─────────────────────────────┴─┤
│ │ │
│ DEALS PROXIMOS A CERRAR │ FORECAST POR VENDEDOR │
│ (este mes, ordenados por prob.) │ Bar Chart │
│ Table │ │
└────────────────────────────────────┴───────────────────────────────┘
Página 5: Deal Detail (Drill-through)
Esta página se accede via drill-through desde cualquier tabla con deals:
┌────────────────────────────────────────────────────────────────────┐
│ ← Volver DETALLE DE OPORTUNIDAD: [Nombre_Oportunidad] │
├─────────────────────────────────────┬──────────────────────────────┤
│ │ │
│ INFORMACION DEL DEAL │ TIMELINE │
│ Cliente: Acme Corp │ Creado: 15-Oct-2025 │
│ Vendedor: Ana Garcia │ Último cambio: 20-Ene-2026 │
│ Producto: Enterprise Suite │ Cierre Est: 30-Ene-2026 │
│ Monto: $120,000 │ Días en pipeline: 97 │
│ Etapa: Negociación │ │
│ Probabilidad: 75% │ │
│ │ │
├─────────────────────────────────────┴──────────────────────────────┤
│ │
│ COMPARACION CON DEALS SIMILARES │
│ Promedio de deals Enterprise cerrados │
│ │
└────────────────────────────────────────────────────────────────────┘
Configurar Drill-through:
- En la página Deal Detail
- Agrega
Oportunidades[Nombre_Oportunidad]al área de Drill-through - Agrega cards con cada campo relevante
- Agrega botón de "Volver" usando Insertar → Botones → Atrás
Paso 5: Toques finales
5.1 Aplicar tema de colores
Crea un tema JSON o usa los colores directamente:
{
"name": "TechSales Theme",
"dataColors": [
"#2563eb",
"#16a34a",
"#dc2626",
"#f59e0b",
"#8b5cf6",
"#06b6d4"
],
"background": "#ffffff",
"foreground": "#1e293b",
"tableAccent": "#2563eb"
}
5.2 Agregar tooltips personalizados
Para el funnel de pipeline, crea tooltip que muestre:
- Número de deals
- Monto total
- Monto ponderado
- Win rate de esa etapa
5.3 Crear bookmarks
- Vista Ejecutiva: Solo KPIs principales
- Pipeline Completo: Todos los filtros desactivados
- Mi Equipo: Filtro de Team A o Team B
5.4 Configurar actualización
Si publicas a Power BI Service:
- Configura gateway para el archivo Excel
- Programa actualización diaria a las 7:00 AM
- Configura alertas para cuando Win Rate < 25%
Validación del proyecto
Checklist de entregables
- Modelo de datos con 6 tablas relacionadas
- Tabla Calendario creada con DAX
- 25+ medidas DAX organizadas en carpetas
- Página 1: Executive Summary con 5+ visualizaciones
- Página 2: Pipeline Analysis con funnel y tabla de deals
- Página 3: Sales Performance con ranking de vendedores
- Página 4: Forecast con proyecciones
- Página 5: Deal Detail con drill-through configurado
- Formato condicional en métricas clave
- Filtros interactivos funcionando
- Tema de colores aplicado
Valores esperados (con datos de ejemplo)
| Métrica | Valor esperado |
|---|---|
| Revenue Total (Q4 2025 + Q1 2026) | ~$495K |
| Pipeline Total | ~$1.2M |
| Deals Abiertos | 14 |
| Win Rate | ~73% |
| Average Deal Size | ~$55K |
Extensiones opcionales
Integración con CRM real
Si tienes acceso a Salesforce o HubSpot:
Salesforce: Usa el conector nativo de Power BI
- Obtener datos → Servicios en línea → Salesforce
- Conecta a objetos: Opportunity, Account, User
HubSpot: Usa el conector o API
- Obtener datos → Web → API de HubSpot
- Endpoints: /deals, /contacts, /companies
Agregar IA con Quick Insights
- Selecciona una visualización
- Click derecho → Obtener información
- Power BI analizará patrones automáticamente
Crear alertas de datos
En Power BI Service:
- Pin una card al dashboard
- Click en los puntos suspensivos → Administrar alertas
- Configura: "Alertar cuando Pipeline Coverage < 2"
Puntos clave de esta lección
- Un proyecto completo de ventas requiere ~6 tablas y 25+ medidas DAX
- El modelo Star Schema con Oportunidades como fact table es fundamental
- Las 4 páginas principales cubren: Ejecutivo, Pipeline, Performance, Forecast
- El drill-through permite análisis detallado sin saturar las páginas principales
- La validación de datos es crítica antes de presentar el dashboard
- El formato condicional ayuda a identificar problemas rápidamente
Conclusiones del Módulo 8
Felicidades por completar el módulo de Dashboard de Ventas. Ahora tienes:
- Conocimiento profundo de las métricas de ventas más importantes
- Habilidades DAX para calcular revenue, pipeline, win rate y forecast
- Un proyecto completo que puedes adaptar a tu organización
- Mejores prácticas de diseño y UX para dashboards de ventas
En el próximo módulo exploraremos dashboards financieros con P&L, cash flow y análisis de presupuesto vs real.
Quiz de comprensión
- ¿Cuántas tablas se requieren como mínimo para un modelo de datos de ventas bien estructurado?
- ¿Qué fórmula DAX usarías para calcular el Pipeline Ponderado?
- ¿Cuál es el propósito de la columna Orden_Etapa en la tabla de Oportunidades?
- ¿Qué información debe mostrar la página de drill-through de un deal?
- Si el Pipeline Coverage es 1.5x, ¿qué significa esto para el equipo de ventas?
- ¿Por qué es importante configurar la tabla Calendario como "tabla de fechas" en Power BI?
- ¿Qué ventaja tiene usar iconos condicionales en lugar de solo colores para Quota Attainment?
Completaste esta leccion?
Marca esta leccion como completada. Tu progreso se guardara en tu navegador.