One thing I'm not following is how the side/order bias is being handled. OP measures a IMO very large bias towards left-hand treats, but it is unclear how that is handled (ahem)? Skimming https://github.com/adamwespiser/best-dog-treat/blame/main/an... doesn't help me understand if it is being modeled as a covariate to adjust for the bias or if it was dealt with by construction (eg. by always offering pairs twice, swapping hands), or what?
Incidentally OP if you want to make it more adaptive, you can just fit the B-T model each time, and grab a posterior sample of what the best pair is, and test that, which turns out to be Thompson sampling. I did this for fun with blind taste-testing of mineral waters: https://gwern.net/water
I love it. For years with my old dog I would give him a binary choice between two treats and intuitively got a sense of his favorites as well. More satisfying to me was giving him the choice, which (maybe I'm over personifying him) I think he liked to pick his favorite. He had stomach issues which limited him to really only a few types of treats, and it was obvious which were his favorites, but it was fun anyway. I miss that dog.
The same time every day, around 11pm, I go to the kitchen, select two different treats, say the word “choice”, and present the treats in either hand, allowing Bebop to only take one... By the time the experiment started, Bebop was used to the routine and sniffing both treats before taking one.
Winner was Pur Luv Chicken, closely followed by MON2SUN duck + rawhide. Greenies and Pork Chomps fared poorly.
My dog's favorite treat is the most expensive one. Or the one that causes the most intestinal (and therefore cleanup) issues. All it takes is a pause and some brief math to see that a lot of (good for your dog) dog treats are $16/lb. That's not even remotely the most expensive. It's cheaper to feed them straight meat. I've resorted to making my own treats. It's like $4/lb, plus you know exactly what goes into it (mostly ground turkey, yams, rice/chickpea flour).
This makes me wonder what the research is for whether certain types or breeds of dog prefer certain dog treats, and how individual dogs might develop a preference for one kind over another. Based on this experiment it doesn't seem like the type of meat matters much, since while the top ranked treat is chicken, his second favourite seems to be the duck one.
Author here: I did a quick experiment with my Greyhound, Bebop, to figure out the treat he prefers best using pair-wise comparison analyzed with the Bradley-Terry model. Same tech as Elo scores in chess, and several other places! Enjoy!
My dog told me to write that the set of treats is missing non bleached rawhide, other dehydrated meats (eg rabbit, goat, fish), animal parts (eg ears), and vegetables. Also, he volunteers.
Add some interesting smells and dogs will eat absolutely anything.
Used tampons, literal shit, soiled underwear, dierhia, dead bird, freshly killed cat, they owners... It is basically a pig with collar that lives in your house.
Our Malinois really liked the dehydrated chicken too, currently finishing a bag of the Trader Joes organic chicken jerky sticks. Interesting idea for some experiments, thanks for sharing
Finding the best dog treat with statistics
(wespiser.com)120 points by wespiser_2018 22 June 2026 | 53 comments
Comments
Incidentally OP if you want to make it more adaptive, you can just fit the B-T model each time, and grab a posterior sample of what the best pair is, and test that, which turns out to be Thompson sampling. I did this for fun with blind taste-testing of mineral waters: https://gwern.net/water
Winner was Pur Luv Chicken, closely followed by MON2SUN duck + rawhide. Greenies and Pork Chomps fared poorly.
You also should continue with a swap of the hands; randomize which one is in the left and record the results to see if the left bias is real
Used tampons, literal shit, soiled underwear, dierhia, dead bird, freshly killed cat, they owners... It is basically a pig with collar that lives in your house.
https://growlersdogbones.org/