BelgoClassifier โ€” Belgian bank-transaction categorizer (Core ML)

โš ๏ธ Archive channel. This repository is a public archive of the Stay Steady app's on-device transaction classifier. The app itself distributes models via its own backend โ€” files here are for reference and research, not consumed by any released app.

Current model: v4.6.1 (2026-07-20)

BelgoClassifier_v4.6.1.mlmodelc.zip โ€” classifier head over Apple NLEmbedding sentence embeddings (512-dim, English). 34 spending categories. Trained on 21,565 samples: synthetic Belgian transaction text plus manually audited real bank transactions (personal/P2P counterparties excluded, merchant names canonicalized โ€” branch towns, store numbers and card fragments stripped). Training accuracy 99.38%.

Runtime contract: embed input text with NLEmbedding.sentenceEmbedding(for: .english) (512-dim), UPPERCASE, diacritics folded, merchant canonicalized. Input tensor embeddings [1, 512] Float32; output probabilities over 34 classes.

โš ๏ธ v4.5.0 is defective โ€” do not use

BelgoClassifier_v4.5.0.mlmodelc.zip has been removed from this repository. It was trained by a different pipeline against all-MiniLM-L6-v2 embeddings (384-dim) and therefore cannot score NLEmbedding vectors at all; it also measured only 86.7% validation accuracy and carried a merchant+location labeling bias. If you have a cached copy, discard it.

Version history

Version Embeddings Notes
4.6.1 NLEmbedding 512 Audited real data, canonicalized merchants โ€” current
4.5.0 MiniLM 384 Defective, removed (wrong pipeline, 86.7%)
2.2.0 NLEmbedding 512 First NLEmbedding retrain
2.1.0 / 1.0.0 โ€” Early iterations, archive only
Downloads last month
8
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support