Padjective Tag Hierarchy

Machine learning insights into Shopify product tag organization

Data sourced from cantbuymelove.industrial-linguistics.com powering Shopify taxonomy classification and filtered to taxonomies with at least five products.

Last updated 2026-05-19 22:18 UTC

13,299 Products used
667 Taxonomies covered
14,232 Tags used
36,193 Total tags
4,970 Tag battles

Dataset coverage

Training data spans 13,299 products across 667 taxonomies. Of 36,193 total tags in the dataset, 14,232 tags were used (tags appearing fewer than 5 times were filtered out). 6,933 products were discarded due to missing or sparse taxonomy labels. Explore the full dataset → | View defective taxonomy labels →

Dummy Baseline

Always predicts most common taxonomy (baseline for comparison)

0.6242 Avg p-adic loss
1 Parameter
View model →

Importance-Optimised p-adic Linear Regression

P-adic coefficients assigned to tags to predict taxonomy

0.3446 Avg p-adic loss
1,338 Avg non-zero coefficients
View model →

Level-wise Logistic Regression

Hierarchy-aware top-down classifier that always emits a valid taxonomy path

0.1008 Avg p-adic loss
83.01% Prefix-2 accuracy
132,415 Non-zero params
View model →

Zubarev Regression (UMLLR init)

Stochastic p-adic optimization starting from UMLLR (arXiv:2503.23488)

0.4312 Avg p-adic loss
3,574 Non-zero coefficients
View fold details →

Zubarev Regression (Zeros init)

Stochastic p-adic optimization starting from zeros (arXiv:2503.23488)

0.4980 Avg p-adic loss
3,800 Non-zero coefficients
View fold details →

Zubarev Mahler-1 (UMLLR init)

Mahler affine basis (degree 1) with UMLLR initialization

0.4286 Avg p-adic loss
3,354 Non-zero coefficients
View fold details →

Zubarev Mahler-2 (UMLLR init)

Mahler quadratic basis (degree 2) with UMLLR initialization

0.4257 Avg p-adic loss
3,361 Non-zero coefficients
View fold details →

Unconstrained Logistic Regression

L1-regularized model using ALL tags

0.2611 Avg p-adic loss
6,484 Non-zero params
View model →

Decision Tree

Unconstrained tree using ALL tags

0.2237 Avg p-adic loss
62,090 Effective params
View model →

Unconstrained Neural Network

L1-regularized NN with weight pruning

0.2339 Avg p-adic loss
24,486 Non-zero params
View model →

Parameter Constrained Neural Network

Neural network predicting taxonomy from tags

0.5538 Avg p-adic loss
864 Avg input weights
View model →

Parameter Constrained Logistic Regression

Logistic regression model predicting Shopify taxonomy from tags

0.7010 Avg p-adic loss
21,056 Avg parameters
View model →

ELO-Inspired Rankings

Battle-tested tag hierarchy from product title positions

4,970 Tag battles
View rankings →

Benchmark Comparisons

Dedicated `latest` and `paper` benchmark pages, including the average active parameters touched per classification for the importance-optimised p-adic linear regressor.

1.10 Latest active params / classification
1.11 Paper active params / classification
Open benchmark pages →

Taxonomy distribution

Taxonomy class distribution
Distribution of products across the most common taxonomy classes

Top 10 taxonomy classes

Taxonomy IDNamePathSamplesShare
gid://shopify/TaxonomyCategory/btBaby & Toddler41250.9%
gid://shopify/TaxonomyCategory/lbLuggage & Bags15930.7%
gid://shopify/TaxonomyCategory/buBundles5650.5%
gid://shopify/TaxonomyCategory/paProduct Add-Ons19240.2%
gid://shopify/TaxonomyCategory/naUncategorized25190.1%
gid://shopify/TaxonomyCategory/gcGift Cards11150.1%
gid://shopify/TaxonomyCategory/osOffice Supplies18130.1%
gid://shopify/TaxonomyCategory/sgSporting Goods23130.1%
gid://shopify/TaxonomyCategory/meMedia17100.1%
gid://shopify/TaxonomyCategory/hgHome & Garden1480.1%

