We generally use the date of delivery. The only requirement is that the delivery event for the order fulfillment is correctly updated in your Shopify store. Most carriers/integrations do this automatically, but it makes sense to double-check on your side.
How to check this yourself
Take a look at the order status page - the one your customer usually uses for tracking their shipment:
If the carrier updates shipping information on your order correctly, you should see a delivery event on this page.
Suppose shipment information is never updated from the carrier side. In that case, the shipment status is either unavailable on this page or stuck at a specific stage, e.g., "in transit" or similar. In this case, check with your carrier/integration/3rd party app how this information can be updated on your order.
If we cannot find a delivery event on your order, we have a fallback to the last update of the fulfillment object on your order.