metadata
language: en
license: mit
tags:
- text-classification
- roberta
- sludge
- administrative-burden
- consumer-complaints
base_model: roberta-base
sludge-process-roberta
Fine-tuned RoBERTa-base classifier for detecting process sludge (barriers to action — excessive procedural friction) in consumer financial complaint narratives.
Developed and validated in:
Chesterfield, A., Gillespie, A., Goddard, A. and Krpan, D. (2026). Feeling the Friction: Developing and validating text classifiers for sludge in consumer complaints. (manuscript in preparation)
Code and data: GitHub | Companion model: sludge-informational-roberta
What this model detects
Process sludge = barriers to action: excessive procedural friction such as repeated documentation requests, unnecessary steps, or being passed between departments without resolution. Binary classification: 1 = process sludge present, 0 = absent.
Training details
| Parameter | Value |
|---|---|
| Base model | roberta-base |
| Training samples | 825 (85% stratified split of n=971) |
| Test samples | 146 (15% held-out, evaluated once) |
| Epochs | 4 |
| Learning rate | 2e-5 |
| Batch size | 8 |
| Warmup ratio | 0.1 |
| Class weighting | Balanced |
| Random seed | 42 |
Performance (held-out test set, n=146)
| Metric | Score |
|---|---|
| MCC | 0.796 |
| F1 | 0.863 |
| Precision | 0.800 |
| Recall | 0.936 |
| Accuracy | 0.904 |
How to use
from transformers import pipeline
classifier = pipeline("text-classification", model="AlexChesterfield/sludge-process-roberta")
complaint = "I called five times and each time was transferred to a different department."
result = classifier(complaint)
# LABEL_1 = sludge present, LABEL_0 = absent
Citation
@article{chesterfield2026sludge,
title={Feeling the Friction: Developing and validating text classifiers for sludge in consumer complaints},
author={Chesterfield, Alexandra and Gillespie, Alex and Goddard, Alex and Krpan, Dario},
year={2026}
}