Tags with strongest signal

TagTop taxonomyWeightMax |weight|
ZOX53.45623.4562

Historical Performance Trends

Tracking model performance and dataset growth over time. Lower p-adic loss indicates better predictions.

Historical model performance trends
Model performance vs number of products
Model Slope (per product) Intercept p-value
Importance-Optimised p-adic LR0.0000000.34520.00040.7998
PCLR0.0000280.47040.63235.87e-41
PCNN0.0000110.50640.13045.51e-07
ULR0.0000050.19060.72454.05e-44
UNN0.0000060.16690.51732.44e-25
Decision Tree0.0000050.15730.73203.63e-44
Zubarev (UMLLR)0.0000030.38860.35357.64e-15
Zubarev (zeros)0.0000080.38660.77301.36e-46
Zubarev (M1)0.0000010.40780.09981.36e-04
Zubarev (M2)0.0000020.40110.21209.18e-09
Dummy Baseline-0.0000290.89200.59314.90e-34

Extrapolation Analysis: When Will Importance-Optimised p-adic LR Outperform Other Models?

Based on current regression trends, we can extrapolate when Importance-Optimised p-adic LR will achieve better performance (lower p-adic loss) than other models as the dataset grows. The confidence intervals are calculated using bootstrap resampling (n=1000).

Model Crossover Point
(products)
95% Confidence Interval Probability Estimated Date
UNN (Unconstrained Neural Networks)33,17027,496 - 43,835 (95% CI, σ=4,307)>95%2027-03-29 (±uncertain, R²=0.998, growth=63.6/product/day)
ULR (Unconstrained Logistic Regression)30,26925,529 - 39,404 (95% CI, σ=3,435)>95%2027-02-12 (±uncertain, R²=0.998, growth=63.6/product/day)
Decision Tree40,64933,232 - 54,542 (95% CI, σ=5,482)>95%2027-07-25 (±uncertain, R²=0.998, growth=63.6/product/day)

Statistical Notes: The crossover points are calculated by finding where the regression lines intersect. The 95% confidence intervals are derived from bootstrap resampling of the regression parameters. The probability estimates indicate the likelihood that the crossover will occur given the current trends. Date predictions are based on linear extrapolation of dataset growth and should be interpreted with caution.

Model performance vs number of distinct tags
Model Slope (per tag) Intercept p-value
Importance-Optimised p-adic LR0.0000010.33450.01160.1475
PCLR0.0000410.27080.68911.53e-47
PCNN0.0000190.39740.20511.37e-10
ULR0.0000080.15130.73848.00e-46
UNN0.0000090.11770.62043.75e-33
Decision Tree0.0000070.12130.73601.22e-44
Zubarev (UMLLR)0.0000050.35900.45216.88e-20
Zubarev (zeros)0.0000130.31580.83572.23e-56
Zubarev (M1)0.0000020.39740.15061.98e-06
Zubarev (M2)0.0000030.38400.28826.78e-12
Dummy Baseline-0.0000441.11800.68503.03e-43

Extrapolation Analysis: When Will Importance-Optimised p-adic LR Outperform Other Models?

Based on current regression trends, we can extrapolate when Importance-Optimised p-adic LR will achieve better performance (lower p-adic loss) than other models as the dataset grows. The confidence intervals are calculated using bootstrap resampling (n=1000).

Model Crossover Point
(tags)
95% Confidence Interval Probability Estimated Date
UNN (Unconstrained Neural Networks)27,83223,754 - 35,243 (95% CI, σ=3,050)>95%2027-03-24 (±uncertain, R²=0.991, growth=44.9/tag/day)
ULR (Unconstrained Logistic Regression)27,64123,561 - 36,213 (95% CI, σ=3,149)>95%2027-03-20 (±uncertain, R²=0.991, growth=44.9/tag/day)
Decision Tree35,97729,343 - 49,804 (95% CI, σ=5,158)>95%2027-09-21 (±uncertain, R²=0.991, growth=44.9/tag/day)

