How can Elo be unofficially estimated? @user1657 has given an interesting answer to a question of @ArghyaChakraborty. He says that the Android app called "Analyze your games" can estimate the user's Elo strength.

How would it do that?

You're probably not going to offer me a master's thesis on the mathematics of Elo-rating estimation here, but I'd be interested in a vague outline of the mathematics, or of the technique, if you happen to know it.

Or maybe you'll close this question as off-topic. It's kind of on the borderline, I'll admit. But, still, a computer estimating your chess strength, so that you know whether you're ready to take Karjakin's seat against Carlsen? That's pretty cool.
Generally the approach to estimate an Elo rating directly from the games, is to calculate the accuracy of the moves compared to the best move given by an engine. 

There is a correlation between accuracy and playing strength, which can be used to calculate an Elo estimate from the accuracy. This idea is laid out in this paper by Ken Regan.