According to the General Social Survey, 28% of American men under 30 report not having sex since they turned 18. I was baffled by that and wanted to know what predicts virginity among young men.
Using General Social Survey data, I looked at a long list of possible predictors but found that most factors are unrelated. As you can see below, being younger predicts virginity (not surprisingly). More educated men are more likely to be virgins which cuts against the claim that high-status men are the ones who get sex. (Income and job prestige were not predictive.)
Never going to bars and not watching an X-rated film in the past year predicted virginity. So porn doesn't look like a substitute for sex: sexually active men are more likely to watch porn. Perhaps celibate men tend to have lower levels of testosterone? Men who go to bars are more likely to have sex, so men who make an effort or who are more social are more likely to have sex.
The GSS doesn't have many personality-type questions, so I wasn't able to look at traits like introversion or social awkwardness, but if you've got other ideas for unconventional variables, let me know.