I think the key there is to not be needy~ and the best way to draw someone closer is to show them unconditional love, so they don't have to worry 'bout being perfect for you. 'cause if they have to worry, then at points, you become an issue of stress for them. And since stress is something most people try to avoid, you'll get pushed away.
Granted, this might not work. The unconditional love might worry some, and scare them off, 'cause then they'd be afraid that they can't return that amount of love. In that case... I dunno. I'm not too sure where I'm going with this.
...and also, each person is different, which means things are even worse, 'cause there's no set formula to make and keep love. Pity, that. Although, technically, you should be able to categorize people, and distill them down to variables, which could then be fed into a table of sorts, and answers extracted from that. That _should_ be possible. There's only so many variations of people... take, for example, viewpoint on life. By examining how someone grows up, what they believe in, the friends they have, the way they dress, you should be able to figure out what sort of person they are, and then use that information to play them the way you want.
This is where people-watching comes in. :D Yay for people watching. Although.. that has it's limits. And when you hit those, it's time to go out and make friends with all different sorts of people.
And now, my battery's gonna die, so I'm going to go poke at the pretty snow, then find a different place to study.