Design pattern used in the Cometeer recommendation engine. Each amplifier is a plain old Ruby object initialized with a coefficient, the candidate product, and any metadata it needs (e.g. current box state). It answers one local question (e.g. 'is the roaster already in the box?', 'is the product already in the box?') and returns a multiplicative factor. Simple amplifiers return 1 or the coefficient; more complex ones can decay by 1/n (e.g. deboost duplicate products proportional to how many times they already appear). ~20–48 amplifiers are composed per requirement; the resulting list of per-amplifier multiplications is stored as an audit trail so each score is traceable to the parameters that drove it.