PROGRAMA DE ESPECIALIZACION EN BIG DATA & ANALYTICS

#PROGRAMA-DE-ESPECIALIZACION-EN-BIG-DATA-&-ANALYTICS

BIG DATA APLICADO A LA COMPRA DE DEUDA

#BIG-DATA-APLICADO-A-LA-COMPRA-DE-DEUDA
  • Integrantes:
    • Johan Mendivil
    • Katia Jimenez
    • Pedro Cuba

CASO DE USO DEL NEGOCIO

#CASO-DE-USO-DEL-NEGOCIO

Toda persona que participa del sistema financiero tiene un historial crediticio que refleja su comportamiento y es el principal factor en la toma de decisión de las entidades financiera para el otorgamiento de créditos.

Mantener un buen historial crediticio, necesita de actitudes responsables:

  • Ser puntual: Con el pago de sus obligaciones.
  • Programar el pago de las cuotas del préstamo o tarjeta de crédito.
  • Negociar una reprogramación o refinanciamiento de la deuda para evitar problemas de impago.
  • Acceder al reporte individual de la central de riesgos de la SBS, una vez al año.
  • No exceder el 40% de nuestros de los ingresos mensuales en cubrir obligaciones financieras.

Justamente sobre este último punto es el que nos valdremos para el caso de uso del proyecto. El objetivo del mismo es encontrar la cartera de clientes adecuada para la compra de deuda con tarjetas de créditos.

Como se sabe, la compra de deuda beneficia al cliente en cuanto se le ofrece una tasa más baja que la de un préstamo. Ahorra al no pagar distintas comisiones por el pago de varias tarjetas y/o préstamos y puede pagar su deuda en más de 1 año. Por otro lado, la entidad financiera se beneficia incrementando su participación en el mercado de saldos y generando relaciones con nuevos clientes que, a largo plazo, inyectarán liquidez y adquirirán nuevos financiamientos (Más conocido como lifetime valúe).

perucuadro1.png

¿Por qué Big Data?

#¿Por-qué-Big-Data?

Big Data son activos de información de gran volumen, alta velocidad y / o gran variedad que demandan formas rentables e innovadoras de procesamiento de la información que permiten un mejor conocimiento, toma de decisiones y automatización de procesos. Por lo tanto, es un conjunto de conocimientos, métodos y tecnologías orientados a facilitar la adquisición, gestión y uso de los datos generados en la actualidad. Entre las principales características.

  • Volumen : Volumen de los datos disponibles para el análisis, los cuales exceden la capacidad de los RDBMS tradicionales y que son gestionados por diversos sistemas (correo, Facebook, otros).
    • Se ha de valorar el tamaño en relación a los recursos disponibles, las preguntas a las que buscamos dar respuesta y el tipo de datos analizados.
  • Velocidad:
    • Incremento de la velocidad a la que se genera (y se distribuye) los datos.
    • Datos en “streaming”: Nuevas fuentes que se generan y distribuyen en tiempo real. Ejemplo: datos generados por sensores, servidores web o las redes sociales.
    • El aumento de la velocidad de generación es una de las razones del incremento del volumen de datos, pues los pequeños mensajes o eventos generados en cada instante, por dispositivos y aplicaciones como los anteriores, dan lugar a enormes conjuntos de datos.
    • La velocidad también hace referencia a la necesidad para extraer conocimiento de los datos en el momento oportuno.
      • Datos de carácter financiero pueden reducir su valor en cuestión de segundos.
  • Variedad:
    • La variedad se refiere al importante aumento en la heterogeneidad en las fuentes de datos debido a diversos factores como:
      • Incremento en el número de fuentes disponibles.
      • Posibilidad de procesar fuentes con distinto nivel de estructura
      • Diversidad de formatos en que se distribuyen las fuentes.
    • En el nuevo escenario actual, a las fuentes de formatos altamente estructurados se unen otras, como las semiestructuradas (ejemplo. XML, JSON) o las que carecen de estructura alguna (ejemplo. texto, imagen o video).
  • Veracidad:
    • Aumento de la incertidumbre respecto a la veracidad o calidad de los datos Disponibles:
      • Incertidumbre de datos → incertidumbre del conocimiento extraído.
    • Las fuentes de datos, incluso en el mismo dominio, difieren ampliamente en su calidad en lo que respecta a la cobertura, precisión y oportunidad de los datos.
  • Valor: Además de las características anteriores, es necesario tener en cuenta el valor, este se define como una medida de la utilidad de los datos, para la toma de decisiones en la organización, poniendo de manifiesto la dificultad para conocer y evaluar dicha utilidad a priori.

La información de crédito de las personas naturales en el Perú es una fuente de gran volumen, y en crecimiento a gran velocidad debido a la estrategia activa de parte de los bancos para vincular a las personas a su sistema de crédito. Asimismo, la variedad de esta información abre una ventana para una nueva versión de la gestión de crédito en el Perú.

Bigdata5Vs.jpg

Clasificación de las fuentes de datos

#Clasificación-de-las-fuentes-de-datos

Para este proyecto utilizaremos 2 fuentes de información: 1) RCC que por su formato CSV es una fuente de información semi-estructurada y 2) Tweets de Twitter, fuente streaming, relacionados a compras con tarjetas de crédito. fuentes.jpg

