master
presupuestos_callcenter
Atribución de presupuestos generados por call_center → factura.
Hipótesis
- Agentes del call_center generan presupuestos (
tpv_orders_quote) para un cliente identificado por(customer_id, vehicle_id)(matrícula + tlf vía joins). - El cliente luego acude a un centro físico. Allí:
- Acepta el quote del call_center → mismo
order_id→ invoice. CONVIERTE. - Genera quote nuevo en TPV centro → otro
order_id→ invoice. REGENERA y convierte. - No vuelve → quote sin invoice.
- Acepta el quote del call_center → mismo
- La facturación total a esos clientes en el centro suele ser mayor que el valor del quote inicial (productos/servicios adicionales que el técnico añade en recepción).
Datasets
| Origen | Tabla / propósito |
|---|---|
psql_dcpublic.tpv_orders_quote |
Quote raw — created_by_id, order_id, accepted, status |
psql_dcpublic.tpv_authorization_tpvuser |
Users TPV. ID = created_by_id |
psql_dcpublic.tpv_authorization_tpvuser_centers |
Mapeo user ↔ centro (dccenter_id) |
psql_dcpublic.centers |
Catálogo centros. id 159 (CALL CENTER AURGI) e id 162 (CALL CENTER) son los centros call_center |
psql_dcpublic.tpv_orders_order |
Order. customer_id, vehicle_id, terminal_id, total_cost |
psql_dcpublic.tpv_terminals |
Mapeo terminal_id → center_id |
psql_dcpublic.tpv_orders_invoice |
Invoice. Match con order via order_id |
psql_dcpublic.tpv_customers.entity_phone_number |
Tlf cliente |
psql_dcpublic.tpv_vehicles_vehicle.license_plate |
Matrícula |
Notebooks
01_exploracion.ipynb— schemas, sanity counts, conversion rate global.02_metricas_3kpi.ipynb— A/B/C por centro:- A = € facturados de quotes call_center que CONVIRTIERON (mismo order_id).
- B = € facturados al mismo
(customer_id, vehicle_id)en centro (excluye call_center). - C = € totales del centro.
03_regeneracion.ipynb— Q0 (call_center) vs Q1+ (centro). Centros que más regeneran, distribución temporal, impacto en conversión.
Identidad cliente
Por defecto (customer_id, vehicle_id) (FK estables). Si necesitas normalizar via tlf+matrícula:
JOIN `psql_dcpublic.tpv_customers` cus ON o.customer_id = cus.id
JOIN `psql_dcpublic.tpv_vehicles_vehicle` v ON o.vehicle_id = v.id
-- cus.entity_phone_number, v.license_plate
Ventana temporal default: 90 días sobre Q0, 60 días para detectar regeneración posterior. Editar WINDOW_DAYS / REGEN_WINDOW_DAYS arriba en cada notebook.
Próximos pasos
- Validar que
created_by_idno es null en todos los quotes call_center. - Refinar identidad cliente con normalización de teléfono (la BI views
*_telefono_normalizadoexisten). - Si la métrica B es estable, candidatos a dashboard Metabase paralelo al 999.
Description
Languages
Jupyter Notebook
75.5%
Python
24%
Shell
0.5%