Machine Learning for Coding Retail Product Names to Consumer-Price Categories: A Rule-plus-Bag-of-Words Pipeline with Reliability-Weighted Human-in-the-Loop Labeling
Price statistics increasingly draw on scanner, web-scraped and receipt data, whose product descriptions are short, noisy and carry no standard product code, so each item must be coded to a consumption classification such as COICOP. National statistical offices already report that lightweight text classifiers are adequate for this task, but the published evidence is thin on dispersion, paired comparison, train-test overlap and measured computational cost. This paper supplies that evaluation. On an openly released synthetic benchmark of six COICOP-like categories, seven models are trained under one matched protocol and compared on accuracy and cost. A character n-gram logistic regression is the most accurate model in every category (mean F1 = 0.997, and 0.996 on test items unseen in training). The small CNN and LSTM examined here never win a comparison, but once trained to the same stopping criterion they are not reliably worse than the word-level models either; what separates them is cost, at 65 and 77 times the training time of the cheapest model. The most accurate model is not the cheapest: character features cut inference throughput to 44,900 items per second against 212,700 for unigram bag-of-words. A rule-based prefix-tree stage admits 75-86% of positive items, so it bounds the cascade's recall. A Monte Carlo study of the labeling protocol, in which annotators are simulated and no human annotation was collected, shows that an additive reliability weight barely improves on majority vote while Dawid-Skene aggregation recovers labels markedly better, and that the difference carries through to classifiers trained on those labels. The benchmark is synthetic because the production data behind the architecture are confidential; its generator applies character-level corruption and shares phrase sets with the rule stage, and both conditions are stated wherever a result depends on them.