SELECT EXTRACT('YEAR' FROM CAST(invoice_date AS timestamp)), MIN(total), MAX(total), SUM(total), COUNT(invoice_id), ROUND(SUM(total)/COUNT(DISTINCT customer_id)) FROM invoice WHERE billing_country IN ('USA', ' United Kingdom', 'Germany') GROUP BY EXTRACT('YEAR' FROM CAST(invoice_date AS timestamp)) ORDER BY EXTRACT('YEAR' FROM CAST(invoice_date AS timestamp)) DESC;