Purchasing shoes online can be a bit of a shit show. Sizing varies widely across – and even within – brands. I tend to wear a 9.5 US or 42 EU in most footwear, but, without trying the shoe on in meatspace, an online purchase is always a gamble.
Some years ago, shortly after I first braved the world of footwear e-commerce, I started logging which size I wore in every shoe I purchased. This helped immensely because it allowed me to compare sizing when reading reviews. When researching a new shoe model, I look for reviews that compare it against some other model that I may have a log entry for. If I can’t find that, but I find a comparison to some other model, I may try to find reviews of that model which compare it to something I know. It is like playing Six Degrees of Kevin Bacon, but with shoes. (The more you play the game the more you win.) Eventually I try to form a statement like “if you wear a 9.5 US in Shoe X, you should buy a 10 US in Shoe Y”.
I do not log widths because I always wear whatever a brand’s “standard” width is. If I ever purchased something the brand considered to be “wide” or “narrow”, I would note that.
A couple years ago I began tracking weight in the same file as the sizes. Many older shoes have no weight logged, but I find it useful for entries where I do have the data. The weights are all “as worn” – meaning they are what I measured after replacing shoe laces (probably with Lawson Toughlaces) or insoles. So my weights might be a couple ounces different from how the shoes ship from the factory.
I recently reformatted my log into a nice TSV file so that I could look at it with VisiData. I’ve thrown the file into a git repository and published it on GitHub. If you wear the sort of shoes I wear, perhaps it will be helpful to you.