A price moved. Attribution asks how much of that move is accounted for by identifiable drivers, and how much is left over. It is one of the more useful things a desk can do with a statistical model, because the output is a sentence rather than a coefficient: this much was the dollar, this much was the equity market, this much was not explained.
The mechanics are a regression of the target's changes on the drivers' changes, with the fitted contribution of each driver reported for the current period. Because the regression is in changes and not levels, it avoids the spurious regression problem, which is not optional here: an attribution built on a levels fit would confidently attribute a move to a driver with no relationship to it.
The residual is the interesting part and it should be reported, not hidden. It is the share of the move the named drivers do not explain, and in oil it is frequently the largest single component, because the drivers that are freely observable are macro and the things that actually move crude are often physical and unobservable. A large residual is an honest statement that something happened which this model cannot see.
Attribution is also where the reliability floor matters most concretely. A move attributed partly to an official statistic and partly to a settlement price inherits the weaker of those two tiers, because the composite claim can be no better observed than its worst leg. A regression across instruments must not borrow the authority of a settlement just because one of its inputs was one. See composite provenance.