Statistical Notes: The crossover points are calculated by finding where the regression lines intersect. The 95% confidence intervals are derived from bootstrap resampling of the regression parameters. The probability estimates indicate the likelihood that the crossover will occur given the current trends. Date predictions are based on linear extrapolation of dataset growth and should be interpreted with caution.

Model complexity vs performance (parameter count vs p-adic loss)
Both axes use log scale. The red line is the fixed parsimoniousness baseline rather than a fitted regression.

Why parsimony matters. The question here is not just which model has the lowest loss, but which model gets good p-adic loss with the fewest effective parameters. That is exactly where the smaller p-adic models are interesting.

Where this baseline came from. The original score came from a log-log regression on model size versus loss, rounded to -0.1 × log₁₀(params) - 0.2. Looking across historical snapshots, those scores drifted as the dataset covered more taxonomies, so the current baseline adds + 0.3 × log₁₀(taxonomies / 1,000) to keep comparisons stable as the benchmark grows. For readability, we also re-centre the displayed score by dropping the old constant offset; that keeps the current tables mostly positive without changing the relative comparisons.

Parsimoniousness baseline: log₁₀(loss) = -0.1 × log₁₀(params) + 0.3 × log₁₀(taxonomies / 1,000)
Current snapshot taxonomies: 667
Parsimony score = baseline log₁₀(loss) − observed log₁₀(loss). Positive means better than baseline.

Model Params Loss log₁₀(params) log₁₀(loss) Baseline log₁₀(loss) Parsimony score
Level-wise Logistic132,4150.10085.1219-0.9966-0.5650+0.4317
Dummy10.62420.0000-0.2047-0.0528+0.1519
ULR6,4840.26113.8118-0.5831-0.4339+0.1492
UNN24,4860.23394.3889-0.6309-0.4917+0.1392
Decision Tree62,0900.22374.7930-0.6503-0.5321+0.1182
Importance-Optimised1,3380.34473.1265-0.4626-0.3654+0.0972
Zubarev (M2)3,3610.42573.5265-0.3709-0.4054-0.0345
Zubarev (M1)3,3540.42863.5255-0.3680-0.4053-0.0373
Zubarev (UMLLR)3,5740.43123.5532-0.3653-0.4081-0.0427
PCNN8640.55382.9365-0.2566-0.3464-0.0898
Zubarev (zeros)3,8000.49803.5798-0.3028-0.4107-0.1079
PCLR21,0560.70104.3234-0.1543-0.4851-0.3308
Historical parsimony score stability
Left: parsimony score versus dataset size. Right: score distribution across historical snapshots. Positive means better than the taxonomy-adjusted baseline.
Model Snapshots Mean score Std dev Span Latest score Latest products
Dummy Baseline167+0.04810.12210.3347+0.151913,299
Unconstrained Logistic Regression with L1153+0.16530.01950.1083+0.149213,299
Unconstrained Neural Network with L1151+0.11670.03190.1631+0.139213,299
Decision Tree120+0.14610.01820.0782+0.118213,299
Importance-Optimised $p$-adic Linear Regression120+0.05660.04850.1273+0.097213,299
Zubarev (UMLLR init)141-0.06420.02010.0810-0.042813,299
PCNN151-0.20040.06910.1992-0.089813,299
PCLR151-0.37890.02330.1880-0.330813,299

Smaller standard deviation and span mean a model’s parsimoniousness is more stable as the dataset grows.

Unconstrained models: complexity vs performance (log-log scale)
Unconstrained models only (no PCLR/PCNN). Both axes on log scale.

Regression: log₁₀(loss) = slope × log₁₀(params) + intercept

Slope Intercept p-value Significant? n
-0.0956 -0.1980 0.9862 0.0007 Yes 5
Model performance trajectory over time
Arrows show how each model's complexity and performance have changed over time.