Choose an invoice or filter
Review real invoices
Invoice 536365 · real invoice sample
Samples are real invoice lines. The classifier is retained to demonstrate the audit failure, not to guide a return decision.
--
audit-only retained-model score
--
Customer history check
History check · what this customer has actually done
Classifier audit record · headline metrics withdrawn
| Classifier status: quarantined, with former ROC-AUC and lift claims withdrawn |
| Future-history leakage: customer and category aggregates were built from the full dataset |
| Cancellation-sign leakage: negative quantity and line revenue reveal cancellation rows |
| Temporal evaluation status: invalid until every fold rebuilds features as of its cutoff |
| Excessive returners flagged 294 customers at 5% contamination |
| Segmentation silhouette 0.238, k=4 |
| Recommender Recall@10 0.093, NDCG@10 0.046 |
UCI Online Retail II, Dec 2009 to Dec 2011, returns labeled by C-prefixed invoices; 22.8% of rows lack a CustomerID and the pipeline handles them rather than dropping them.
Why the temporal split was not enough
The original design used a date split, but the matrix joined customer and category aggregates computed from the full dataset. It also retained sign-coded fields that identify cancellation rows. Once those features contain the future or the outcome itself, a temporal split only moves contaminated rows into different periods.
Use limits · what the retained score cannot support
- This ML demo sleeps after extended inactivity. First wake can take a moment; runs after that are quick.
- The number displayed above is an artifact of the retained model. It is not a valid probability or a basis for a customer action.
- The legacy API field names remain for compatibility while the classifier stays quarantined.
- The customer history and anomaly views are descriptive. The anomaly flag is behavioral, not moral.
- The sample button draws from real invoice lines so the leakage failure can be inspected on concrete cases.