I would recommend looking at some BGP books, and get a good baseline of path selection in BGP if you're not already familiar. There are I believe 13 different attributes that BGP will look at when selecting a path. It looks at those attributes in order, and picks the best path based with the first winning attribute (when comparing multiple paths). The book that is considered the "BGP Bible" is Cisco.Press.The.Definitive.BGP.Resource.Internet.Routing.Architectures.2nd.Edition.
If you're already familiar with BGP, and have some specific questions I will try to answer them. The question in your first post can be answered by the book I referenced above. But it really comes down to how the service provider has BGP configured since you can tweak and shift how those attributes are calculated depending on how you want to use them.