runTiersProjection = ({
agents,
nbOfCustomers,
price: [p1,p2,p3,p4],
pricingTiers,
conversionRate: [cr1,cr2,cr3,cr4]
}) => R.map(([bp1,bp2,bp3]) => {
const cpp = computePopulationPercentage(agents)
return {
Pricing_Strategy: `${bp1}/${bp2}/${bp3}`,
Total_Revenue: num((
cpp(0, bp1) * cr1 * p1 +
cpp(bp1+1, bp2) * cr2 * p2 +
cpp(bp2+1, bp3) * cr3 * p3 +
cpp(bp3+1) * cr4 * p4
) * nbOfCustomers).format('$0,0'),
Tier1: num(cpp(0, bp1)).format('0.0%'),
Tier1_$: num(cpp(0, bp1) * nbOfCustomers * cr1 * p1).format('$0,0'),
Tier2: num(cpp(bp1+1, bp2)).format('0.0%'),
Tier2_$: num(cpp(bp1+1, bp2) * nbOfCustomers * cr2 * p2).format('$0,0'),
Tier3: num(cpp(bp2+1, bp3)).format('0.0%'),
Tier3_$: num(cpp(bp2+1, bp3) * nbOfCustomers * cr3 * p3).format('$0,0'),
Tier4: num(cpp(bp3+1)).format('0.0%'),
Tier4_$: num(cpp(bp3+1) * nbOfCustomers * cr4 * p4).format('$0,0')
}
})(pricingTiers)