Market Readiness Model


Description

(Alpha version, for testing purpose only. Please ignore it.)
The Market Readiness Model emphasizes market readiness indicators on top of  all risk functions.

Normalization intervals
unique-licenses [0 5 10 30 60  Infinity]
ratio-no-license [0 5 30 60 80  Infinity]
oss-license [0 2 4 5 6  Infinity]
blocker-issues [0 1 3 5 10  Infinity]
critical-issues [0 5 10 30 50  Infinity]
test-coverage [0 60 75 80 90  100]
test-success [0 90 95 98 99  100]
openhub-one-year-contributor-count [0 2 3 4 6  Infinity]
openhub-activity [0 1 2 3 4  Infinity]
omm2-doc

[0 2 4 8 9  10]

omm2-opn[0 0 4 4 4  4]
omm2-qtp [0 0 1 5 7  7]
omm2-env [0 0 2 4 5  6]
omm2-nfm [0 0 2 4 6  7]
omm2-cfm [0 0 2 3 4  5]
omm2-mgt [0 0 2 4 5  6]
omm2-stk [0 1 2 3 4  4]
mrl-prod [0 1 2 3 4  5]
mrl-fin [0 1 2 3 4  5]
mrl-cust [0 1 2 3 4  5]
mrl-sale [0 1 2 3 4  5]
mrl-reco [0 1 2 3 4  5]
mrl-com [0 1 2 3 4  5]
License Risk Function
function computeLicenseRisk(uniqueLicenses, noLicenseCount, fileCount, omm2Opn) {
  return (
          normalize(uniqueLicenses, "unique-licenses")
        + normalize((noLicenseCount / fileCount)*100, "ratio-no-license")
        + normalize(omm2Opn, "omm2-opn")
        ) / 3;
}
Quality Risk Function
function computeCodeQualityRisk(blockerIssues, criticalIssues,
 testCoverage, testSuccess, omm2Doc, omm2Opn, omm2Qtp,
 omm2Env, omm2Nfm, omm2Cfm) {
     var omm2Avg = (
            normalize(omm2Pdoc,"omm2-pdoc")
          + normalize(omm2Std, "omm2-std")
          + normalize(omm2Qtp,"omm2-qtp")
          + normalize(omm2Env,"omm2-env")
          + normalize(omm2Nfm, "omm2-nfm")
          + normalize(omm2Cfm, "omm2-cfm")) / 6;

     return (
          (normalize(blockerIssues, "blocker-issues")
        + normalize(criticalIssues, "critical-issues")) / 2
        + normalize(testCoverage, "test-coverage", true)
        + normalize(testSuccess, "test-success", true) + omm2Avg ) / 4;
}
Activity Risk Function
function computeActivenessRisk(openHubActivity, openHubContributors,
 omm2Cfm, omm2Mgt, omm2Stk) {
    return (
        normalize(openHubActivity, "openhub-activity", true)
      + normalize(openHubContributors, "openhub-one-year-contributor-count", true)
      + normalize(omm2Cfm,"omm2-cfm")
      + normalize(omm2Mgt,"omm2-mgt")
      + normalize(omm2Stk,"omm2-stk")) / 5;
}
Market Readiness Function
function computeMarketReadiness(mrlProd, mrlFin, mrlCust, mrlSales, mrlReco, mrlCom,
omm2Doc, omm2Opn, omm2Qtp, omm2Env, omm2Nfm, omm2Cfm, omm2Mgt, omm2Stk)
 {
  var omm2Avg = (
            normalize(omm2Doc,"omm2-doc")  + normalize(omm2Opn,"omm2-opn")
          + normalize(omm2Qtp,"omm2-qtp")  + normalize(omm2Env,"omm2-env")
          + normalize(omm2Nfm,"omm2-nfm")  + normalize(omm2Cfm,"omm2-cfm")) / 6;

  return (
 omm2Avg
          + normalize(omm2Mgt,"omm2-mgt") + normalize(omm2Stk,"omm2-stk")
          + normalize(mrlProd,"mrl-prod") + normalize(mrlFin,"mrl-fin")
          + normalize(mrlCust,"mrl-cust") + normalize(mrlSale,"mrl-sale")
          + normalize(mrlReco,"mrl-reco") + normalize(mrlCom,"mrl-com")) / 9;
}