# SUM_PRODUCT

`SUM_PRODUCT`

takes two lists, multiplies the values in one list with values that are on the same index in the other list. It then adds up those multiplications, resulting in a single new value.If the two lists within the brackets are of different size,

`SUM_PRODUCT`

will operate on all values with the same index and ignore all the values of the larger list that exceed the largest index of the smaller list.In this examples two lists of three values each are used.

SUM_PRODUCT([1, 2, 3], [10, 20, 30])

The calculation SUM_PRODUCT performs is

`1*10 + 2*20 + 3*30`

and would return `140`

.SUM_PRODUCT([1, 2, 3, 999], [10, 20, 30])

In this example, the first list has four elements while the second list has only three elements. The extra element

`999`

of the first list will therefore be ignored and, just as in the example before, `140`

will be returned as result. Say the overall risk factor of a client is a number calculated from five individual risk factor numbers. Each individual risk factor is given a certain weight in the overall calculation, depending on how impactful we think that factor is.

Risk Factors | Weight |

risk_factor_1 | 4 |

risk_factor_2 | 2 |

risk_factor_3 | 5 |

risk_factor_4 | 1 |

risk_factor_5 | 3 |

To calculate the overall risk score using

`SUM_PRODUCT`

, each individual risk factor score will be multiplied by its weight. The results are then summed up and returned as a single value.p is Person

SUM_PRODUCT(

[

p.risk_factor_1,

p.risk_factor_2,

p.risk_factor_3,

p.risk_factor_4,

p.risk_factor_5

],

[4, 2, 5, 1, 3]

)

For the table above, if we assume a

`Person p`

has a set of `risk_factors`

with the following corresponding values 3, 6, 2, 8, and 5, the returned result would be 57.

Last modified 1yr ago