We built a centralized ML feature platform over 12 weeks: (1) Unified Feature Store -- deployed a feature store (Feast) that served as the single source of truth for all ML features. Each feature was defined once with a canonical specification: data source, transformation logic, data type, update frequency, and owner. The same feature definition was used for both batch (training) and real-time (serving) computation, eliminating training-serving skew. Feature specifications included GDPR metadata: whether the feature contained personal data, its purpose classification, and retention policy. (2) Feature Registry -- all 340 features were catalogued in a searchable registry with documentation: business description, technical specification, derivation logic, data lineage (which source tables and transformations produced the feature), model usage (which models consumed each feature), and quality metrics (distribution statistics, null rates, update freshness). Duplicate features were identified and consolidated: 340 features were reduced to 220 unique features with consistent definitions.
(3) Real-Time Feature Computation -- for fraud detection and transaction routing (requiring sub-100ms feature freshness), the platform computed features from Kafka transaction streams using Flink, serving them through a low-latency feature serving layer. Batch features (computed daily or hourly) were processed through Spark pipelines and served through the same feature store. (4) Feature Quality Monitoring -- automated monitoring tracked feature distribution statistics, null rates, and freshness for every feature. Distribution drift alerts flagged features whose statistical properties changed significantly (indicating potential data quality issues or population shifts). Freshness alerts flagged features that were not updated within their expected cadence. (5) GDPR-Compliant Feature Engineering -- PII detection was applied to feature inputs: personal identifiers were excluded from features where the model did not require them. Features were tagged with purpose classification, and access controls restricted which models could consume which features.
Data retention policies were enforced: features derived from transaction data were retained according to the company's data retention schedule. (6) CBI-Ready Lineage -- every feature maintained complete lineage documentation: from source system through every transformation to the final feature value. For CBI model risk management, the documentation showed exactly how each feature in a credit-related model was derived, enabling model validators to verify feature correctness.