Modernizing Credit Scoring Through ML Integration: A Play Telecom Case Study
Play, a telecom company with 13 million customers, implemented Nussknacker for their credit scoring system.
Nussknacker enabled the integration of MLflow into the credit decisioning process, allowing Python-based machine learning models to be deployed without developer involvement
Model inference was decoupled from the initial application, allowing data scientists to work in Python while storing models in MLflow.
Domain experts and business analysts could directly modify ML models within Nussknacker (used to calculate scoring and other business rules), reducing reliance on technical teams.
Business Context
Telecommunications companies face inherent risks when offering phones on installment plans and service contracts. These risks include:
- Credit risk from customers unable to meet payment obligations
- Fraud risk from individuals signing contracts with no intention to pay
- Requirement to adjust credit scoring models based on evolving customer behavior and the increasing sophistication of fraudsters who devise new methods to bypass security measures
Initial Challenges
ML Model Integration Barriers
The original credit scoring system was a component of a fairly monolithic application, which created several operational challenges:
- Model updates required developer intervention, leading to slow iteration cycles
- Pre-processing and post-processing logic was tightly coupled within the system
- Model deployment to production was complex and time-consuming
- Integration of new models required significant development time
Limitations of Business Logic Changes
The system's structure contained frequently changing business logic which was maintained by developers
- Domain-specific business rules were difficult for developers to understand and implement
- Credit risk analysts couldn't directly manage or modify business logic
- Frequent rule changes required detailed specifications and developer involvement
ML Solution Implementation
Direct ML model inference within Nussknacker
Implemented solution combines MLflow model registry with Nussknacker's ML runtime. This integration enabled seamless deployment of Python-based machine learning models without requiring developer intervention.
Process Transformation
The new system architecture separated model inference from the core application, allowing data scientists to work in their preferred Python environment while storing models in MLflow.
Domain experts gained the ability to modify models and versions directly through Nussknacker's interface.
Business Logic Migration
Play moved frequently changing business rules into Nussknacker scenarios, enabling business analysts to manage decision algorithms directly. This included rules for customer eligibility, calculate deposit amount, or determing whether customer needs to provide additional documents to prove their identity.
Real-time ML Technical Architecture
The new system architecture includes Nussknacker with several key components:
- SQL enrichers for accessing pre-calculated features
- Real-time feature computation capabilities
- Decision tables for channel-specific parameters
- ML enrichers for model inference
- Flexible response preparation and handling