If you have candy and stardust its better to look at IV, but I would say pre lv. 20 or if its like slight difference in IV, but one has much higher CP then go for the higher CP one.
I say pre lv. 20 because thats when I just wanted strong mons to attack gyms with, now that I am 30+ I care only about IV, I prefer a 90% IV wih 300 CP than something with 70% IV and 1000 CP for example, of course it depends on the monsters, Chancey or Snorlax I don't have the candy to be that picky :))
How do you choose which pokemon to transfer?
For example, I have 150 candies, machop 1 (iv40% cp750) and machop 2 (iv70% cp400). Which of them transfer? What is better - IV or CP?
It is not about machop, machop is just an example, I have the similar case with others too: eevee, dratini, tentacruel etc. I'd like to know a general rule, how to make such a decision?
Answers
For me it's dependent on a lot of factors especially the rarity of the pokemon. Generally, I transfer the low IV ones. However, if it's a high IV but very low CP / Low Level, I might toss that one out as well because to great candy/dust investment to power it up from a low level. Again, it really depends on the pokemon and how easy it is for me to get in my area. I think most set an base IV limit that they follow, meaning they toss anything below 82% for generally common mons. Hope this helps a little. I am sure more people will respond.
As I've increased my own level, I favor high IV, prefer a 15 in 2 categories based on appraisal.... and obviously any 100% PKM. If you're in the game for the long haul, then candy and dust will come, but probably will never be able to change IV.
One other exception to the super-rare mons to keep are potential prestigers - eg Jigglypuff or Clefairy with average IV but a 15 for stamina are keepers!
The first question I ask myself is will I EVER spend stardust on this pokemon in it's most evolved form.
In your example (Machop), the answer is probably yes - Machamp is a good Blissey/Snorlax counter when attacking gyms.
In that case, I would prefer the one with the higher IVs, evolve it, see if it has a good moveset, and if it does, power it up to your desired level.
If the answer is no, IVs don't really matter - you only care about initial power, which is a function of both IVs and level. for example, a Wigglytuff that you keep for prestiging but will never be a great attaker/defender, I care more about CP than IV. I just want one that is in the right "CP Range". If it is higher IV/lower level or lower IV/higher level, I don't care - the rough power and usefulness is about the same.
So, in your case, I would keep the 70% Machop and transfer the 40%. If it was a Wigglytuff, I would reverse that logic. (Actually, I'd probably transfer them both and wait for a better Machop - to spend stardust, I want at leat 85%IVs)
I think there are four categories of "useful" pokemon. (I'm not counting trophy ones like the babies)
For attacking enemy gyms I keep the ones with the best movesets and high CP. For pre-evolutions like Machop I would generally just go by CP unless I found one in the top third of CP that had really good IV's.
For prestiging gyms I am targeting good movesets and a final CP of between 1100 and 1300. Use the calculators on this site to figure out what CP of Swinub will give you a Piloswine in the right range.
For defending gyms it's currently all about CP. Moves hardly matter. High IV = higher max CP.
The fourth category is "waiting" - those that have a higher level evolution coming in the future, like Murkrow and Electabuzz... I keep a few high IV ones, and as much candy as I can. This is also the category I would put breeding stock - for example, I have one female Snorlax and several males, I will not transfer the only female, in case they ever implement breeding.
The rule you should follow is... Am I gonna evolve or power up this pokemon? Can I use it as it is? If the answer to both questions is no, then transfer it.
If the pokemon is common (like a machop) if the CP is too low (ask less than say... 2k stardust to power up), I won't even check the IV's, just transfer it on the spot, the reasoning is... I don't really want to invest soo much stardust for a common pokemon with a level that low.
If the pokemon is rare, then I'll check the IV's even if the level is low, just in case it's actually above 82%, as a rare pokemon with good IV's might be worth investing the dust and candies, even if it's a lot of them.
Most of the time I hold out for a 80+ IV mon anything less I usually transfer unless its a rare one that I cant get many of like snorlaxs. Then once I evolve it if it has the move set I want I power up that bad boy, If not I try the whole process over again. Been good so far but still trying to find that Kick Ass Rhydon.