From a user experience perspective, a persona is a representation of the ideal user that you would like to serve. A persona represents a set of users whose behavioral patterns are similar for cases like browsing, purchasing patterns, usage of specific features, etc.
Defining personae for your product is the first step of creating the perfect user experience. Each persona set is created using pre-defined behaviors, so they are not dependent on factors like age, gender or location. In fact, personae generally span a vast variety of demographics.
There are multiple ways of creating personas for your product. The most common way of building Personas are by first conducting one-to-one meetings with a wide demographic of your user base. The best practice is to do a random sampling in order to get a more coherent definition of the persona. You can also gather this information using online surveys, email questionnaires and analyzing your engagement data. Once you define the personas of you app, then you can tailor the user experience to match the expectations and needs of your user base according to the classification you made.