I have a set of independent software development metrics such as: Deployment Interval (Range: 1yr to 1sec), Feature Cycle Time (Range: 3 mon to 1 day), Number of Features Released (Range: 0 to 100's). Opposing ends of these ranges represent low value at one end and higher value at the other. I'm trying to find an (likely multi-step) algorithm to combine these into a composite value between 0.000 and 1.000. I envision both linear and exponential transformation methods. Are there data transform libraries that can normalize differing data values, over differing range, using differing units of measure?