I rarely if ever do these calculations. I thought this was an interesting and simple enough spot to have a go at it. Am I doing it right? Villain is solid 27/5/2.2/0 over 140 hands.
As per ProPokerTools.com (on given flop):
KsKcTd9s ------------------------------------- 32.37%
QQ**, 88**, 55**, Q8**, 8765, T986, QJT9 --- 67.63%
How would you alter villain's range? He'd probably open with at least the upper rundowns I think (even if he's only raising 5% so far), which kind of narrows down the above range. (Missing at least T987 but too late now and won't affect much.)
If we are to continue after the flop action, it's obviously for stacks so effectively the pot is 120+90+351=561 (ignoring rake) and we are "calling" 261. 261:561 (=> 261/(561+261)) gives 31,75 % so the call is very slightly -EV (I did make the call because of the gutter).
Just as a starting point, you cant include 55** or Q8**, thats just far too many combos of hands that he never plays, it assumes 553K rainbow, and Q822 rainbow, or whatever
Qualify it with an intersection for top x% of hands where x is his vpip; obv that's not perfect because people who play 30% vpip don't play exactly the top 30% of hands but it's better than not doing it.
But what you'll find is that yeah it's an easy call
It is mostly the same as propokertools but has an extended filtering syntax that allows you to filter for pairs and suitedness.
For example if you wanted all double suited hands with two pairs you would write "****{tp&ds}" without the quotes. There are more examples here and the full documentation is here.