These are the basic formulae.
Quality = Hit Points/2 + Strength/2 + Dexterity*2 + Intelligence/2 + Total Resists*4 + Total Max Skills Over 100*4
Quality Rating = (Quality - Minimum Quality for Species)/(Maximum Quality for Species - Minumum Quality for Species)*100
(I always enter the maximums for skills and stats that the pet will train up to. I care about what it will become after it is fully trained, and that is what I base my rating on, so any stat that will train up to 125 is entered as 125, and I always make it a point to figure out what the maximum skills will be before I train my pets. So for example, for your puppy, I entered it's dexterity as 125. I ignore skills that will train up to 100 and only bother with the skills that will be higher than 100 after being fully trained.)
So basically I have the formulae in a spread sheet. For every pet type I have a line for minimum and maximum species stats, and then one for each pet, and then I plug those numbers into the formula. It's not perfect but it really does give you a good idea what pets are good, and it takes into account every stat, and rates as a percentage based on minimums and maximums.
But the formula is only a tool. You really need to decide what you want to use your pet for before you decide whether it is worth keeping or not. My rune beetle was chosen primarily for the purposes of pvp. It has one of the lowest ratings of any of my pets, a 74, but I chose it for it's dps (damage per second), which in my mind, is the single more important factor in pvp.
The stats, strength, dexterity, and intelligence, as well as evaluate intelligence and poisoning, are all important to dps, while hits and resists are less important. I've had higher rated beetles, but I've never seen a beetle with as high scores on all of those attributes I just mentioned, so I have sold a number of higher rated beetles and kept this one. And I can tell you from experience, I made the right decision.