Andesmar BI · Documentacion interna

Las etiquetas de viaje, explicadas

Que son las etiquetas (tags) de los manifiestos, como las modelamos para que se puedan filtrar igual que en Betterez, y como leer los numeros sin equivocarse.

Junio 2026 ~13 etiquetas en catalogo ~28 mil viajes etiquetados
🏷
En tres frases: cada viaje concreto (manifiesto) puede llevar varias etiquetas a la vez —por ejemplo NACIONAL LINEA IP— que describen su alcance, tipo de servicio y funcion. No son una unica categoria jerarquica: un mismo viaje puede ser las tres cosas al mismo tiempo. Corregimos el modelo de datos para poder filtrar por una etiqueta suelta, exactamente como se hace en la plataforma de Betterez.
1

Que es una etiqueta (y que no es)

La idea de negocio antes de la tecnica

💡 La analogia

Pensa en las etiquetas como los hashtags de una foto. Una misma foto puede tener #playa, #verano y #familia al mismo tiempo. No es que "playa" este por encima de "familia": son etiquetas independientes que conviven. Buscar por #playa te trae esa foto aunque tambien tenga las otras dos.

🚌 En Andesmar

Un viaje (manifiesto: Mendoza → Neuquen del 15/03) puede tener las etiquetas NACIONAL, LINEA e IP a la vez. Filtrar por "NACIONAL" trae todos los pasajes de ese viaje, aunque tambien lleve las otras etiquetas. Igual que el hashtag.

Que NO es una etiqueta
Se confunde con...Pero en realidad es otra cosa
Origen / destinoEs la geografia del pasaje. La etiqueta describe el tipo de servicio del viaje.
Canal de ventaDonde se vendio (web, agencia). Es otro eje del tablero.
Estado del ticketPagado, cancelado, redimido. Es independiente de las etiquetas del viaje.
Nombre del servicio"Mendoza - Neuquen 22:00" es el itinerario, no la etiqueta NACIONAL.
Dato clave: las etiquetas se asignan al manifiesto (el viaje de un dia concreto), no al horario abstracto ni al pasaje individual. Se configuran en el administrador de manifiestos de Betterez.
2

El problema que teniamos: los numeros no cerraban

Por que un mismo viaje aparecia repartido en muchas filas

Antes (incorrecto)

Los reportes leian las etiquetas como un texto unico con todas las palabras juntas:

["LINEA", "IP", "NACIONAL"]

Cada combinacion distinta se volvia una categoria distinta. Si en Betterez filtrabas solo NACIONAL, en Andesmar el mismo viaje aparecia repartido en NACIONAL+LINEA, NACIONAL+LINEA+IP, etc. Imposible reproducir el clic de Betterez.

Ahora (correcto)

Cada etiqueta es una dimension filtrable por si sola. Un viaje con NACIONAL + LINEA + IP se registra tres veces en la relacion interna viaje↔etiqueta...

NACIONAL LINEA IP

...pero al contar pasajes el tablero usa conteo sin duplicar: el pasaje sigue siendo uno solo. Asi reproducimos exactamente el clic de Betterez.

Los tickets no cambiaron de precio ni de fecha de venta. Lo unico que cambio es como podemos segmentar el universo de pasajes segun el tipo de viaje.
3

Como se relacionan pasaje, viaje y etiqueta

La estructura de datos, en una imagen

El pasaje
Ticket
pertenece a
1 → 1
El viaje del dia
Manifiesto
tiene
1 → varias
NACIONAL LINEA IP
Un ticket → un manifiesto. Cada pasaje viaja en un solo manifiesto (el viaje en el que va la persona). Filtrar por NACIONAL = "tickets cuyo manifiesto tiene la etiqueta NACIONAL".
⚠ Ojo: si un ticket no tiene manifiesto asignado en los datos, no entra en ningun filtro por etiqueta. Es el mismo tema de los manifiestos faltantes.
4

Que construimos por dentro

Las piezas tecnicas, en lenguaje claro

Pieza tecnicaNombre realPara que sirve
Catalogo de etiquetas dim_manifest_tag La lista oficial: nombre, descripcion y faceta de cada una de las ~13 etiquetas. Las mismas que usa Betterez en admin.
Relacion viaje ↔ etiqueta bridge_manifest_tag El "puente": una fila por cada par (viaje, etiqueta). Es lo que permite filtrar por etiqueta suelta sin inflar combinaciones.
Cubo principal de pasajes fact_ticket 1 fila = 1 pasaje. Trae columnas rapidas de alcance: has_nacional, has_internacional, has_linea_provincial.
Cubo de etiquetas finas fact_ticket_mstr 1 fila = 1 pasaje, con 13 columnas has_* (La Cuyanita, IP, ENCOMIENDAS, etc.) para filtros finos en el tablero.

Como se mantiene actualizado
Cada noche
Proceso ETL
refresca viajes
recientes
desde copia Betterez
Actualiza
Puente + cubos
listo para
MicroStrategy
Tablero
Reportes
Historico cargado: se proceso todo el pasado (~28 mil manifiestos con etiquetas) para que los reportes historicos usen el mismo criterio. Si Betterez crea una etiqueta nueva, el proceso la incorpora al catalogo automaticamente cuando la detecta en viajes recientes.
5

El catalogo de etiquetas

Las ~13 etiquetas agrupadas por faceta (no es jerarquia, es agrupacion logica)

Alcance de ruta

NACIONAL INTERNACIONAL LINEA PROVINCIAL
Donde opera el servicio. Disponibles directo en fact_ticket.

Tipo de servicio

LINEA REFUERZO VIAJES ESPECIALES AUXILIO Bus Turistico COMBO MILLONARIO La Cuyanita
Que clase de servicio es. En fact_ticket_mstr.

