Optimización de ofertas de crédito

Enero 2016

Este es un documento de R Markdown (slidy).

Paquetes utilizados:

library(knitr)
library(linprog)
##library(lpSolve)
rm(list=ls())

Cláusula de exención de responsabilidad
Este documento es un borrador y no debe considerarse la versión final. Toda la información contenida aquí está sujeta a cambios derivados de revisiones posteriores.

Objetivo

Maximizar el margen obtenido en la colocación de crédito.

Los clientes se tienen organizados en segmentos basados en tres características:
– Número de invitaciones
– Propensión a la contratación
– Sensibilidad a la tasa

Para cada segmento de clientes se tienen cuantificadas las condiciones a priori para dos escenarios:
BAU (Estrategia actual, conservadora)
Revire (Estrategia alternativa, más agresiva)

El efecto conocido en cuanto al comportamiento de los clientes, asumiendo que actúan como agentes económicos racionales, es que ante un ofrecimiento de crédito a una tasa de interés menor:
– Aumenta la probablidad de contratación
– Aumenta el importe del crédito colocado
– Aumenta el plazo contratado

Por otra parte, se tiene la restricción de los recursos que pueden colocarse.

Modelización

Para conseguir maximizar el margen es necesario determinar a cúantos clientes se les debe realizar el ofrecimiento BAU y a cuántos el Revire.

Bajo la siguiente racional:
– Si solo se aplica la estrategia BAU, no se logran colocar todos los recursos disponibles
– Si solo se aplica la estrategia Revire, no se logra mantener una tasa media del portafolio adecuada

Para identificar el balance óptimo se plantea un modelo de programción lineal LP, en el que se inyectará la función objetivo y las restricciones conocidas.

Considerando que el ingreso por intereses del primer año se calcula con la siguiente expresión: \[I = Cp\overline{v}\frac{12(1+i)^ni-(1+i)^{12}+1}{(1+i)^n-1}\] donde, \(C\) son los clientes objetivo, \(p\) es la probabilidad de contratar, \(\overline{v}\) es el valor actual medio de la colocación por cliente, \(i\) es la tasa mensual efectiva del crédito y \(n\) es el número de periodos contratados. El costo de fondeo del primer año puede calcularse de igual forma pero utilizando la tasa de fondeo en lugar de la tasa de interés del crédito.

El margen se calcula restando el costo de fondeo a los ingresos: \(m = I - F\)

Programación lineal

Sea \(x\) el número de clientes que aceptan el ofrecimiento BAU y \(y\) el número de clientes que aceptan el ofrecimiento Revire. La función objetivo que se requiere maximizar es:
\[\underset{x \in y}{\operatorname{argmax}} (m_{b}x + m_{r}y)\] donde, \(m_{b}\) es el margen en la estrategia BAU y \(m_{r}\) es el margen en la estrategia Revire. Estando sujeta a las siguientes restricciones:
\[\overline{v}_{b}x + \overline{v}_{r}y \leq R\] \[x + y \leq Cp_{r}\] \[x \leq Cp_{b}\] \[y \leq Cp_{r}\] donde, \(R\) son lo recursos disponibles para la colocación, \(v_{b}\) es el valor medio en BAU, \(v_{r}\) es el valor medio en Revire, \(p_{b}\) es la probabilidad de aceptación en BAU y \(p_{r}\) es la probabilidad de aceptación en Revire.

Parámetros

Clientes del segmento: 14,025
Recursos a colocar: $16,000,000
Tasa de fondeo: 12%

Resultados

La función objetivo maximizada tiene un valor de: $3,521,335 (margen).

Solución

Características

Detalle

## 
## 
## Results of Linear Programming / Linear Optimization
## 
## Objective function (Maximum): 3521335 
## 
## Iterations in phase 1: 0
## Iterations in phase 2: 3
## Solution
##            opt
## BAU    230.010
## Revire  98.175
## 
## Basic Variables
##                          opt
## BAU                  230.010
## Revire                98.175
## S Recursos       1542586.810
## S resp en Revire     230.010
## 
## Constraints
##                     actual dir        bvec       free    dual    dual.reg
## Recursos       1.44574e+07  <= 1.60000e+07 1542586.81    0.00 1542586.810
## Clientes       3.28185e+02  <= 3.28185e+02       0.00 9318.31      98.175
## resp en BAU    2.30010e+02  <= 2.30010e+02       0.00 2013.85     136.379
## resp en Revire 9.81750e+01  <= 3.28185e+02     230.01    0.00     230.010
## 
## All Variables (including slack variables)
##                          opt     cvec        min.c       max.c     marg
## BAU                  230.010 11332.16  9318.309087         Inf       NA
## Revire                98.175  9318.31     0.000000 1.13322e+04       NA
## S Recursos       1542586.810     0.00    -0.178044 1.79267e-01     0.00
## S Clientes             0.000     0.00         -Inf 9.31831e+03 -9318.31
## S resp en BAU          0.000     0.00         -Inf 2.01385e+03 -2013.85
## S resp en Revire     230.010     0.00 -2013.852501 9.31831e+03     0.00
##                  marg.reg
## BAU                    NA
## Revire                 NA
## S Recursos             NA
## S Clientes         98.175
## S resp en BAU     136.379
## S resp en Revire       NA

Próximos pasos