The most likely reason for low notification delivery rates is that your backend server(s) are sending notifications to devices / users that may have uninstalled your app. Those devices/users will never receive the notification, and this will increase the number of daily undelivered notifications. This will in turn lower the overall notification delivery percentage in the Notification Delivery graph.
Please ensure your backend only sends notifications to recently-active devices/users. Your backend can query the Device Presence API to check when devices last connected to our service.