Courier recommendation system

  Kiến thức lập trình

I am new to the field of Data analytics and I am not getting any starting point as from where and how I should start building the Courier recommendation system, I have to develop a Courier Recommendation System.
Problem Statement is-
At present the courier partner allocation is static i.e. If a brand B1 wants to deliver in Zone A then it always choose Courier partner C1.
Suppose, in Zone A there is a pincode where RTO(Return to origin) percentage is more than 50% (which is not ) for Courier Partner C1, so I want my system should be able to suggest/recommend the best courier partner and it should not definitely be C1.

Again, assuming TAT is important consideration for the brand b1, Courier partner C1 claims to deliver in 2 days for pincode p1 , however the historical data suggests avg delivery time for the pincode p1 is 7 days, my system should be able allocate courier partner which is not c1.

Can anyone please guide me about the exact data requirements for the same and what and how the recommendation algorithms be applied to build the same. How can I use Collaborative Filtering technique to build the same.

Thanks, will appreciate any quick response.

I have tried with below as my historical data:-
Pickup pincode
Drop pincode
Order price
Order date
Delivery date if available
Order status
Courier id
No of delivery attempts
Pickup date
Order value
Channel name

And courier partner master data as-
Courier name
Zone a tat(for all other zones)
Zone a price
Zone b tat
Zone b price
Zone c tat
Zone price
Zone d tat
Zone d price
Zone e tat
Zone price

Being a fresher in this I do not the start point of this model development, need help on the same.