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-10-12 02:04 UTC

23,097 Products used
1,001 Taxonomies covered
21,268 Tags used
52,717 Total tags
9,067 Tag battles

Dataset coverage

Training data spans 23,097 products across 1,001 taxonomies. Of 52,717 total tags in the dataset, 21,268 tags were used (tags appearing fewer than 5 times were filtered out). 10,817 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.6172 Avg p-adic loss
1 Parameter
View model →

Importance-Optimised p-adic Linear Regression

P-adic coefficients assigned to tags to predict taxonomy

0.3601 Avg p-adic loss
2,266 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.4223 Avg p-adic loss
4,768 Non-zero coefficients
View fold details →

Zubarev Regression (Zeros init)

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

0.4156 Avg p-adic loss
3,858 Non-zero coefficients
View fold details →

Zubarev Mahler-1 (UMLLR init)

Mahler affine basis (degree 1) with UMLLR initialization

0.4225 Avg p-adic loss
4,470 Non-zero coefficients
View fold details →

Zubarev Mahler-2 (UMLLR init)

Mahler quadratic basis (degree 2) with UMLLR initialization

0.4222 Avg p-adic loss
4,471 Non-zero coefficients
View fold details →

Unconstrained Logistic Regression

L1-regularized model using ALL tags

0.2823 Avg p-adic loss
10,619 Non-zero params
View model →

Decision Tree

Unconstrained tree using ALL tags

0.2322 Avg p-adic loss
120,392 Effective params
View model →

Unconstrained Neural Network

L1-regularized NN with weight pruning

0.2427 Avg p-adic loss
22,390 Non-zero params
View model →

Parameter Constrained Neural Network

Neural network predicting taxonomy from tags

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

Parameter Constrained Logistic Regression

Logistic regression model predicting Shopify taxonomy from tags

0.8334 Avg p-adic loss
31,795 Avg parameters
View model →

ELO-Inspired Rankings

Battle-tested tag hierarchy from product title positions

9,067 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.12 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 & Toddler43391.5%
gid://shopify/TaxonomyCategory/lbLuggage & Bags151060.5%
gid://shopify/TaxonomyCategory/buBundles5900.4%
gid://shopify/TaxonomyCategory/gcGift Cards11420.2%
gid://shopify/TaxonomyCategory/paProduct Add-Ons19380.2%
gid://shopify/TaxonomyCategory/osOffice Supplies18220.1%
gid://shopify/TaxonomyCategory/naUncategorized25190.1%
gid://shopify/TaxonomyCategory/hgHome & Garden14180.1%
gid://shopify/TaxonomyCategory/sgSporting Goods23180.1%
gid://shopify/TaxonomyCategory/biBusiness & Industrial6170.1%

Tags with strongest signal

TagTop taxonomyWeightMax |weight|
No tag signal data available

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 R² p-value
Importance-Optimised p-adic LR0.0000010.34260.01630.0223
PCLR0.0000120.60030.40261.88e-37
PCNN0.0000000.60660.00050.6946
ULR0.0000030.21890.46277.20e-41
UNN0.0000010.21960.04383.38e-04
Decision Tree0.0000010.19040.22282.21e-17
Zubarev (UMLLR)0.0000020.39060.32422.25e-25
Zubarev (zeros)0.0000000.44900.00360.3163
Zubarev (M1)0.0000010.39620.21682.04e-16
Zubarev (M2)0.0000020.39410.24816.65e-19
Dummy Baseline-0.0000130.83720.31301.61e-26

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)199,37396,129 - 1,552,872 (95% CI, σ=633,146)>95%2038-08-25 (±uncertain, R²=0.495, growth=42.1/product/day)
ULR (Unconstrained Logistic Regression)54,91446,527 - 66,591 (95% CI, σ=5,097)>95%2029-04-04 (±uncertain, R²=0.495, growth=42.1/product/day)
Decision Tree158,015104,897 - 320,519 (95% CI, σ=69,251)>95%2035-12-17 (±uncertain, R²=0.495, growth=42.1/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 R² p-value
Importance-Optimised p-adic LR0.0000010.33950.01470.0303
PCLR0.0000190.46990.59591.59e-64
PCNN0.0000090.48680.19706.97e-17
ULR0.0000050.18110.79241.19e-100
UNN0.0000060.15140.63991.32e-65
Decision Tree0.0000030.15810.67233.02e-71
Zubarev (UMLLR)-0.0000000.41450.00650.1803
Zubarev (zeros)-0.0000010.46650.01480.0422
Zubarev (M1)-0.0000010.42610.07126.20e-06
Zubarev (M2)-0.0000010.42260.04642.89e-04
Dummy Baseline-0.0000010.72130.00090.6043

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)36,35533,050 - 41,004 (95% CI, σ=2,087)>95%2027-09-01 (±uncertain, R²=0.997, growth=47.1/tag/day)
ULR (Unconstrained Logistic Regression)37,63634,321 - 41,836 (95% CI, σ=1,945)>95%2027-09-28 (±uncertain, R²=0.997, growth=47.1/tag/day)
Decision Tree64,13954,255 - 79,155 (95% CI, σ=6,470)>95%2029-04-13 (±uncertain, R²=0.997, growth=47.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: 1,001
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.5121+0.4846
Dummy10.61720.0000-0.20950.0001+0.2097
UNN22,3900.24274.3501-0.6150-0.4349+0.1801
ULR10,6190.28234.0261-0.5493-0.4025+0.1469
Decision Tree120,3920.23225.0806-0.6342-0.5079+0.1262
Importance-Optimised2,2660.36013.3552-0.4435-0.3354+0.1081
Zubarev (zeros)3,8580.41563.5864-0.3813-0.3585+0.0228
Zubarev (M2)4,4710.42223.6504-0.3745-0.3649+0.0096
Zubarev (M1)4,4700.42253.6503-0.3742-0.3649+0.0093
Zubarev (UMLLR)4,7680.42233.6784-0.3744-0.3677+0.0067
PCNN8640.59802.9365-0.2233-0.2935-0.0702
PCLR31,7950.83344.5024-0.0792-0.4501-0.3710
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 Baseline305+0.06180.12060.3846+0.209723,097
Unconstrained Neural Network with L1289+0.10780.05950.2763+0.180123,097
Unconstrained Logistic Regression with L1291+0.15500.02520.1836+0.146923,097
Decision Tree258+0.13940.02520.1372+0.126223,097
Importance-Optimised $p$-adic Linear Regression258+0.07410.04080.1295+0.108123,097
Zubarev (UMLLR init)279-0.04220.02960.1192+0.006723,097
PCNN289-0.18080.08080.2611-0.070223,097
PCLR289-0.38240.02560.2073-0.371023,097

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 R² p-value Significant? n
-0.0864 -0.1999 0.9685 0.0024 Yes 5
Model performance trajectory over time
Arrows show how each model's complexity and performance have changed over time.