A model snapshot from the ADM datamart can be turned into a scorecard using just a single function call from the pdstools library.

The snapshot contains the (encoded) string retrieved from the pymodeldata field in the ADM model table. This string can be copied from a table browsing function in a database tool, from a dataset export or from scripted database access.

The string below is an example - replace it with the data that you export using one of these methods.

snapshot <- "eJztW1lz2zgSfp9fwVLlYbdKUhEXjzxMl ...... ufYeNc6T30I+5Hs5BK2m7/8HRyIsNw==" 

Then this function call into pdstools creates the scorecard from it.

sc <- pdstools::getScorecardFromSnapshot(snapshot, "Example Snapshot")

It will return a list with 3 (actually 4 but the 4th is not for end users) elements:

element description
scorecard A data.table with a human-readable scorecard
mapping A data.table with the mapping from score to propensity
pmml A PMML scorecard that can be saved and executed

The “Points” in the scorecard give the weight for all the (active) predictors.

Scorecard
Field Value Points
Age
Age MISSING 96.437526
Age <24.12 148.308844
Age [24.12, 29.08> 13.023477
Age [29.08, 35.16> 143.479613
Age [35.16, 37.08> 91.634507
Age [37.08, 39.16> 118.329683
Age [39.16, 43.16> 28.829975
Age [43.16, 46.04> 116.010850
Age [46.04, 49.08> 149.301996
Age [49.08, 54.04> 21.882418
Age [54.04, 56.12> 0.000000
Age ≥56.12 70.818252
CreditHistory
CreditHistory MISSING 26.616712
CreditHistory Paid on time 35.067342
CreditHistory Past arrears 0.000000
CreditHistory Repaid on time 14.056107
CreditHistory Other 26.616712
Devices(1).DeviceModel
Devices(1).DeviceModel MISSING 77.749766
Devices(1).DeviceModel Apple iPad 3 0.000000
Devices(1).DeviceModel Apple iPhone 5 124.445623
Devices(1).DeviceModel HTC One M8 86.046285
Devices(1).DeviceModel Huawei Honor 7 86.046285
Devices(1).DeviceModel Nokia Lumia Icon 109.124669
Devices(1).DeviceModel Samsung Galaxy S5 76.528461
Devices(1).DeviceModel Sony Xperia M4 Aqua 94.643414
Devices(1).DeviceModel Other 50.420464
Devices(1).DeviceType
Devices(1).DeviceType MISSING 52.286727
Devices(1).DeviceType Smart Phone 63.189780
Devices(1).DeviceType Tablet 0.000000
Devices(1).DeviceType Other 52.286727
Income
Income MISSING 76.599514
Income <24470.88 83.423495
Income [24470.88, 29058.4> 153.195279
Income [29058.4, 43476.32> 78.344693
Income [43476.32, 46425.44> 20.955630
Income [46425.44, 49374.56> 153.873446
Income [49374.56, 52651.36> 65.432124
Income [52651.36, 56911.2> 96.918704
Income [56911.2, 62809.44> 20.334361
Income ≥62809.44 0.000000
Param.CLVSegment
Param.CLVSegment MISSING 20.747266
Param.CLVSegment Develop 27.093396
Param.CLVSegment Nurture 0.000000
Param.CLVSegment VIP 5.351073
Param.CLVSegment Other 20.747266
Param.FourG
Param.FourG MISSING 22.694102
Param.FourG false 0.000000
Param.FourG true 19.132586
Param.FourG Other 22.694102
Param.International
Param.International MISSING 16.685086
Param.International false 12.739769
Param.International true 0.000000
Param.International Other 16.685086
Param.OverallUsage
Param.OverallUsage MISSING 67.032221
Param.OverallUsage <0.18 42.560955
Param.OverallUsage [0.18, 0.25> 26.641231
Param.OverallUsage [0.25, 0.315> 96.254264
Param.OverallUsage [0.315, 0.465> 39.476156
Param.OverallUsage [0.465, 0.555> 95.284394
Param.OverallUsage [0.555, 0.595> 0.000000
Param.OverallUsage [0.595, 0.785> 28.361665
Param.OverallUsage [0.785, 0.865> 97.330400
Param.OverallUsage [0.865, 0.96> 46.329616
Param.OverallUsage [0.96, 1.055> 108.893254
Param.OverallUsage ≥1.055 15.955747
Param.Sentiment
Param.Sentiment MISSING 51.152249
Param.Sentiment Negative 44.386295
Param.Sentiment Neutral 67.931121
Param.Sentiment Positive 0.000000
Param.Sentiment Other 51.152249
Param.SubscriptionCount
Param.SubscriptionCount MISSING 54.958616
Param.SubscriptionCount <1.0025 45.647598
Param.SubscriptionCount [1.0025, 2.0025> 56.546142
Param.SubscriptionCount ≥2.0025 0.000000
PaymentHistory
PaymentHistory MISSING 38.183537
PaymentHistory Same day 16.995283
PaymentHistory Same month 0.000000
PaymentHistory Same week 50.015422
PaymentHistory Other 38.183537
Subscriptions(1).SubscriptionType
Subscriptions(1).SubscriptionType MISSING 36.649743
Subscriptions(1).SubscriptionType Data Only 0.000000
Subscriptions(1).SubscriptionType Gold 56.049883
Subscriptions(1).SubscriptionType Platinum 30.874208
Subscriptions(1).SubscriptionType Silver 43.089281
Subscriptions(1).SubscriptionType Other 124.263290

The sum of all the weights (points) gives a score which is then mapped to a propensity according to the score distribution of the model. Note that the scores are mapped so the score range is 0..1000 instead of the raw values used in the model plots in Pega.

Mapping to Propensities
Score Range Propensity
<-846.327577951935 0.1500000
[-846.327577951935, 183.291169358266> 0.1619718
[183.291169358266, 422.887984770074> 0.2051406
[422.887984770074, 442.314753587248> 0.2587940
[442.314753587248, 520.021828855942> 0.2823303
[520.021828855942, 526.497418461667> 0.3196721
[526.497418461667, 532.973008067392> 0.3309859
[532.973008067392, 539.448597673116> 0.3813559
[539.448597673116, 545.924187278841> 0.5431034
[545.924187278841, 552.399776884565> 0.6145833
[552.399776884565, 610.680083336086> 0.6274272
[610.680083336086, 720.765106633403> 0.6467611
[720.765106633403, 727.240696239128> 0.6458333
[727.240696239128, 740.191875450577> 0.7812500
[740.191875450577, 759.618644267751> 0.8170732
[759.618644267751, 785.521002690649> 0.9150943
[785.521002690649, 817.898950719271> 0.9793388
[817.898950719271, 876.179257170792> 0.9827586
[876.179257170792, 915.032794805139> 0.9825581
[915.032794805139, 3777.24340053539> 0.9858491
≥3777.24340053539 0.9791667

Next to these two elements, there also is a PMML representation of an executable scorecard. This can be saved into a file and executed in Pega (or in any other platform that supports PMML).

write(sc$pmml, "scorecard.xml")

This is how that PMML file looks. There is a <Scorecard> element that includes the score to propensity mapping as an output transformation. The raw scores are transformed to the 0..1000 range using a linear normalization transformation.

In addition to the propensity, the scorecard also outputs the raw score, the rescaled score, and the evidence and performance of the model (which are constant values for a snapshotted model). In addition three explantion fields are returned that can be used to give the reason codes when scoring the model.

<PMML xmlns="http://www.dmg.org/PMML-4_1" version="4.1">
 <Header description="ADM Model export for Example Snapshot">
  <Application name="adm2pmml" version="1.1"/>
  <Timestamp>Fri Sep 22 15:17:15 2023</Timestamp>
 </Header>
 <DataDictionary>
  <DataField name="Propensity" dataType="double" optype="continuous"/>
  <DataField name="Normalized Score" dataType="double" optype="continuous"/>
  <DataField name="Raw Score" dataType="double" optype="continuous"/>
  <DataField name="Evidence" dataType="integer" optype="continuous"/>
  <DataField name="Performance" dataType="double" optype="continuous"/>
  <DataField name="Model ID" dataType="string" optype="categorical"/>
  <DataField name="Explain-1" dataType="string" optype="categorical"/>
  <DataField name="Explain-2" dataType="string" optype="categorical"/>
  <DataField name="Explain-3" dataType="string" optype="categorical"/>
  <DataField name="Age" dataType="double" optype="continuous"/>
  <DataField name="CreditHistory" dataType="string" optype="categorical"/>
  <DataField name="Devices(1).DeviceModel" dataType="string" optype="categorical"/>
  <DataField name="Devices(1).DeviceType" dataType="string" optype="categorical"/>
  <DataField name="Income" dataType="double" optype="continuous"/>
  <DataField name="Param.CLVSegment" dataType="string" optype="categorical"/>
  <DataField name="Param.FourG" dataType="string" optype="categorical"/>
  <DataField name="Param.International" dataType="string" optype="categorical"/>
  <DataField name="Param.OverallUsage" dataType="double" optype="continuous"/>
  <DataField name="Param.Sentiment" dataType="string" optype="categorical"/>
  <DataField name="Param.SubscriptionCount" dataType="double" optype="continuous"/>
  <DataField name="PaymentHistory" dataType="string" optype="categorical"/>
  <DataField name="Subscriptions(1).SubscriptionType" dataType="string" optype="categorical"/>
 </DataDictionary>
 <Scorecard modelName="Example Snapshot" functionName="regression" algorithmName="PEGA Adaptive Decisioning" useReasonCodes="true" reasonCodeAlgorithm="pointsAbove" baselineMethod="min" initialScore="0">
  <MiningSchema>
   <MiningField name="Age" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="CreditHistory" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Devices(1).DeviceModel" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Devices(1).DeviceType" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Income" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Param.CLVSegment" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Param.FourG" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Param.International" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Param.OverallUsage" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Param.Sentiment" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Param.SubscriptionCount" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="PaymentHistory" usageType="active" invalidValueTreatment="asIs"/>
   <MiningField name="Subscriptions(1).SubscriptionType" usageType="active" invalidValueTreatment="asIs"/>
  </MiningSchema>
  <Output>
   <OutputField name="Normalized Score" feature="predictedValue" dataType="double" optype="continuous"/>
   <OutputField name="Propensity" feature="transformedValue" dataType="double" optype="continuous">
    <Discretize field="Normalized Score">
     <DiscretizeBin binValue="0.15">
      <Interval closure="openOpen" rightMargin="-846.327577951935"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.161971830985915">
      <Interval closure="closedOpen" leftMargin="-846.327577951935" rightMargin="183.291169358266"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.205140640155189">
      <Interval closure="closedOpen" leftMargin="183.291169358266" rightMargin="422.887984770074"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.258793969849246">
      <Interval closure="closedOpen" leftMargin="422.887984770074" rightMargin="442.314753587248"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.282330345710627">
      <Interval closure="closedOpen" leftMargin="442.314753587248" rightMargin="520.021828855942"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.319672131147541">
      <Interval closure="closedOpen" leftMargin="520.021828855942" rightMargin="526.497418461667"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.330985915492958">
      <Interval closure="closedOpen" leftMargin="526.497418461667" rightMargin="532.973008067392"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.38135593220339">
      <Interval closure="closedOpen" leftMargin="532.973008067392" rightMargin="539.448597673116"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.543103448275862">
      <Interval closure="closedOpen" leftMargin="539.448597673116" rightMargin="545.924187278841"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.614583333333333">
      <Interval closure="closedOpen" leftMargin="545.924187278841" rightMargin="552.399776884565"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.627427184466019">
      <Interval closure="closedOpen" leftMargin="552.399776884565" rightMargin="610.680083336086"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.646761133603239">
      <Interval closure="closedOpen" leftMargin="610.680083336086" rightMargin="720.765106633403"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.645833333333333">
      <Interval closure="closedOpen" leftMargin="720.765106633403" rightMargin="727.240696239128"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.78125">
      <Interval closure="closedOpen" leftMargin="727.240696239128" rightMargin="740.191875450577"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.817073170731707">
      <Interval closure="closedOpen" leftMargin="740.191875450577" rightMargin="759.618644267751"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.915094339622642">
      <Interval closure="closedOpen" leftMargin="759.618644267751" rightMargin="785.521002690649"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.979338842975207">
      <Interval closure="closedOpen" leftMargin="785.521002690649" rightMargin="817.898950719271"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.982758620689655">
      <Interval closure="closedOpen" leftMargin="817.898950719271" rightMargin="876.179257170792"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.982558139534884">
      <Interval closure="closedOpen" leftMargin="876.179257170792" rightMargin="915.032794805139"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.985849056603774">
      <Interval closure="closedOpen" leftMargin="915.032794805139" rightMargin="3777.24340053539"/>
     </DiscretizeBin>
     <DiscretizeBin binValue="0.979166666666667">
      <Interval closure="closedOpen" leftMargin="3777.24340053539"/>
     </DiscretizeBin>
    </Discretize>
   </OutputField>
   <OutputField name="Raw Score" feature="transformedValue" dataType="double" optype="continuous">
    <NormContinuous field="Normalized Score">
     <LinearNorm orig="0" norm="-0.843049390894435"/>
     <LinearNorm orig="1000" norm="0.701211534961616"/>
    </NormContinuous>
   </OutputField>
   <OutputField name="Evidence" feature="transformedValue" dataType="integer" optype="continuous">
    <Constant>3922</Constant>
   </OutputField>
   <OutputField name="Performance" feature="transformedValue" dataType="double" optype="continuous">
    <Constant>0.79615356519048</Constant>
   </OutputField>
   <OutputField name="Model ID" feature="transformedValue" dataType="string" optype="categorical">
    <Constant>pychannel_Call Center_pydirection_Inbound_pygroup_Tablets_pyissue_Sales_pyname_Apple iPad Pro</Constant>
   </OutputField>
   <OutputField name="Explain-1" feature="reasonCode" rank="1"/>
   <OutputField name="Explain-2" feature="reasonCode" rank="2"/>
   <OutputField name="Explain-3" feature="reasonCode" rank="3"/>
  </Output>
  <ModelExplanation>
   <PredictiveModelQuality targetField="Classifier" dataUsage="training" numOfRecords="3922">
    <LiftData rankingQuality="0.59230713038096" targetFieldValue="Positive">
     <ModelLiftGraph>
      <LiftGraph>
       <XCoordinates>
        <Array type="int">9 79 1109 1307 2087 2147 2217 2275 2332 2379 2790 3283 3306 3353 3393 3445 3565 3709 3794 3899 3922</Array>
       </XCoordinates>
       <YCoordinates>
        <Array type="int">1 11 211 51 220 19 23 22 31 29 258 319 15 37 33 48 118 142 84 104 23</Array>
       </YCoordinates>
      </LiftGraph>
     </ModelLiftGraph>
    </LiftData>
    <ROC positiveTargetFieldValue="Positive">
     <ROCGraph>
      <XCoordinates>
       <Array type="int">1 0.996231747527084 0.968440885539331 0.582666038624588 0.513424399434762 0.249646726330664 0.230334432406971 0.208195949128592 0.191238813000471 0.178991992463495 0.170513424399435 0.0984455958549223 0.0164861045690061 0.0127178520960904 0.00800753650494583 0.00471031559114461 0.00282618935468676 0.00188412623645784 0.000942063118228921 0.000471031559114461 0</Array>
      </XCoordinates>
      <YCoordinates>
       <Array type="int">1 0.999444135630906 0.993329627570873 0.876042245692051 0.84769316286826 0.725403001667593 0.714841578654808 0.702056698165648 0.689827682045581 0.672595886603669 0.656475819899944 0.513062812673708 0.33574207893274 0.327404113396331 0.306837131739855 0.288493607559755 0.261812117843246 0.196220122290161 0.117287381878822 0.0705947748749305 0.0127848804891606</Array>
      </YCoordinates>
     </ROCGraph>
    </ROC>
   </PredictiveModelQuality>
  </ModelExplanation>
  <Characteristics>
   <Characteristic name="Age___score" reasonCode="Age" baselineScore="0">
    <Attribute partialScore="96.4375260487076" reasonCode="Age|Missing|score=96|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="148.308844091508" reasonCode="Age|&lt;24.1|score=148|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="24.12"/>
    </Attribute>
    <Attribute partialScore="13.0234770081693" reasonCode="Age|&lt;29.1|score=13|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="29.08"/>
    </Attribute>
    <Attribute partialScore="143.479613194141" reasonCode="Age|&lt;35.2|score=143|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="35.16"/>
    </Attribute>
    <Attribute partialScore="91.6345071010996" reasonCode="Age|&lt;37.1|score=92|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="37.08"/>
    </Attribute>
    <Attribute partialScore="118.329682710395" reasonCode="Age|&lt;39.2|score=118|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="39.16"/>
    </Attribute>
    <Attribute partialScore="28.8299751392086" reasonCode="Age|&lt;43.2|score=29|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="43.16"/>
    </Attribute>
    <Attribute partialScore="116.010849508305" reasonCode="Age|&lt;46|score=116|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="46.04"/>
    </Attribute>
    <Attribute partialScore="149.301995534391" reasonCode="Age|&lt;49.1|score=149|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="49.08"/>
    </Attribute>
    <Attribute partialScore="21.8824180050011" reasonCode="Age|&lt;54|score=22|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="54.04"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Age|&lt;56.1|score=0|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="lessThan" value="56.12"/>
    </Attribute>
    <Attribute partialScore="70.8182515576495" reasonCode="Age|&gt;=56.1|score=71|min=0|avg=85|max=149">
     <SimplePredicate field="Age" operator="greaterOrEqual" value="56.12"/>
    </Attribute>
   </Characteristic>
   <Characteristic name="CreditHistory___score" reasonCode="CreditHistory" baselineScore="0">
    <Attribute partialScore="26.6167114705942" reasonCode="CreditHistory|Missing|score=27|min=0|avg=19|max=35">
     <SimplePredicate field="CreditHistory" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="35.0673420351103" reasonCode="CreditHistory|Paid on time|score=35|min=0|avg=19|max=35">
     <SimplePredicate field="CreditHistory" operator="equal" value="Paid on time"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="CreditHistory|Past arrears|score=0|min=0|avg=19|max=35">
     <SimplePredicate field="CreditHistory" operator="equal" value="Past arrears"/>
    </Attribute>
    <Attribute partialScore="14.0561067508589" reasonCode="CreditHistory|Repaid on time|score=14|min=0|avg=19|max=35">
     <SimplePredicate field="CreditHistory" operator="equal" value="Repaid on time"/>
    </Attribute>
    <Attribute partialScore="26.6167114705942" reasonCode="CreditHistory|Remaining Symbols|score=27|min=0|avg=19|max=35">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Devices(1).DeviceModel___score" reasonCode="Devices(1).DeviceModel" baselineScore="0">
    <Attribute partialScore="77.7497655929801" reasonCode="Devices(1).DeviceModel|Missing|score=78|min=0|avg=72|max=124">
     <SimplePredicate field="Devices(1).DeviceModel" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Devices(1).DeviceModel|Apple iPad 3|score=0|min=0|avg=72|max=124">
     <SimplePredicate field="Devices(1).DeviceModel" operator="equal" value="Apple iPad 3"/>
    </Attribute>
    <Attribute partialScore="124.445622697435" reasonCode="Devices(1).DeviceModel|Apple iPhone 5|score=124|min=0|avg=72|max=124">
     <SimplePredicate field="Devices(1).DeviceModel" operator="equal" value="Apple iPhone 5"/>
    </Attribute>
    <Attribute partialScore="86.0462854050385" reasonCode="Devices(1).DeviceModel|HTC One M8 Huawei Honor 7|score=86|min=0|avg=72|max=124">
     <SimpleSetPredicate field="Devices(1).DeviceModel" booleanOperator="isIn">
      <Array type="string">&quot;HTC One M8&quot; &quot;Huawei Honor 7&quot;</Array>
     </SimpleSetPredicate>
    </Attribute>
    <Attribute partialScore="109.124668597584" reasonCode="Devices(1).DeviceModel|Nokia Lumia Icon|score=109|min=0|avg=72|max=124">
     <SimplePredicate field="Devices(1).DeviceModel" operator="equal" value="Nokia Lumia Icon"/>
    </Attribute>
    <Attribute partialScore="76.5284613360182" reasonCode="Devices(1).DeviceModel|Samsung Galaxy S5|score=77|min=0|avg=72|max=124">
     <SimplePredicate field="Devices(1).DeviceModel" operator="equal" value="Samsung Galaxy S5"/>
    </Attribute>
    <Attribute partialScore="94.6434143572362" reasonCode="Devices(1).DeviceModel|Sony Xperia M4 Aqua|score=95|min=0|avg=72|max=124">
     <SimplePredicate field="Devices(1).DeviceModel" operator="equal" value="Sony Xperia M4 Aqua"/>
    </Attribute>
    <Attribute partialScore="50.4204637927994" reasonCode="Devices(1).DeviceModel|Remaining Symbols|score=50|min=0|avg=72|max=124">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Devices(1).DeviceType___score" reasonCode="Devices(1).DeviceType" baselineScore="0">
    <Attribute partialScore="52.2867273710315" reasonCode="Devices(1).DeviceType|Missing|score=52|min=0|avg=43|max=63">
     <SimplePredicate field="Devices(1).DeviceType" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="63.1897801411752" reasonCode="Devices(1).DeviceType|Smart Phone|score=63|min=0|avg=43|max=63">
     <SimplePredicate field="Devices(1).DeviceType" operator="equal" value="Smart Phone"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Devices(1).DeviceType|Tablet|score=0|min=0|avg=43|max=63">
     <SimplePredicate field="Devices(1).DeviceType" operator="equal" value="Tablet"/>
    </Attribute>
    <Attribute partialScore="52.2867273710315" reasonCode="Devices(1).DeviceType|Remaining Symbols|score=52|min=0|avg=43|max=63">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Income___score" reasonCode="Income" baselineScore="0">
    <Attribute partialScore="76.5995143163437" reasonCode="Income|Missing|score=77|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="83.4234948582504" reasonCode="Income|&lt;24470.9|score=83|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="24470.88"/>
    </Attribute>
    <Attribute partialScore="153.195278914682" reasonCode="Income|&lt;29058.4|score=153|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="29058.4"/>
    </Attribute>
    <Attribute partialScore="78.3446929175841" reasonCode="Income|&lt;43476.3|score=78|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="43476.32"/>
    </Attribute>
    <Attribute partialScore="20.9556304366338" reasonCode="Income|&lt;46425.4|score=21|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="46425.44"/>
    </Attribute>
    <Attribute partialScore="153.873446293297" reasonCode="Income|&lt;49374.6|score=154|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="49374.56"/>
    </Attribute>
    <Attribute partialScore="65.4321244056093" reasonCode="Income|&lt;52651.4|score=65|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="52651.36"/>
    </Attribute>
    <Attribute partialScore="96.9187043584835" reasonCode="Income|&lt;56911.2|score=97|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="56911.2"/>
    </Attribute>
    <Attribute partialScore="20.3343614889223" reasonCode="Income|&lt;62809.4|score=20|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="lessThan" value="62809.44"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Income|&gt;=62809.4|score=0|min=0|avg=68|max=154">
     <SimplePredicate field="Income" operator="greaterOrEqual" value="62809.44"/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Param.CLVSegment___score" reasonCode="Param.CLVSegment" baselineScore="0">
    <Attribute partialScore="20.7472661579346" reasonCode="Param.CLVSegment|Missing|score=21|min=0|avg=13|max=27">
     <SimplePredicate field="Param.CLVSegment" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="27.0933958462666" reasonCode="Param.CLVSegment|Develop|score=27|min=0|avg=13|max=27">
     <SimplePredicate field="Param.CLVSegment" operator="equal" value="Develop"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Param.CLVSegment|Nurture|score=0|min=0|avg=13|max=27">
     <SimplePredicate field="Param.CLVSegment" operator="equal" value="Nurture"/>
    </Attribute>
    <Attribute partialScore="5.35107331015385" reasonCode="Param.CLVSegment|VIP|score=5|min=0|avg=13|max=27">
     <SimplePredicate field="Param.CLVSegment" operator="equal" value="VIP"/>
    </Attribute>
    <Attribute partialScore="20.7472661579346" reasonCode="Param.CLVSegment|Remaining Symbols|score=21|min=0|avg=13|max=27">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Param.FourG___score" reasonCode="Param.FourG" baselineScore="0">
    <Attribute partialScore="22.6941016911203" reasonCode="Param.FourG|Missing|score=23|min=0|avg=15|max=23">
     <SimplePredicate field="Param.FourG" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Param.FourG|false|score=0|min=0|avg=15|max=23">
     <SimplePredicate field="Param.FourG" operator="equal" value="false"/>
    </Attribute>
    <Attribute partialScore="19.1325864111918" reasonCode="Param.FourG|true|score=19|min=0|avg=15|max=23">
     <SimplePredicate field="Param.FourG" operator="equal" value="true"/>
    </Attribute>
    <Attribute partialScore="22.6941016911203" reasonCode="Param.FourG|Remaining Symbols|score=23|min=0|avg=15|max=23">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Param.International___score" reasonCode="Param.International" baselineScore="0">
    <Attribute partialScore="16.68508599479" reasonCode="Param.International|Missing|score=17|min=0|avg=9|max=17">
     <SimplePredicate field="Param.International" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="12.7397685457491" reasonCode="Param.International|false|score=13|min=0|avg=9|max=17">
     <SimplePredicate field="Param.International" operator="equal" value="false"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Param.International|true|score=0|min=0|avg=9|max=17">
     <SimplePredicate field="Param.International" operator="equal" value="true"/>
    </Attribute>
    <Attribute partialScore="16.68508599479" reasonCode="Param.International|Remaining Symbols|score=17|min=0|avg=9|max=17">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Param.OverallUsage___score" reasonCode="Param.OverallUsage" baselineScore="0">
    <Attribute partialScore="67.0322213433807" reasonCode="Param.OverallUsage|Missing|score=67|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="42.5609546212072" reasonCode="Param.OverallUsage|&lt;0.2|score=43|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.18"/>
    </Attribute>
    <Attribute partialScore="26.6412308326057" reasonCode="Param.OverallUsage|&lt;0.3|score=27|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.25"/>
    </Attribute>
    <Attribute partialScore="96.2542641931648" reasonCode="Param.OverallUsage|&lt;0.3|score=96|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.315"/>
    </Attribute>
    <Attribute partialScore="39.4761560970849" reasonCode="Param.OverallUsage|&lt;0.5|score=39|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.465"/>
    </Attribute>
    <Attribute partialScore="95.2843939702075" reasonCode="Param.OverallUsage|&lt;0.6|score=95|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.555"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Param.OverallUsage|&lt;0.6|score=0|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.595"/>
    </Attribute>
    <Attribute partialScore="28.361665137313" reasonCode="Param.OverallUsage|&lt;0.8|score=28|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.785"/>
    </Attribute>
    <Attribute partialScore="97.3303999087408" reasonCode="Param.OverallUsage|&lt;0.9|score=97|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.865"/>
    </Attribute>
    <Attribute partialScore="46.3296157964835" reasonCode="Param.OverallUsage|&lt;1|score=46|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="0.96"/>
    </Attribute>
    <Attribute partialScore="108.893254293129" reasonCode="Param.OverallUsage|&lt;1.1|score=109|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="lessThan" value="1.055"/>
    </Attribute>
    <Attribute partialScore="15.95574724619" reasonCode="Param.OverallUsage|&gt;=1.1|score=16|min=0|avg=59|max=109">
     <SimplePredicate field="Param.OverallUsage" operator="greaterOrEqual" value="1.055"/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Param.Sentiment___score" reasonCode="Param.Sentiment" baselineScore="0">
    <Attribute partialScore="51.1522491218495" reasonCode="Param.Sentiment|Missing|score=51|min=0|avg=43|max=68">
     <SimplePredicate field="Param.Sentiment" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="44.3862949080378" reasonCode="Param.Sentiment|Negative|score=44|min=0|avg=43|max=68">
     <SimplePredicate field="Param.Sentiment" operator="equal" value="Negative"/>
    </Attribute>
    <Attribute partialScore="67.9311208685448" reasonCode="Param.Sentiment|Neutral|score=68|min=0|avg=43|max=68">
     <SimplePredicate field="Param.Sentiment" operator="equal" value="Neutral"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Param.Sentiment|Positive|score=0|min=0|avg=43|max=68">
     <SimplePredicate field="Param.Sentiment" operator="equal" value="Positive"/>
    </Attribute>
    <Attribute partialScore="51.1522491218495" reasonCode="Param.Sentiment|Remaining Symbols|score=51|min=0|avg=43|max=68">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Param.SubscriptionCount___score" reasonCode="Param.SubscriptionCount" baselineScore="0">
    <Attribute partialScore="54.958615685671" reasonCode="Param.SubscriptionCount|Missing|score=55|min=0|avg=47|max=57">
     <SimplePredicate field="Param.SubscriptionCount" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="45.6475981448893" reasonCode="Param.SubscriptionCount|&lt;1|score=46|min=0|avg=47|max=57">
     <SimplePredicate field="Param.SubscriptionCount" operator="lessThan" value="1.0025"/>
    </Attribute>
    <Attribute partialScore="56.5461419676674" reasonCode="Param.SubscriptionCount|&lt;2|score=57|min=0|avg=47|max=57">
     <SimplePredicate field="Param.SubscriptionCount" operator="lessThan" value="2.0025"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Param.SubscriptionCount|&gt;=2|score=0|min=0|avg=47|max=57">
     <SimplePredicate field="Param.SubscriptionCount" operator="greaterOrEqual" value="2.0025"/>
    </Attribute>
   </Characteristic>
   <Characteristic name="PaymentHistory___score" reasonCode="PaymentHistory" baselineScore="0">
    <Attribute partialScore="38.1835370957457" reasonCode="PaymentHistory|Missing|score=38|min=0|avg=30|max=50">
     <SimplePredicate field="PaymentHistory" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="16.995282852412" reasonCode="PaymentHistory|Same day|score=17|min=0|avg=30|max=50">
     <SimplePredicate field="PaymentHistory" operator="equal" value="Same day"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="PaymentHistory|Same month|score=0|min=0|avg=30|max=50">
     <SimplePredicate field="PaymentHistory" operator="equal" value="Same month"/>
    </Attribute>
    <Attribute partialScore="50.0154224744931" reasonCode="PaymentHistory|Same week|score=50|min=0|avg=30|max=50">
     <SimplePredicate field="PaymentHistory" operator="equal" value="Same week"/>
    </Attribute>
    <Attribute partialScore="38.1835370957457" reasonCode="PaymentHistory|Remaining Symbols|score=38|min=0|avg=30|max=50">
     <True/>
    </Attribute>
   </Characteristic>
   <Characteristic name="Subscriptions(1).SubscriptionType___score" reasonCode="Subscriptions(1).SubscriptionType" baselineScore="0">
    <Attribute partialScore="36.6497434517809" reasonCode="Subscriptions(1).SubscriptionType|Missing|score=37|min=0|avg=29|max=124">
     <SimplePredicate field="Subscriptions(1).SubscriptionType" operator="isMissing"/>
    </Attribute>
    <Attribute partialScore="0" reasonCode="Subscriptions(1).SubscriptionType|Data Only|score=0|min=0|avg=29|max=124">
     <SimplePredicate field="Subscriptions(1).SubscriptionType" operator="equal" value="Data Only"/>
    </Attribute>
    <Attribute partialScore="56.0498831256715" reasonCode="Subscriptions(1).SubscriptionType|Gold|score=56|min=0|avg=29|max=124">
     <SimplePredicate field="Subscriptions(1).SubscriptionType" operator="equal" value="Gold"/>
    </Attribute>
    <Attribute partialScore="30.8742081334001" reasonCode="Subscriptions(1).SubscriptionType|Platinum|score=31|min=0|avg=29|max=124">
     <SimplePredicate field="Subscriptions(1).SubscriptionType" operator="equal" value="Platinum"/>
    </Attribute>
    <Attribute partialScore="43.0892812621927" reasonCode="Subscriptions(1).SubscriptionType|Silver|score=43|min=0|avg=29|max=124">
     <SimplePredicate field="Subscriptions(1).SubscriptionType" operator="equal" value="Silver"/>
    </Attribute>
    <Attribute partialScore="124.26329016258" reasonCode="Subscriptions(1).SubscriptionType|Remaining Symbols|score=124|min=0|avg=29|max=124">
     <True/>
    </Attribute>
   </Characteristic>
  </Characteristics>
 </Scorecard>
</PMML>