Algorithms are now widely used to streamline decisions in different contexts: insurance, health care, criminal justice. As some have shown, algorithms can make disproportionately more errors to the detriment of disadvantaged minorities compared to other groups. The literature in computer science has articulated different criteria of algorithmic fairness, each plausible in its own way. Yet, several impossibility theorems show that no algorithm can satisfy more than a few of these fairness criteria at the same time. We set out to investigate why this is so. In this talk, we first show that all criteria of algorithm fairness can be simultaneously satisfied under a peculiar and idealized set of premises. These include assumptions about access to information, representativeness of training data, capacity of the model, and crucially the construct of individual risk as the quantity to be assessed by the algorithm. When these assumptions are relaxed, we invoke a multi-resolution framework to understand the deterioration of the algorithm’s performance in terms of both accuracy and fairness. We illustrate our results using a suite of simulated studies. While our findings do not contradict existing impossibility theorems, they shed light on the reasons behind such failure and offer a path towards a quantitative and principled resolution. Joint work with Marcello Di Bello.