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-24 22:24 UTC

13,661 Products used
681 Taxonomies covered
14,496 Tags used
36,601 Total tags
5,032 Tag battles

Dataset coverage

Training data spans 13,661 products across 681 taxonomies. Of 36,601 total tags in the dataset, 14,496 tags were used (tags appearing fewer than 5 times were filtered out). 7,071 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.6244 Avg p-adic loss
1 Parameter
View model →

Importance-Optimised p-adic Linear Regression

P-adic coefficients assigned to tags to predict taxonomy

0.3398 Avg p-adic loss
1,375 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.4302 Avg p-adic loss
3,643 Non-zero coefficients
View fold details →

Zubarev Regression (Zeros init)

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

0.5029 Avg p-adic loss
3,845 Non-zero coefficients
View fold details →

Zubarev Mahler-1 (UMLLR init)

Mahler affine basis (degree 1) with UMLLR initialization

0.4273 Avg p-adic loss
3,414 Non-zero coefficients
View fold details →

Zubarev Mahler-2 (UMLLR init)

Mahler quadratic basis (degree 2) with UMLLR initialization

0.4243 Avg p-adic loss
3,409 Non-zero coefficients
View fold details →

Unconstrained Logistic Regression

L1-regularized model using ALL tags

0.2571 Avg p-adic loss
6,672 Non-zero params
View model →

Decision Tree

Unconstrained tree using ALL tags

0.2172 Avg p-adic loss
64,105 Effective params
View model →

Unconstrained Neural Network

L1-regularized NN with weight pruning

0.2301 Avg p-adic loss
25,503 Non-zero params
View model →

Parameter Constrained Neural Network

Neural network predicting taxonomy from tags

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

Parameter Constrained Logistic Regression

Logistic regression model predicting Shopify taxonomy from tags

0.7804 Avg p-adic loss
21,421 Avg parameters
View model →

ELO-Inspired Rankings

Battle-tested tag hierarchy from product title positions

5,032 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.11 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/buBundles5660.5%
gid://shopify/TaxonomyCategory/paProduct Add-Ons19240.2%
gid://shopify/TaxonomyCategory/naUncategorized25190.1%
gid://shopify/TaxonomyCategory/gcGift Cards11150.1%
gid://shopify/TaxonomyCategory/osOffice Supplies18140.1%
gid://shopify/TaxonomyCategory/sgSporting Goods23130.1%
gid://shopify/TaxonomyCategory/meMedia17100.1%
gid://shopify/TaxonomyCategory/hgHome & Garden1490.1%

Tags with strongest signal

TagTop taxonomyWeightMax |weight|
ZOX53.44273.4427

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.34570.00000.9247
PCLR0.0000270.47540.62949.84e-42
PCNN0.0000100.51270.11133.07e-06
ULR0.0000050.19090.74061.46e-47
UNN0.0000050.16790.52451.21e-26
Decision Tree0.0000050.15740.74889.34e-48
Zubarev (UMLLR)0.0000030.38870.37372.51e-16
Zubarev (zeros)0.0000080.38660.79088.95e-51
Zubarev (M1)0.0000010.40730.12769.58e-06
Zubarev (M2)0.0000020.40100.23465.87e-10
Dummy Baseline-0.0000270.88200.57005.62e-33

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,51427,886 - 43,880 (95% CI, σ=4,170)>95%2027-04-03 (±uncertain, R²=0.998, growth=63.7/product/day)
ULR (Unconstrained Logistic Regression)29,98025,460 - 37,253 (95% CI, σ=3,066)>95%2027-02-06 (±uncertain, R²=0.998, growth=63.7/product/day)
Decision Tree40,08433,173 - 52,783 (95% CI, σ=4,940)>95%2027-07-15 (±uncertain, R²=0.998, growth=63.7/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.33640.00830.2148
PCLR0.0000390.28540.68109.02e-48
PCNN0.0000170.41600.17592.30e-09
ULR0.0000080.15260.75204.28e-49
UNN0.0000090.12180.61726.29e-34
Decision Tree0.0000070.12230.75124.56e-48
Zubarev (UMLLR)0.0000050.36080.46452.85e-21
Zubarev (zeros)0.0000130.31810.84631.96e-60
Zubarev (M1)0.0000020.39650.18188.08e-08
Zubarev (M2)0.0000030.38450.30783.69e-13
Dummy Baseline-0.0000411.08990.65081.10e-40

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)28,30024,263 - 35,853 (95% CI, σ=3,016)>95%2027-04-01 (±uncertain, R²=0.992, growth=45.1/tag/day)
ULR (Unconstrained Logistic Regression)27,34723,525 - 34,497 (95% CI, σ=2,758)>95%2027-03-11 (±uncertain, R²=0.992, growth=45.1/tag/day)
Decision Tree35,39029,226 - 47,556 (95% CI, σ=4,542)>95%2027-09-05 (±uncertain, R²=0.992, growth=45.1/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: 681
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.5622+0.4344
ULR6,6720.25713.8243-0.5899-0.4325+0.1574
Dummy10.62440.0000-0.2045-0.0501+0.1545
UNN25,5030.23014.4066-0.6381-0.4907+0.1474
Decision Tree64,1050.21724.8069-0.6632-0.5307+0.1325
Importance-Optimised1,3750.33983.1384-0.4688-0.3639+0.1049
Zubarev (M2)3,4090.42433.5326-0.3723-0.4033-0.0310
Zubarev (M1)3,4140.42733.5333-0.3693-0.4034-0.0341
Zubarev (UMLLR)3,6430.43023.5615-0.3663-0.4062-0.0399
PCNN8640.55412.9365-0.2564-0.3437-0.0873
Zubarev (zeros)3,8450.50293.5849-0.2985-0.4085-0.1100
PCLR21,4210.78044.3308-0.1077-0.4831-0.3754
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
Unconstrained Logistic Regression with L1158+0.16500.01930.1083+0.157413,661
Dummy Baseline172+0.05110.12150.3347+0.154513,661
Unconstrained Neural Network with L1156+0.11760.03180.1631+0.147413,661
Decision Tree125+0.14520.01830.0782+0.132513,661
Importance-Optimised $p$-adic Linear Regression125+0.05850.04850.1273+0.104913,661
Zubarev (UMLLR init)146-0.06330.02040.0810-0.039913,661
PCNN156-0.19680.07070.1992-0.087313,661
PCLR156-0.37860.02310.1880-0.375413,661

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.0975 -0.1974 0.9875 0.0006 Yes 5
Model performance trajectory over time
Arrows show how each model's complexity and performance have changed over time.