Sizing de la generacion de data

#Sizing-de-la-generacion-de-data

Sizing.jpg

Arquitectura conceptual de la solución

#Arquitectura-conceptual-de-la-solución

ArquitecturaConceptual.jpg

Arquitectura tecnológica de la solución

#Arquitectura-tecnológica-de-la-solución

Para la ingesta de datos usaremos Hadoop, para la fuente de RCC y Kafka, para la fuente de data streaming Twitter. Luego, utilizaremos Hadoop Distributed File System (HDFS) para el almacenamiento. Posteriormente, para el análisis, emplearemos Hive, Spark y Hbase. Finalmente, para la visualización de la data, emplearemos Power BI de Microsoft. arquitecturatecnologica.jpg

Perfiles de Big Data necesarios

#Perfiles-de-Big-Data-necesarios

Necesitaremos 3 perfiles:

engineer.png

  • Desarrolla, prueba y mantiene la arquitectura de datos necesaria para este proyecto. En su rol podrá descrubir oportunidades para la ingesta de nueva data. Su rol será clave para la fase de Ingesta y Almacenamiento.

Datascientist.png

  • Limpia y organiza la información, pero sobre todo aplicará sus conocimientos programación y machine learning construir el modelo que abordaremos en el proyecto. Su rol será vital para identificar las fuentes de información a utilizar, transformarlas, analizarlas y presentar los resultados.

BA.png

  • Analiza la información para detectar tendencias, patrones de consumo, alertas, entre otros. Si bien sus conocimientos científicos no son tan avanzados como el un data scientist (por ejemplo no hace uso de algoritmos), su propósito es el mismo: resolver el problema a partir de la data. Su rol será de apoyo al data scientist en el análisis y presentación de los resultados del análisis.

Presupuesto

#Presupuesto

Trabajamos el ppto en base a 1 mes de trabajo dedicado: pptocluster.jpg

INGESTA DE BD HDFS EN DATALAKE DE GOOGLE

#INGESTA-DE-BD-HDFS-EN-DATALAKE-DE-GOOGLE

Ingesta de fuentes al DataLake

#Ingesta-de-fuentes-al-DataLake

Ingesta.jpg

Creacion de tablas en HIVE

#Creacion-de-tablas-en-HIVE

Al menos 2 deben tener estructura compleja

Tabla simple

#Tabla-simple

Tablasimple.jpg

Tabla con particion dinamica

#Tabla-con-particion-dinamica

particiondinamica.jpg

Tabla con particion estatica

#Tabla-con-particion-estatica

particionestatica.jpg

Tabla bucketing con estructura compleja

#Tabla-bucketing-con-estructura-compleja

TablaBucket2.PNG

Transformacion simple

#Transformacion-simple

transformacion_simple.png

Transformaciones complejas con Apache Spark

#Transformaciones-complejas-con-Apache-Spark

transformacioncompletaunpivot.jpg

Tablas con Apache Hbase

#Tablas-con-Apache-Hbase

Dashboard de BI

#Dashboard-de-BI

dashboard.JPG

Explicacion teorica del flujo en streaming con Apache Kafka

#Explicacion-teorica-del-flujo-en-streaming-con-Apache-Kafka

kafka.jpg

El propósito de Kafka es permitir el procesamiento de flujos de datos en tiempo real. En Kafka un stream processor toma un flujo continuo de datos de un topic de entrada, lo procesa y produce un flujo continuo de datos en un topic de salida. Para procesamientos más complejos, Kafka proporciona una API de streams totalmente integrada que permite realizar aplicaciones con procesos más complejos.

Un sistema de archivos distribuidos como HDFS permite almacenar archivos estáticos para el procesamiento por lotes. En efecto sistemas como estos permiten almacenar y procesar data histórica. Al combinar almacenamiento y suscripciones de baja latencia, las aplicaciones de streaming pueden tratar los datos pasados y futuros de la misma manera. Es decir, que una sola aplicación puede procesar datos históricos ya almacenados, pero en lugar de finalizar cuando recibe el último dato, pueda seguir procesando los datos a medida que lleguen.

Spark Streaming toma un flujo de datos continuo y lo convertierte en un flujo discreto,llamado DStream, formado por paquetes de datos. Internamente, almacena y procesa estos datos como una secuencia de RDDs (Resilient Distributed Data). Un RDD es una colección de datos particionada (distribuida) e inmutable. Es la unidad de información que el motor de procesamiento de Spark tradicionalmente consume.

Modelo de ML utilizando SparkML

#Modelo-de-ML-utilizando-SparkML

Desarrollamos un modelo para predecir la linea de credito a ofrecer a clientes que sean saludables financieramente. Para ello, entrenamos el modelo utilizando solo aquellos clientes que se endeudan como maximo con el 40% de sus ingresos. Previamente, con una transformación simple, se calculó este ratio dividiendo la variable Linea_utilizada/ingresos. A continuacion, ejecutamos un modelo de regresion lineal colocando la variable Linea_disponible en funcion a las caracteristicas del cliente (Edad, Generacion, Estado Civil, Sexo, Región, Ingreso y Perfil)

modeloteorico.JPG

modeloml.jpg

Como resultado, optuvimos los siguientes 20 primeros outputs

#Como-resultado,-optuvimos-los-siguientes-20-primeros-outputs

output.jpg