Funcion

ENCOMIENDAS IP
Funcion operativa especial del viaje.

Estado / uso interno

FICTICIO
Rutas ficticias en sistema.
EtiquetaFacetaIdea de negocio
NACIONALAlcance de rutaServicios en rutas argentinas (planificados o refuerzos).
INTERNACIONALAlcance de rutaItinerarios con check-in internacional habilitado.
LINEA PROVINCIALAlcance de rutaLineas operadas bajo G-400-540 provinciales.
LINEATipo de servicioItinerario planificado de forma periodica.
REFUERZOTipo de servicioSalida adicional a la planificacion base.
VIAJES ESPECIALESTipo de servicioItinerarios contratados / especiales.
AUXILIOTipo de servicioMovimiento vacio.
Bus TuristicoTipo de servicioCity tour Mendoza.
COMBO MILLONARIOTipo de servicioCombo River Plate.
La CuyanitaTipo de servicioServicio La Cuyanita.
ENCOMIENDASFuncionServicio que carga encomiendas.
IPFuncionModalidad interjurisdiccional periodico CNRT.
FICTICIOEstado / uso internoRutas ficticias en sistema.
6

Como leer los numeros: el triple conteo

El error mas comun y como lo evitamos

La regla de oro: al filtrar o agrupar por etiqueta, cada pasaje debe contar una sola vez, no una vez por cada etiqueta del viaje.
Ejemplo: un manifiesto tiene las etiquetas NACIONAL LINEA IP y lleva 100 tickets.
Cuantos tickets "NACIONAL"?
100
✓ Correcto
Cuantos tickets "LINEA"?
100
✓ El mismo viaje
Sumo NACIONAL + LINEA + IP sin regla especial?
300
✗ Triple conteo (mal)
El equipo de BI configura las metricas en MicroStrategy para evitar ese triple conteo (tecnicamente: Count(Distinct ticket_id) en vez de Count(*)). Si ves totales inflados al cruzar varias etiquetas en filas, avisa al responsable del tablero.
Filtrar por varias etiquetas a la vez
Tipo de filtroSignificado
Una etiqueta solo NACIONALViajes que tienen esa etiqueta. Equivale al clic en Betterez.
Varias con "Y" NACIONAL y ENCOMIENDASViajes que tienen las dos a la vez (interseccion).
Varias con "O" NACIONAL o REFUERZOViajes que tienen al menos una. Los tickets se cuentan una sola vez en el total.
7

Que usar segun la pregunta

Guia rapida para quien arma reportes

Filtrar por alcance: nacional / internacional / provincial
fact_ticket + has_nacional ...
Cubo principal de pasajes. Lo mas rapido y comun.
Filtrar por etiqueta fina: La Cuyanita, IP, ENCOMIENDAS
fact_ticket_mstr + has_*
Cubo de etiquetas finas (las 13).
Auditoria SQL o ranking por etiqueta y faceta
bridge_manifest_tag + dim_manifest_tag
La fuente canonica. Siempre con Count(Distinct).
Atajos legacy
trip_scope / lista de texto
No usar en reportes nuevos. trip_scope solo da 2 valores; el texto quedo por compatibilidad.
8

Equivalencia con Betterez

Para cuadrar totales con la plataforma del proveedor

En Betterez (reporte web)En el tablero Andesmar
Etiqueta = NACIONALFiltro atributo Etiqueta = NACIONAL
Etiquetas = TodosSin filtro de etiqueta
Tipo producto = ReservasFiltro de tipo de producto del ticket
Fecha de salida del viajeDimension fecha del manifiesto / viaje — no confundir con fecha de venta
⚠ El descuadre mas comun: Betterez suele filtrar por fecha de salida del viaje, mientras que muchos tableros de Andesmar usan fecha de venta (sale_date). Para cuadrar totales, alinea el mismo eje de tiempo y el mismo estado de ticket en ambos lados.
9

Preguntas frecuentes

Lo que mas se pregunta negocio

Cambio el total de ventas de la empresa?
No. El universo de tickets pagos no cambia. Cambia como partis ese universo por tipo de viaje.
Por que un ticket aparece en "NACIONAL" y en "LINEA" a la vez?
Porque el viaje lleva ambas etiquetas. El pasaje es uno solo; simplemente cumple los dos filtros.
Las etiquetas son jerarquicas? (NACIONAL "debajo" de LINEA)
No. Son facetas independientes que se combinan en el mismo viaje. La faceta es solo una agrupacion para analizar, no una jerarquia padre-hijo.
Por que no coincide exacto con Betterez?
Revisa cuatro cosas: (1) fecha de venta vs fecha de salida, (2) reservas vs todos los productos, (3) tickets sin manifiesto en Andesmar, (4) rango de fechas distinto.
Cada cuanto se actualiza?
Con el proceso nocturno de datos, misma cadencia que el resto del tablero de ventas. Cambios de etiqueta en viajes recientes se reflejan en el lookback operativo (dias recientes de manifiestos actualizados).

Para recordar
IdeaEn una linea
Que esUna clasificacion operativa del viaje, como un hashtag. Varias conviven en el mismo manifiesto.
A que se pegaAl manifiesto (viaje del dia), no al pasaje ni al horario abstracto.
El cambio que hicimosPasar de "lista de texto unica" a "etiquetas filtrables por separado", como Betterez.
El error a evitarTriple conteo: sumar la misma persona una vez por cada etiqueta. Se cuenta una sola vez.
Donde filtrarAlcance → fact_ticket. Etiquetas finas → fact_ticket_mstr. Auditoria → bridge_manifest_tag.
Para cuadrar con BetterezAlinear fecha (venta vs salida), producto (reservas) y estado del ticket.