This project: batch
File or schedule driven: ingest → validate → score → hand off CSV (or parquet) to CRM, analytics, or compliance. Same pattern as many production churn or risk batch jobs.
Turn a customer CSV into a scored file: validation, training-aligned features, predict_proba, versioned output. Built for jobs that look like ETL — not microsecond APIs.
The demo below uses the API when you run uvicorn web.main:app from the repo. A static mirror of this page has no backend — use the CLI or CI there.
Upload a Telco-style customer batch (same shape as the input contract below), or run on a small built-in sample — no CSV on your machine required. The server validates, preprocesses, and scores; then you can download the result.
Scoring uses the small E2E fixture model committed in this repo (under tests/fixtures/) so the full path is real and testable — it is not a production or client-specific model. Run with sample batch loads five Telco-style rows from the same fixture set.
File or schedule driven: ingest → validate → score → hand off CSV (or parquet) to CRM, analytics, or compliance. Same pattern as many production churn or risk batch jobs.
Request/response, SLOs, autoscaling. Valuable, but a different skill slice. This repo stays intentionally narrow: offline orchestration and clean batch output.
customerID, tenure, Contract, MonthlyCharges, TotalCharges, PhoneService, InternetService, …
customer_id churn_score predicted_label model_version scoring_timestamp
[0,1]) and plots the churn-score distribution.