Russian Plekhanov University of Economics Customer-telecommunications company’s relationship simulation model (RSM), based on non-monotonic business rules approach and formal concept analysis method.Victor RomanovRoman VeynbergAlinaPoluektova
ContentsThe problem actuality1BRMS review2EDM-conception and business rules application technology for decision making34Business rules theory5FCA for  rules miningBusiness rules application at telecommunication sector6
Why business rules?Dynamic competition economyIn big and medium business a lot of documents contain business rules. EDM new conception propose  extract business rule as different component, This makes possible more easy update themIt is difficult to find and change them
Businessstatic void processLoanRequest(Borrower borrower, Loan loan) {  System.out.println("Processing request from " + borrower.getName());    // Approve or reject the loan  checkLoanConditions(borrower, loan);    // Display the verdict  if (loan.isApproved()) {   System.out.println("==> Loan is approved :-)");  } else {   System.out.println("==> Loan is rejected :-(");   for (Object msg : loan.getMessages()) {    System.out.println("==> Because " + msg);   }  } }  /**  * Check conditions on the borrower and the loan using hard-coded policies  */ static void checkLoanConditions(Borrower borrower, Loan loan) {  // Check maximum amount  if (loan.getAmount() > 1000000) {   loan.addToMessages("The loan cannot exceed 1,000,000");         loan.reject();  }  // Check repayment and score  if (borrower.getYearlyIncome() > 0){   int val = loan.getYearlyRepayment() * 100 / borrower.getYearlyIncome();   if ((val>=0) && (val<30) && (borrower.getCreditScore()>=0) && (borrower.getCreditScore()<200)) {     loan.addToMessages("debt-to-income too high compared to credit score");           loan.reject();   }   if ((val>=30) && (val<45) && (borrower.getCreditScore()>=0) && (borrower.getCreditScore()<400)) {    loan.addToMessages("debt-to-income too high compared to credit score");          loan.reject();   }   if ((val>=45) && (val<50) && (borrower.getCreditScore()>=0) && (borrower.getCreditScore()<600)) {     loan.addToMessages("debt-to-income too high compared to credit score");           loan.reject();   }   if ((val>=50) && (borrower.getCreditScore()>=0) && (loan.getAmount() >Business LogicApplications codesITWhat business rule isBusiness rule is the assertion at the natural or formallanguage,which for each state of business systemdefines permissible decisions  on business control
The main BRMS vendors :                         IBM ILogJrules                         FICO Blaze AdvisorCorticon BRMS                          Innovations Software Technology Visual RulesThe Forrester Wave™ за второй квартал 2008 г.
Business rules management systemThe sources where rules originated fromDocumentsApplicationsThe rules are stored and updatedThe rules are extracted and executedThe rules are insertedPersonellProcessesBusiness Rule Management SystemUser ApplicationsRules+MetadataRules repositoryRules Server
BRMSApplications Domains
Corticon Technologies:Corticon BRMSRules ModelingServerRules Execution ServerData Base ConnectorSoftware Environment
IBM’s ILogJRulesBusiness rule developmentBusiness Rule managementRule projectObject ModelWeb applicationRule  parametersVocabularySynchronizebusiness rule, decision tablesRule repositorySynchronizeFlow ruleDeployDeployDeployDecision Validation ServicesDecision Validation ServicesApplicationrepositoryApplicationrepositoryApplicationrepositoryArchitectureILogJRules
Component of ILogJRulesRule StudioRule Team ServerRule Execution ServerRule Solutions for Office
Innovation Technologies: Visual RulesModelingAnalysisMonitoringDocumentationExecutionTest and SimulationAdministrationDeployment
FICO: Blaze AdvisorProduction Rule RepositoryDeployment ManagerCustomers ApplicationTesting Rule RepositoryApplication ServerRule Development RepositoryBusiness Rule AuthoringRule DevelopmentArchitecture of Blaze Advisor
Business rules application for business system decision making11 Business rule based data analysis for decision support and automationhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.928&rep=rep1&type=pdf
The business rules formal definitionAt the theory level of first level logic (FOL) business rules    have statement view  IF-THEN and expresses logical consequence or implication. IF p, THEN q,whereq –  assertion named as  consequent,  describing decision which are offering in this conditions.p  is a assertion, named as   antecedent, which is describing  state of business conditionsIF(conditions), then(the list of actions),else(alternate list of actons).
Business rules development and management
Formal Concept AnalysisFormal context K:=(G,M,I) consists of sets G,M and a binary relation I ⊆ G ×M.M –attribute set, G –objects sets (g,m) ∈ I - object g has attribute mLet us define the mapping:ϕ:       -> и ψ: -> ϕ(A)=def {m ∈ M | gIm ∀g ∈ A}, ψ(B)= def {g ∈ G | gIm ∀m ∈ B}, A ⊆ G, B ⊆ M.If A ⊆ G, B ⊆ M, then(A,B)- formal concept of context K, if  ϕ(A) = B, ψ(B) = A
Formal Concept Analysis (FCA)Subconcept - superconcept relationship:A1,A2 ⊆ G, B1,B2 ⊆ M:1. (A1,B1) (A2,B2) (A1 ⊆ A2) (B2 ⊆ B1)2. (A1,B1) – subconcept,3. (A2,B2) –superconcept, A1,A2 –  intentB1,B2 - extentThe relationships above define concepts lattice
FormalConceptAnalysisFCA may be used for visualization telecommunication company’s customer groups, that make possible for management assign to these groups corresponding set of discount options. Besides  selecting the group of customers FCA method provide possibility by mean data mining approach extract new rules from customer database.The clients may be considered as an objects and their personal data, realty employment positions may be regarded as attributes.According to these data subsets of groups  and their attributes may be selected as a concepts with common features.
CUSTOMER’S ATRIBUTES
Formal context “customers” Context part 1Context part 2 (continuation)
    Concept lattice “customers”
      The rules discovered The rules discovered by FCA look like this: different kind of if customers satisfy different conditions and for them different marketing actions are effective:< 1 > age_25 gender_male head sms \mms Loc_callGprsCons_mid ==> Inc_m Act1_eff;      IF age <= 25 AND gender_male  = true AND  head = true AND sms\mms = true AND Loc_call = true AND Gprs= true AND Cons_mid= true THEN Act1_eff; < 2 > age_25 single Loc_callCons_mid ==> Act2_eff;        IF age<=25 AND single = true AND Loc_call = true AND Cons_mid = true THEN Act2_eff; < 3 > Cons_high ==> sitizenInc_hInt_callGprs Act3_eff;      IF Cons_high = true AND sitizen = true AND Inc_h = true AND Int_call = true AND Gprs THEN Act3_eff;
The rules with confidence <100 %63 < 5 > Cons_mid =[80%]=> < 4 > Act2_eff;66 < 5 > single Loc_call =[80%]=> < 4 > Act2_eff;
Rules quality criteria  Let M – attribute set and G objects set. The rules are defined as the implication X⇒Y, whereX,Y ⊆ M, X Y =.The implication means that all objects of context which contain attributes X also contain attribute Y. That is in the situation X manager ought make decision Y.3convictionconfidenceliftsupportIs defined as supp(X Y)/ supp(Y) supp(X)Is defined asconf(X⇒Y)=supp(XY)/supp(X)Conviction conv(X⇒Y)=1-supp(Y)/1- conf(X⇒Y)Supp=card(ψ(X)/card(G)) -  is a rate of contextobjectsK := (G,M, I),which contain attributes X

Boston 16 03

  • 1.
    Russian Plekhanov Universityof Economics Customer-telecommunications company’s relationship simulation model (RSM), based on non-monotonic business rules approach and formal concept analysis method.Victor RomanovRoman VeynbergAlinaPoluektova
  • 2.
    ContentsThe problem actuality1BRMSreview2EDM-conception and business rules application technology for decision making34Business rules theory5FCA for rules miningBusiness rules application at telecommunication sector6
  • 3.
    Why business rules?Dynamiccompetition economyIn big and medium business a lot of documents contain business rules. EDM new conception propose extract business rule as different component, This makes possible more easy update themIt is difficult to find and change them
  • 4.
    Businessstatic void processLoanRequest(Borrowerborrower, Loan loan) { System.out.println("Processing request from " + borrower.getName()); // Approve or reject the loan checkLoanConditions(borrower, loan); // Display the verdict if (loan.isApproved()) { System.out.println("==> Loan is approved :-)"); } else { System.out.println("==> Loan is rejected :-("); for (Object msg : loan.getMessages()) { System.out.println("==> Because " + msg); } } } /** * Check conditions on the borrower and the loan using hard-coded policies */ static void checkLoanConditions(Borrower borrower, Loan loan) { // Check maximum amount if (loan.getAmount() > 1000000) { loan.addToMessages("The loan cannot exceed 1,000,000"); loan.reject(); } // Check repayment and score if (borrower.getYearlyIncome() > 0){ int val = loan.getYearlyRepayment() * 100 / borrower.getYearlyIncome(); if ((val>=0) && (val<30) && (borrower.getCreditScore()>=0) && (borrower.getCreditScore()<200)) { loan.addToMessages("debt-to-income too high compared to credit score"); loan.reject(); } if ((val>=30) && (val<45) && (borrower.getCreditScore()>=0) && (borrower.getCreditScore()<400)) { loan.addToMessages("debt-to-income too high compared to credit score"); loan.reject(); } if ((val>=45) && (val<50) && (borrower.getCreditScore()>=0) && (borrower.getCreditScore()<600)) { loan.addToMessages("debt-to-income too high compared to credit score"); loan.reject(); } if ((val>=50) && (borrower.getCreditScore()>=0) && (loan.getAmount() >Business LogicApplications codesITWhat business rule isBusiness rule is the assertion at the natural or formallanguage,which for each state of business systemdefines permissible decisions on business control
  • 5.
    The main BRMSvendors : IBM ILogJrules FICO Blaze AdvisorCorticon BRMS Innovations Software Technology Visual RulesThe Forrester Wave™ за второй квартал 2008 г.
  • 6.
    Business rules managementsystemThe sources where rules originated fromDocumentsApplicationsThe rules are stored and updatedThe rules are extracted and executedThe rules are insertedPersonellProcessesBusiness Rule Management SystemUser ApplicationsRules+MetadataRules repositoryRules Server
  • 7.
  • 8.
    Corticon Technologies:Corticon BRMSRulesModelingServerRules Execution ServerData Base ConnectorSoftware Environment
  • 9.
    IBM’s ILogJRulesBusiness ruledevelopmentBusiness Rule managementRule projectObject ModelWeb applicationRule parametersVocabularySynchronizebusiness rule, decision tablesRule repositorySynchronizeFlow ruleDeployDeployDeployDecision Validation ServicesDecision Validation ServicesApplicationrepositoryApplicationrepositoryApplicationrepositoryArchitectureILogJRules
  • 10.
    Component of ILogJRulesRuleStudioRule Team ServerRule Execution ServerRule Solutions for Office
  • 11.
    Innovation Technologies: VisualRulesModelingAnalysisMonitoringDocumentationExecutionTest and SimulationAdministrationDeployment
  • 12.
    FICO: Blaze AdvisorProductionRule RepositoryDeployment ManagerCustomers ApplicationTesting Rule RepositoryApplication ServerRule Development RepositoryBusiness Rule AuthoringRule DevelopmentArchitecture of Blaze Advisor
  • 13.
    Business rules applicationfor business system decision making11 Business rule based data analysis for decision support and automationhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.928&rep=rep1&type=pdf
  • 14.
    The business rulesformal definitionAt the theory level of first level logic (FOL) business rules have statement view IF-THEN and expresses logical consequence or implication. IF p, THEN q,whereq – assertion named as consequent, describing decision which are offering in this conditions.p is a assertion, named as antecedent, which is describing state of business conditionsIF(conditions), then(the list of actions),else(alternate list of actons).
  • 15.
  • 16.
    Formal Concept AnalysisFormalcontext K:=(G,M,I) consists of sets G,M and a binary relation I ⊆ G ×M.M –attribute set, G –objects sets (g,m) ∈ I - object g has attribute mLet us define the mapping:ϕ: -> и ψ: -> ϕ(A)=def {m ∈ M | gIm ∀g ∈ A}, ψ(B)= def {g ∈ G | gIm ∀m ∈ B}, A ⊆ G, B ⊆ M.If A ⊆ G, B ⊆ M, then(A,B)- formal concept of context K, if ϕ(A) = B, ψ(B) = A
  • 17.
    Formal Concept Analysis(FCA)Subconcept - superconcept relationship:A1,A2 ⊆ G, B1,B2 ⊆ M:1. (A1,B1) (A2,B2) (A1 ⊆ A2) (B2 ⊆ B1)2. (A1,B1) – subconcept,3. (A2,B2) –superconcept, A1,A2 – intentB1,B2 - extentThe relationships above define concepts lattice
  • 18.
    FormalConceptAnalysisFCA may beused for visualization telecommunication company’s customer groups, that make possible for management assign to these groups corresponding set of discount options. Besides selecting the group of customers FCA method provide possibility by mean data mining approach extract new rules from customer database.The clients may be considered as an objects and their personal data, realty employment positions may be regarded as attributes.According to these data subsets of groups and their attributes may be selected as a concepts with common features.
  • 19.
  • 20.
    Formal context “customers”Context part 1Context part 2 (continuation)
  • 21.
    Concept lattice “customers”
  • 22.
    The rules discovered The rules discovered by FCA look like this: different kind of if customers satisfy different conditions and for them different marketing actions are effective:< 1 > age_25 gender_male head sms \mms Loc_callGprsCons_mid ==> Inc_m Act1_eff; IF age <= 25 AND gender_male = true AND head = true AND sms\mms = true AND Loc_call = true AND Gprs= true AND Cons_mid= true THEN Act1_eff; < 2 > age_25 single Loc_callCons_mid ==> Act2_eff; IF age<=25 AND single = true AND Loc_call = true AND Cons_mid = true THEN Act2_eff; < 3 > Cons_high ==> sitizenInc_hInt_callGprs Act3_eff; IF Cons_high = true AND sitizen = true AND Inc_h = true AND Int_call = true AND Gprs THEN Act3_eff;
  • 23.
    The rules withconfidence <100 %63 < 5 > Cons_mid =[80%]=> < 4 > Act2_eff;66 < 5 > single Loc_call =[80%]=> < 4 > Act2_eff;
  • 24.
    Rules quality criteria Let M – attribute set and G objects set. The rules are defined as the implication X⇒Y, whereX,Y ⊆ M, X Y =.The implication means that all objects of context which contain attributes X also contain attribute Y. That is in the situation X manager ought make decision Y.3convictionconfidenceliftsupportIs defined as supp(X Y)/ supp(Y) supp(X)Is defined asconf(X⇒Y)=supp(XY)/supp(X)Conviction conv(X⇒Y)=1-supp(Y)/1- conf(X⇒Y)Supp=card(ψ(X)/card(G)) - is a rate of contextobjectsK := (G,M, I),which contain attributes X