Product Backlog prioritization

One of the advantages of agile is that brings the most valued product functionality, to stakeholders, clients, and businesses faster than other development methodologies. This is possible by effectively and consistently prioritizing the user stories.
The act of prioritizing the Product Backlog, as a part of the backlog refinement process, is one of the most important activities in agile software development. This is required to organize the user stories, bugs, and technical debt tasks… present on the Product Backlog, into a sequence that the developers can choose from during sprint planning.
The most common influencing factors for prioritizing product backlog items are:
1. Stakeholder needs
2. Market value
3. User needs
4. Complexity, risk & opportunity
5. Cost
The Product Owner is responsible for gathering the business needs and getting input from the stakeholders and development team. He is responsible for prioritizing the enhancements based on what provides the most value to the product.
How can we prioritize efficiently?
What work frameworks can be used to do it?
Hopefully, there are a lot of ways to do a correct prioritization depending on the maturity of the product, the size of the product, or the purpose of the requirements... You will find on this site the most important prioritization techniques:
Comparison Between Popular Prioritization Methods
Kano: The customer-driven prioritization technique
MoSCoW: The simple prioritization technique for small products
The Product Tree Prioritization Framework
RICE: Scoring Model for Prioritization
Stack Ranking prioritization technique
Impact Effort Matrix and Stack Ranking prioritization methods combined