Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DECLARE @listingid int
- SET @listingid = 1843955
- DECLARE @userid int
- select @userid=userid from circleone..listings where id=@listingid
- SET nocount on;
- SET transaction isolation level read uncommitted
- DECLARE @Aggregate TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[PendingStartDate] [datetime] NULL,[MissingData] [int] NOT NULL,[eID] [int] NULL,[eUserID] [int] NULL,[numAgeOfAuthenticationMonths] [int] NULL,[numAgeOfAuthenticationYears] [int] NULL,[datAuthenticationCreationDate] [datetime] NULL,[numConsumerTotal] [int] NULL,[numCustomerOnlyTotal] [int] NULL,[catSSNMatch] [varchar](9) NULL,[catYOBMatch] [varchar](9) NULL,[catDLMatch] [varchar](9) NULL,[catDLSMatch] [varchar](9) NULL,[numAuthenticationScore] [int] NULL,[catAuthenticationScore] [varchar](8) NULL,[ASScoreFactor1] [int] NULL,[ASScoreFactor2] [int] NULL,[ASScoreFactor3] [int] NULL,[ASScoreFactor4] [int] NULL,[numScoreFactorCount] [int] NULL,[flgBlockedFile] [int] NULL,[flgVictimStatement] [int] NULL,[flgConsumerStatement] [int] NULL,[flgLargeFile] [int] NULL,[catAlertMessage] [varchar](8) NULL,[flgFraudAlert] [int] NULL,[flgSecurityAlert] [int] NULL,[catIPCountryMatch] [varchar](10) NULL,[catIPStateMatch] [varchar](12) NULL,[txtIPState] [varchar](50) NULL,[catIPCityMatch] [varchar](12) NULL,[txtIPCity] [varchar](50) NULL,[catIPZipMatch] [varchar](12) NULL,[txtIPZip] [varchar](5) NULL,[catAcceptReferCode] [varchar](6) NULL,[catOutputTypeCode] [varchar](10) NULL,[numInWalletScore] [int] NULL,[catInWalletScore] [varchar](8) NULL,[flgFS01] [int] NULL,[flgFS02] [int] NULL,[flgFS03] [int] NULL,[flgFS04] [int] NULL,[flgFS05] [int] NULL,[flgFS06] [int] NULL,[flgFS07] [int] NULL,[flgFS08] [int] NULL,[flgFS09] [int] NULL,[flgFS10] [int] NULL,[flgFS11] [int] NULL,[flgFS12] [int] NULL,[flgFS13] [int] NULL,[flgFS14] [int] NULL,[flgFS15] [int] NULL,[flgFS16] [int] NULL,[flgFS17] [int] NULL,[flgFS18] [int] NULL,[flgFS19] [int] NULL,[flgFS20] [int] NULL,[flgFS21] [int] NULL,[flgFS22] [int] NULL,[flgFS25] [int] NULL,[flgFS26] [int] NULL,[flgFS27] [int] NULL,[numCheckpointScore] [int] NULL,[catCheckpointScore] [varchar](8) NULL,[numModelScore] [int] NULL,[catModelScore] [varchar](8) NULL,[catLevelOneDecisionCode] [varchar](6) NULL,[numPrimaryResult] [varchar](10) NULL,[txtAddressVerificationResult] [varchar](10) NULL,[catAddressUnitMismatchResult] [varchar](11) NULL,[txtPhoneVerificationResult] [varchar](10) NULL,[txtPhoneUnitMismatchResult] [varchar](10) NULL,[txtAddressTypeResult] [varchar](10) NULL,[catAddressHighRiskResult] [varchar](7) NULL,[catPhoneHighRiskResult] [varchar](7) NULL,[txtSocialSecurityNumberResult] [varchar](10) NULL,[numResidentialAddressDetailRecords] [int] NULL,[numBusinessAddressDetailRecords] [int] NULL,[numAddressHighRiskDetailRecords] [int] NULL,[numAddressHighRiskDescriptionRecords] [int] NULL,[numResidentialPhoneDetailRecords] [int] NULL,[numBusinessPhoneDetailRecords] [int] NULL,[numPhoneHighRiskDetailRecords] [int] NULL,[numPhoneHighRiskDescriptionRecords] [int] NULL,[numSSNDetailRecords] [int] NULL,[numCOARecords] [int] NULL,[numCOADescriptionRecords] [int] NULL,[txtDLResultCode] [varchar](10) NULL,[catDateOfBirthMatch] [varchar](9) NULL,[txtSSNIssueState] [varchar](5) NULL,[flgSSNDeceased] [int] NULL,[txtSSNFormat] [varchar](10) NULL,[numSSNIssueStartRange] [int] NULL,[catSSNIssueStartRange] [varchar](7) NULL,[numSSNIssueEndRange] [int] NULL,[txtSSNIssueResultCode] [varchar](10) NULL,[catOFACValidationResult] [varchar](7) NULL,[sID] [int] NULL,[sUserID] [int] NULL,[numALL001] [int] NULL,[numALL021] [int] NULL,[numALL026] [int] NULL,[numALL051] [int] NULL,[numALL052] [int] NULL,[numALL062] [int] NULL,[numALL064] [int] NULL,[numALL081] [int] NULL,[numALL084] [int] NULL,[numALL141] [int] NULL,[numALL142] [int] NULL,[numALL201] [int] NULL,[numALL207] [int] NULL,[numALL208] [int] NULL,[numALL701] [int] NULL,[numALL806] [int] NULL,[numALL901] [int] NULL,[numBAC026] [int] NULL,[numBAC401] [int] NULL,[numBAC403] [int] NULL,[numILN201] [int] NULL,[numREF001] [int] NULL,[numREP002] [int] NULL,[numREV201] [int] NULL,[numREV023] [int] NULL,[numILN005] [int] NULL,[numILN108] [int] NULL, numILN002 [int] NULL, numALL803[int] NULL, numALE007 [int] NULL, numILN007 [int] NULL, numALL002 [int] NULL, numRTR751 [int] NULL, [dID] [int] NULL,[dUserID] [int] NULL,[numDistinctDups] [int] NULL,[flgDupExistence] [int] NULL,[flgDupTypeCookie] [int] NULL,[flgDupTypePhone] [int] NULL,[flgDupTypeAddress] [int] NULL,[flgDupTypeBank] [int] NULL,[numMaxDupDateOfBirthDiff] [int] NULL,[numAvgDupDateOfBirthDiff] [int] NULL,[numMinDupCreditScore] [int] NULL,[numAvgDupCreditScore] [int] NULL,[flgMaxDupUserStatusNotActive] [int] NULL,[flgMaxDupUserStatusSuspendedTerminated] [int] NULL,[flgMaxDupCreditScoreLow] [int] NULL,[flgMaxDupCreditScoreMissing] [int] NULL,[flgMaxDupLoanChargeoffDefault] [int] NULL,[flgMaxDupLoanDPD0Greater] [int] NULL,[flgMaxDupLoanDPD30Greater] [int] NULL,[flgMaxDupLoanDPD60Greater] [int] NULL,[flgMaxDupLoanDPD90Greater] [int] NULL,[flgMaxDupLoanDPD120Greater] [int] NULL,[flgMaxDupLoanActive] [int] NULL,[flgMaxDupLoanPaid] [int] NULL,[flgMaxDupNoLoan] [int] NULL,[flgMaxDupRecentLoan] [int] NULL,[flgMaxDupRecentListing] [int] NULL,[flgMaxDupManualPayment] [int] NULL,[flgMaxDupHighPayment] [int] NULL,[flgMaxDupLatePayment] [int] NULL,[flgMaxDupFailedPayment] [int] NULL,[flgMaxDupBusinessAddress] [int] NULL,[flgMaxDupSameName] [int] NULL,[flgMaxDupSameFirstName] [int] NULL,[flgMaxDupSameLastName] [int] NULL,[flgMaxDupHighAgeDiff] [int] NULL,[uID] [int] NULL,[uUserID] [int] NULL,[numUserListingAmount] [money] NULL,[flgUserMultiBankAccounts] [int] NULL,[flgUserMultiBankHolders] [int] NULL,[flgUserPrePaidBankAccount] [int] NULL,[flgUserSuspicion] [int] NULL,[ListingTitle] [varchar](50) NULL,[flgUserTitleConsolidation] [int] NULL,[flgUserTitleDebt] [int] NULL,[numUser30DBankChange] [int] NULL,[numUser30DBankCount] [int] NULL,[numUserAgeYears] [int] NULL,[numUserBankCount] [int] NULL,[numUserEmploymentLengthMonths] [int] NULL,[numUserFailLogins] [int] NULL,[numUserLogins] [int] NULL,[numUserPercentFailLogins] [numeric](33, 17) NULL,[numUserRegistrationAgeMonths] [int] NULL,[numUserSuccessLogins] [int] NULL,[numUserTitleLength] [int] NULL,[numPrevCancellations] [int] NULL,[numPrevOriginations] [int] NULL,[numPrevWithdrawals] [int] NULL,[flgFraudScreen] [int] NOT NULL,[FSSUM] [int] NULL,[flgChannelDM] [int] NOT NULL, [channel] [varchar] (5), [AggregateBalanceCreditRatioOnAllTrades6Months] [decimal](15, 5) NULL,[OpenPaidClosedInactiveInstallTrades] [int] NULL
- )
- DECLARE @AggregateFraud TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[PendingStartDate] [datetime] NULL,[MissingData] [int] NOT NULL,[eID] [int] NULL,[eUserID] [int] NULL,[numAgeOfAuthenticationMonths] [int] NULL,[numAgeOfAuthenticationYears] [int] NULL,[datAuthenticationCreationDate] [datetime] NULL,[numConsumerTotal] [int] NULL,[numCustomerOnlyTotal] [int] NULL,[catSSNMatch] [varchar](9) NULL,[catYOBMatch] [varchar](9) NULL,[catDLMatch] [varchar](9) NULL,[catDLSMatch] [varchar](9) NULL,[numAuthenticationScore] [int] NULL,[catAuthenticationScore] [varchar](8) NULL,[ASScoreFactor1] [int] NULL,[ASScoreFactor2] [int] NULL,[ASScoreFactor3] [int] NULL,[ASScoreFactor4] [int] NULL,[numScoreFactorCount] [int] NULL,[flgBlockedFile] [int] NULL,[flgVictimStatement] [int] NULL,[flgConsumerStatement] [int] NULL,[flgLargeFile] [int] NULL,[catAlertMessage] [varchar](8) NULL,[flgFraudAlert] [int] NULL,[flgSecurityAlert] [int] NULL,[catIPCountryMatch] [varchar](10) NULL,[catIPStateMatch] [varchar](12) NULL,[txtIPState] [varchar](50) NULL,[catIPCityMatch] [varchar](12) NULL,[txtIPCity] [varchar](50) NULL,[catIPZipMatch] [varchar](12) NULL,[txtIPZip] [varchar](5) NULL,[catAcceptReferCode] [varchar](6) NULL,[catOutputTypeCode] [varchar](10) NULL,[numInWalletScore] [int] NULL,[catInWalletScore] [varchar](8) NULL,[flgFS01] [int] NULL,[flgFS02] [int] NULL,[flgFS03] [int] NULL,[flgFS04] [int] NULL,[flgFS05] [int] NULL,[flgFS06] [int] NULL,[flgFS07] [int] NULL,[flgFS08] [int] NULL,[flgFS09] [int] NULL,[flgFS10] [int] NULL,[flgFS11] [int] NULL,[flgFS12] [int] NULL,[flgFS13] [int] NULL,[flgFS14] [int] NULL,[flgFS15] [int] NULL,[flgFS16] [int] NULL,[flgFS17] [int] NULL,[flgFS18] [int] NULL,[flgFS19] [int] NULL,[flgFS20] [int] NULL,[flgFS21] [int] NULL,[flgFS22] [int] NULL,[flgFS25] [int] NULL,[flgFS26] [int] NULL,[flgFS27] [int] NULL,[numCheckpointScore] [int] NULL,[catCheckpointScore] [varchar](8) NULL,[numModelScore] [int] NULL,[catModelScore] [varchar](8) NULL,[catLevelOneDecisionCode] [varchar](6) NULL,[numPrimaryResult] [varchar](10) NULL,[txtAddressVerificationResult] [varchar](10) NULL,[catAddressUnitMismatchResult] [varchar](11) NULL,[txtPhoneVerificationResult] [varchar](10) NULL,[txtPhoneUnitMismatchResult] [varchar](10) NULL,[txtAddressTypeResult] [varchar](10) NULL,[catAddressHighRiskResult] [varchar](7) NULL,[catPhoneHighRiskResult] [varchar](7) NULL,[txtSocialSecurityNumberResult] [varchar](10) NULL,[numResidentialAddressDetailRecords] [int] NULL,[numBusinessAddressDetailRecords] [int] NULL,[numAddressHighRiskDetailRecords] [int] NULL,[numAddressHighRiskDescriptionRecords] [int] NULL,[numResidentialPhoneDetailRecords] [int] NULL,[numBusinessPhoneDetailRecords] [int] NULL,[numPhoneHighRiskDetailRecords] [int] NULL,[numPhoneHighRiskDescriptionRecords] [int] NULL,[numSSNDetailRecords] [int] NULL,[numCOARecords] [int] NULL,[numCOADescriptionRecords] [int] NULL,[txtDLResultCode] [varchar](10) NULL,[catDateOfBirthMatch] [varchar](9) NULL,[txtSSNIssueState] [varchar](5) NULL,[flgSSNDeceased] [int] NULL,[txtSSNFormat] [varchar](10) NULL,[numSSNIssueStartRange] [int] NULL,[catSSNIssueStartRange] [varchar](7) NULL,[numSSNIssueEndRange] [int] NULL,[txtSSNIssueResultCode] [varchar](10) NULL,[catOFACValidationResult] [varchar](7) NULL,[sID] [int] NULL,[sUserID] [int] NULL,[numALL001] [int] NULL,[numALL021] [int] NULL,[numALL026] [int] NULL,[numALL051] [int] NULL,[numALL052] [int] NULL,[numALL062] [int] NULL,[numALL064] [int] NULL,[numALL081] [int] NULL,[numALL084] [int] NULL,[numALL141] [int] NULL,[numALL142] [int] NULL,[numALL201] [int] NULL,[numALL207] [int] NULL,[numALL208] [int] NULL,[numALL701] [int] NULL,[numALL806] [int] NULL,[numALL901] [int] NULL,[numBAC026] [int] NULL,[numBAC401] [int] NULL,[numBAC403] [int] NULL,[numILN201] [int] NULL,[numREF001] [int] NULL,[numREP002] [int] NULL,[numREV201] [int] NULL,[numREV023] [int] NULL,[numILN005] [int] NULL,[numILN108] [int] NULL, numILN002 [int] NULL, numALL803[int] NULL, numALE007 [int] NULL, numILN007 [int] NULL, numALL002 [int] NULL, numRTR751 [int] NULL, [dID] [int] NULL,[dUserID] [int] NULL,[numDistinctDups] [int] NULL,[flgDupExistence] [int] NULL,[flgDupTypeCookie] [int] NULL,[flgDupTypePhone] [int] NULL,[flgDupTypeAddress] [int] NULL,[flgDupTypeBank] [int] NULL,[numMaxDupDateOfBirthDiff] [int] NULL,[numAvgDupDateOfBirthDiff] [int] NULL,[numMinDupCreditScore] [int] NULL,[numAvgDupCreditScore] [int] NULL,[flgMaxDupUserStatusNotActive] [int] NULL,[flgMaxDupUserStatusSuspendedTerminated] [int] NULL,[flgMaxDupCreditScoreLow] [int] NULL,[flgMaxDupCreditScoreMissing] [int] NULL,[flgMaxDupLoanChargeoffDefault] [int] NULL,[flgMaxDupLoanDPD0Greater] [int] NULL,[flgMaxDupLoanDPD30Greater] [int] NULL,[flgMaxDupLoanDPD60Greater] [int] NULL,[flgMaxDupLoanDPD90Greater] [int] NULL,[flgMaxDupLoanDPD120Greater] [int] NULL,[flgMaxDupLoanActive] [int] NULL,[flgMaxDupLoanPaid] [int] NULL,[flgMaxDupNoLoan] [int] NULL,[flgMaxDupRecentLoan] [int] NULL,[flgMaxDupRecentListing] [int] NULL,[flgMaxDupManualPayment] [int] NULL,[flgMaxDupHighPayment] [int] NULL,[flgMaxDupLatePayment] [int] NULL,[flgMaxDupFailedPayment] [int] NULL,[flgMaxDupBusinessAddress] [int] NULL,[flgMaxDupSameName] [int] NULL,[flgMaxDupSameFirstName] [int] NULL,[flgMaxDupSameLastName] [int] NULL,[flgMaxDupHighAgeDiff] [int] NULL,[uID] [int] NULL,[uUserID] [int] NULL,[numUserListingAmount] [money] NULL,[flgUserMultiBankAccounts] [int] NULL,[flgUserMultiBankHolders] [int] NULL,[flgUserPrePaidBankAccount] [int] NULL,[flgUserSuspicion] [int] NULL,[ListingTitle] [varchar](50) NULL,[flgUserTitleConsolidation] [int] NULL,[flgUserTitleDebt] [int] NULL,[numUser30DBankChange] [int] NULL,[numUser30DBankCount] [int] NULL,[numUserAgeYears] [int] NULL,[numUserBankCount] [int] NULL,[numUserEmploymentLengthMonths] [int] NULL,[numUserFailLogins] [int] NULL,[numUserLogins] [int] NULL,[numUserPercentFailLogins] [numeric](33, 17) NULL,[numUserRegistrationAgeMonths] [int] NULL,[numUserSuccessLogins] [int] NULL,[numUserTitleLength] [int] NULL,[numPrevCancellations] [int] NULL,[numPrevOriginations] [int] NULL,[numPrevWithdrawals] [int] NULL,[flgFraudScreen] [int] NOT NULL,[FSSUM] [int] NULL,[flgChannelDM] [int] NOT NULL, [channel] [varchar] (5), [AggregateBalanceCreditRatioOnAllTrades6Months] [decimal](15, 5) NULL,[OpenPaidClosedInactiveInstallTrades] [int] NULL, [flgSuspicionCriterion] [int] NOT NULL, [flgFraudScreenEmail] [int] NULL
- )
- DECLARE @AllPendingListings TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[PendingStartDate] [datetime] NULL
- )
- DECLARE @ChannelAttribution TABLE (
- [ListingID] [int] NOT NULL,[CreditPullDate] [datetime] NULL,[ListingScoreID] [int] NULL,[TermsApprovalDate] [datetime] NULL,[PartnershipBin] [varchar](4000) NULL, [Channel] int null
- )
- DECLARE @Duplicates TABLE (
- [dID] [int] NOT NULL,[dUserID] [int] NOT NULL,[numDistinctDups] [int] NULL,[flgDupExistence] [int] NOT NULL,[flgDupTypeCookie] [int] NULL,[flgDupTypePhone] [int] NULL,[flgDupTypeAddress] [int] NULL,[flgDupTypeBank] [int] NULL,[numMaxDupDateOfBirthDiff] [int] NOT NULL,[numAvgDupDateOfBirthDiff] [int] NOT NULL,[numMinDupCreditScore] [int] NOT NULL,[numAvgDupCreditScore] [int] NOT NULL,[flgMaxDupUserStatusNotActive] [int] NULL,[flgMaxDupUserStatusSuspendedTerminated] [int] NULL,[flgMaxDupCreditScoreLow] [int] NULL,[flgMaxDupCreditScoreMissing] [int] NULL,[flgMaxDupLoanChargeoffDefault] [int] NULL,[flgMaxDupLoanDPD0Greater] [int] NULL,[flgMaxDupLoanDPD30Greater] [int] NULL,[flgMaxDupLoanDPD60Greater] [int] NULL,[flgMaxDupLoanDPD90Greater] [int] NULL,[flgMaxDupLoanDPD120Greater] [int] NULL,[flgMaxDupLoanActive] [int] NULL,[flgMaxDupLoanPaid] [int] NULL,[flgMaxDupNoLoan] [int] NULL,[flgMaxDupRecentLoan] [int] NULL,[flgMaxDupRecentListing] [int] NULL,[flgMaxDupManualPayment] [int] NULL,[flgMaxDupHighPayment] [int] NULL,[flgMaxDupLatePayment] [int] NULL,[flgMaxDupFailedPayment] [int] NULL,[flgMaxDupBusinessAddress] [int] NULL,[flgMaxDupSameName] [int] NULL,[flgMaxDupSameFirstName] [int] NULL,[flgMaxDupSameLastName] [int] NULL,[flgMaxDupHighAgeDiff] [int] NOT NULL
- )
- DECLARE @DuplicatesStg TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[aaaDupUserID] [int] NULL,[catDupType] [varchar](7) NULL,[flgDupSuspicious] [int] NOT NULL,[datDupDateOfBirth] [datetime] NULL,[datUserDateOfBirth] [datetime] NULL,[numDateOfBirthDiff] [int] NULL,[catDupUserStatus] [varchar](32) NULL,[flgDupUserStatusNotActive] [int] NOT NULL,[flgDupUserStatusSuspendedTerminated] [int] NOT NULL,[numDupCreditScore] [int] NULL,[flgDupCreditScoreLow] [int] NOT NULL,[flgDupCreditScoreMissing] [int] NOT NULL,[flgDupLoanChargeoffDefault] [int] NOT NULL,[flgDupLoanDPD0Greater] [int] NOT NULL,[flgDupLoanDPD30Greater] [int] NOT NULL,[flgDupLoanDPD60Greater] [int] NOT NULL,[flgDupLoanDPD90Greater] [int] NOT NULL,[flgDupLoanDPD120Greater] [int] NOT NULL,[flgDupLoanActive] [int] NOT NULL,[flgDupLoanPaid] [int] NOT NULL,[flgDupNoLoan] [int] NOT NULL,[flgDupRecentLoan] [int] NOT NULL,[flgDupRecentListing] [int] NOT NULL,[flgDupManualPayment] [int] NOT NULL,[flgDupHighPayment] [int] NOT NULL,[flgDupLatePayment] [int] NOT NULL,[flgDupFailedPayment] [int] NOT NULL,[flgDupBusinessAddress] [int] NOT NULL,[flgDupSameName] [int] NOT NULL,[flgDupSameFirstName] [int] NOT NULL,[flgDupSameLastName] [int] NOT NULL
- )
- DECLARE @DuplicateUsers TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[DupUserID] [int] NULL,[DupType] [varchar](7) NOT NULL
- )
- DECLARE @DuplicateUsersADRStg TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[DupUserID] [int] NULL,[DupType] [varchar](7) NULL,[flgDupBusinessAddress] [int] NOT NULL,[flgDupSameLastName] [int] NOT NULL,[flgDupSameFirstName] [int] NOT NULL,[flgDupSameName] [int] NOT NULL
- )
- DECLARE @DuplicateUsersCODStg TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[DupUserID] [int] NULL,[DupType] [varchar](7) NULL,[numDupLoanChargeoffDefaulted] [int] NULL,[numDupLoanDPD0Greater] [int] NULL,[numDupLoanDPD30Greater] [int] NULL,[numDupLoanDPD60Greater] [int] NULL,[numDupLoanDPD90Greater] [int] NULL,[numDupLoanDPD120Greater] [int] NULL,[numDupLoanActive] [int] NULL,[numDupLoanPaid] [int] NULL,[flgDupNoLoan] [int] NULL,[numDupRecentLoan] [int] NULL
- )
- DECLARE @DuplicateUsersDOBStg TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[DupUserID] [int] NULL,[DupType] [varchar](7) NOT NULL,[datDupDateOfBirth] [datetime] NULL,[datUserDateOfBirth] [datetime] NULL,[numDateOfBirthDiff] [int] NULL
- )
- DECLARE @DuplicateUsersEMPStg TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[DupUserID] [int] NULL,[DupType] [varchar](7) NULL
- )
- DECLARE @DuplicateUsersPMTStg TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[DupUserID] [int] NULL,[DupType] [varchar](7) NULL,[numDupManualPayment] [int] NULL,[numDupHighPayment] [int] NULL,[numDupLatePayment] [int] NULL,[numDupFailedPayment] [int] NULL,[numDupLoanPayments] [int] NULL
- )
- DECLARE @Experian TABLE (
- [eID] [int] NOT NULL,[eUserID] [int] NOT NULL,[numAgeOfAuthenticationMonths] [int] NULL,[numAgeOfAuthenticationYears] [int] NULL,[datAuthenticationCreationDate] [datetime] NULL,[numConsumerTotal] [int] NULL,[numCustomerOnlyTotal] [int] NULL,[catSSNMatch] [varchar](9) NULL,[catYOBMatch] [varchar](9) NULL,[catDLMatch] [varchar](9) NOT NULL,[catDLSMatch] [varchar](9) NOT NULL,[numAuthenticationScore] [int] NULL,[catAuthenticationScore] [varchar](8) NOT NULL,[ASScoreFactor1] [int] NOT NULL,[ASScoreFactor2] [int] NOT NULL,[ASScoreFactor3] [int] NOT NULL,[ASScoreFactor4] [int] NOT NULL,[numScoreFactorCount] [int] NULL,[flgBlockedFile] [int] NOT NULL,[flgVictimStatement] [int] NOT NULL,[flgConsumerStatement] [int] NOT NULL,[flgLargeFile] [int] NOT NULL,[catAlertMessage] [varchar](8) NOT NULL,[flgFraudAlert] [int] NOT NULL,[flgSecurityAlert] [int] NOT NULL,[catIPCountryMatch] [varchar](10) NOT NULL,[catIPStateMatch] [varchar](12) NOT NULL,[txtIPState] [varchar](50) NOT NULL,[catIPCityMatch] [varchar](12) NOT NULL,[txtIPCity] [varchar](50) NOT NULL,[catIPZipMatch] [varchar](12) NOT NULL,[txtIPZip] [varchar](5) NOT NULL,[catAcceptReferCode] [varchar](6) NULL,[catOutputTypeCode] [varchar](10) NULL,[numInWalletScore] [int] NULL,[catInWalletScore] [varchar](8) NOT NULL,[flgFS01] [int] NOT NULL,[flgFS02] [int] NOT NULL,[flgFS03] [int] NOT NULL,[flgFS04] [int] NOT NULL,[flgFS05] [int] NOT NULL,[flgFS06] [int] NOT NULL,[flgFS07] [int] NOT NULL,[flgFS08] [int] NOT NULL,[flgFS09] [int] NOT NULL,[flgFS10] [int] NOT NULL,[flgFS11] [int] NOT NULL,[flgFS12] [int] NOT NULL,[flgFS13] [int] NOT NULL,[flgFS14] [int] NOT NULL,[flgFS15] [int] NOT NULL,[flgFS16] [int] NOT NULL,[flgFS17] [int] NOT NULL,[flgFS18] [int] NOT NULL,[flgFS19] [int] NOT NULL,[flgFS20] [int] NOT NULL,[flgFS21] [int] NOT NULL,[flgFS22] [int] NOT NULL,[flgFS25] [int] NOT NULL,[flgFS26] [int] NOT NULL,[flgFS27] [int] NOT NULL,[numCheckpointScore] [int] NULL,[catCheckpointScore] [varchar](8) NOT NULL,[numModelScore] [int] NULL,[catModelScore] [varchar](8) NOT NULL,[catLevelOneDecisionCode] [varchar](6) NULL,[numPrimaryResult] [varchar](10) NULL,[txtAddressVerificationResult] [varchar](10) NULL,[catAddressUnitMismatchResult] [varchar](11) NULL,[txtPhoneVerificationResult] [varchar](10) NULL,[txtPhoneUnitMismatchResult] [varchar](10) NOT NULL,[txtAddressTypeResult] [varchar](10) NULL,[catAddressHighRiskResult] [varchar](7) NOT NULL,[catPhoneHighRiskResult] [varchar](7) NOT NULL,[txtSocialSecurityNumberResult] [varchar](10) NULL,[numResidentialAddressDetailRecords] [int] NULL,[numBusinessAddressDetailRecords] [int] NULL,[numAddressHighRiskDetailRecords] [int] NULL,[numAddressHighRiskDescriptionRecords] [int] NULL,[numResidentialPhoneDetailRecords] [int] NULL,[numBusinessPhoneDetailRecords] [int] NULL,[numPhoneHighRiskDetailRecords] [int] NULL,[numPhoneHighRiskDescriptionRecords] [int] NULL,[numSSNDetailRecords] [int] NULL,[numCOARecords] [int] NULL,[numCOADescriptionRecords] [int] NULL,[txtDLResultCode] [varchar](10) NULL,[catDateOfBirthMatch] [varchar](9) NULL,[txtSSNIssueState] [varchar](5) NULL,[flgSSNDeceased] [int] NOT NULL,[txtSSNFormat] [varchar](10) NULL,[numSSNIssueStartRange] [int] NULL,[catSSNIssueStartRange] [varchar](7) NOT NULL,[numSSNIssueEndRange] [int] NULL,[txtSSNIssueResultCode] [varchar](10) NULL,[catOFACValidationResult] [varchar](7) NULL
- )
- DECLARE @ExperianStaging TABLE (
- [ListingID] [int] NOT NULL,[id] [int] NULL,[userid] [int] NULL,[creationdate] [datetime] NULL,[ErrorCode] [int] NULL,[ErrorMessage] [varchar](1000) NULL,[ConsumerTotal] [int] NULL,[CustomerOnlyTotal] [int] NULL,[SSNMatch] [int] NULL,[YOBMatch] [int] NULL,[DLMatch] [int] NULL,[DLSMatch] [int] NULL,[AuthenticationScore] [int] NULL,[ASScoreFactor1] [int] NULL,[ASScoreFactor2] [int] NULL,[ASScoreFactor3] [int] NULL,[ASScoreFactor4] [int] NULL,[CombinedCode] [varchar](4) NULL,[BlockedFileFlag] [varchar](4) NULL,[VictimStmtFlag] [varchar](4) NULL,[ConsumerStatementFlag] [varchar](4) NULL,[LargeFileFlag] [varchar](4) NULL,[CaliforniaFrozenFileFlag] [varchar](4) NULL,[VictimStatementMessage] [varchar](8000) NULL,[IPCountryMatch] [int] NULL,[IPCountry] [varchar](50) NULL,[IPStateMatch] [int] NULL,[IPState] [varchar](50) NULL,[IPCityMatch] [int] NULL,[IPCity] [varchar](50) NULL,[IPZipMatch] [int] NULL,[IPZip] [varchar](50) NULL,[AcceptReferCode] [varchar](10) NULL,[OutputTypeCode] [varchar](10) NULL,[InWalletScore] [int] NULL,[Fraud Shield Codes] [varchar](500) NULL,[FS01] [varchar](10) NULL,[FS02] [varchar](10) NULL,[FS03] [varchar](10) NULL,[FS04] [varchar](10) NULL,[FS05] [varchar](10) NULL,[FS06] [varchar](10) NULL,[FS07] [varchar](10) NULL,[FS08] [varchar](10) NULL,[FS09] [varchar](10) NULL,[FS10] [varchar](10) NULL,[FS11] [varchar](10) NULL,[FS12] [varchar](10) NULL,[FS13] [varchar](10) NULL,[FS14] [varchar](10) NULL,[FS15] [varchar](10) NULL,[FS16] [varchar](10) NULL,[FS17] [varchar](10) NULL,[FS18] [varchar](10) NULL,[FS19] [varchar](10) NULL,[FS20] [varchar](10) NULL,[FS21] [varchar](10) NULL,[FS22] [varchar](10) NULL,[FS25] [varchar](10) NULL,[FS26] [varchar](10) NULL,[FS27] [varchar](10) NULL,[CheckpointScore] [int] NULL,[ModelScore] [int] NULL,[LevelOneDecisionCode] [varchar](10) NULL,[PrimaryResult] [varchar](10) NULL,[AddressVerificationResult] [varchar](10) NULL,[AddressUnitMismatchResult] [varchar](10) NULL,[PhoneVerificationResult] [varchar](10) NULL,[PhoneUnitMismatchResult] [varchar](10) NULL,[AddressTypeResult] [varchar](10) NULL,[AddressHighRiskResult] [varchar](10) NULL,[PhoneHighRiskResult] [varchar](10) NULL,[SocialSecurityNumberResult] [varchar](10) NULL,[NumResidentialAddressDetailRecords] [int] NULL,[NumBusinessAddressDetailRecords] [int] NULL,[NumAddressHighRiskDetailRecords] [int] NULL,[NumAddressHighRiskDescriptionRecords] [int] NULL,[NumResidentialPhoneDetailRecords] [int] NULL,[NumBusinessPhoneDetailRecords] [int] NULL,[NumPhoneHighRiskDetailRecords] [int] NULL,[NumPhoneHighRiskDescriptionRecords] [int] NULL,[NumSSNDetailRecords] [int] NULL,[NumCOARecords] [int] NULL,[NumCOADescriptionRecords] [int] NULL,[DLResultCode] [varchar](10) NULL,[DateOfBirthMatch] [int] NULL,[SSNIssueState] [varchar](5) NULL,[SSNDeceased] [varchar](10) NULL,[SSNFormat] [varchar](10) NULL,[SSNIssueStartRange] [int] NULL,[SSNIssueEndRange] [int] NULL,[SSNIssueResultCode] [varchar](10) NULL,[OFACValidationResult] [int] NULL,[ModifiedDate] [datetime] NULL
- )
- DECLARE @FilterUnprocessedStaging TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[PendingStartDate] [datetime] NULL,[MissingData] [int] NOT NULL,[eID] [int] NULL,[eUserID] [int] NULL,[numAgeOfAuthenticationMonths] [int] NULL,[numAgeOfAuthenticationYears] [int] NULL,[datAuthenticationCreationDate] [datetime] NULL,[numConsumerTotal] [int] NULL,[numCustomerOnlyTotal] [int] NULL,[catSSNMatch] [varchar](9) NULL,[catYOBMatch] [varchar](9) NULL,[catDLMatch] [varchar](9) NULL,[catDLSMatch] [varchar](9) NULL,[numAuthenticationScore] [int] NULL,[catAuthenticationScore] [varchar](8) NULL,[ASScoreFactor1] [int] NULL,[ASScoreFactor2] [int] NULL,[ASScoreFactor3] [int] NULL,[ASScoreFactor4] [int] NULL,[numScoreFactorCount] [int] NULL,[flgBlockedFile] [int] NULL,[flgVictimStatement] [int] NULL,[flgConsumerStatement] [int] NULL,[flgLargeFile] [int] NULL,[catAlertMessage] [varchar](8) NULL,[flgFraudAlert] [int] NULL,[flgSecurityAlert] [int] NULL,[catIPCountryMatch] [varchar](10) NULL,[catIPStateMatch] [varchar](12) NULL,[txtIPState] [varchar](50) NULL,[catIPCityMatch] [varchar](12) NULL,[txtIPCity] [varchar](50) NULL,[catIPZipMatch] [varchar](12) NULL,[txtIPZip] [varchar](5) NULL,[catAcceptReferCode] [varchar](6) NULL,[catOutputTypeCode] [varchar](10) NULL,[numInWalletScore] [int] NULL,[catInWalletScore] [varchar](8) NULL,[flgFS01] [int] NULL,[flgFS02] [int] NULL,[flgFS03] [int] NULL,[flgFS04] [int] NULL,[flgFS05] [int] NULL,[flgFS06] [int] NULL,[flgFS07] [int] NULL,[flgFS08] [int] NULL,[flgFS09] [int] NULL,[flgFS10] [int] NULL,[flgFS11] [int] NULL,[flgFS12] [int] NULL,[flgFS13] [int] NULL,[flgFS14] [int] NULL,[flgFS15] [int] NULL,[flgFS16] [int] NULL,[flgFS17] [int] NULL,[flgFS18] [int] NULL,[flgFS19] [int] NULL,[flgFS20] [int] NULL,[flgFS21] [int] NULL,[flgFS22] [int] NULL,[flgFS25] [int] NULL,[flgFS26] [int] NULL,[flgFS27] [int] NULL,[numCheckpointScore] [int] NULL,[catCheckpointScore] [varchar](8) NULL,[numModelScore] [int] NULL,[catModelScore] [varchar](8) NULL,[catLevelOneDecisionCode] [varchar](6) NULL,[numPrimaryResult] [varchar](10) NULL,[txtAddressVerificationResult] [varchar](10) NULL,[catAddressUnitMismatchResult] [varchar](11) NULL,[txtPhoneVerificationResult] [varchar](10) NULL,[txtPhoneUnitMismatchResult] [varchar](10) NULL,[txtAddressTypeResult] [varchar](10) NULL,[catAddressHighRiskResult] [varchar](7) NULL,[catPhoneHighRiskResult] [varchar](7) NULL,[txtSocialSecurityNumberResult] [varchar](10) NULL,[numResidentialAddressDetailRecords] [int] NULL,[numBusinessAddressDetailRecords] [int] NULL,[numAddressHighRiskDetailRecords] [int] NULL,[numAddressHighRiskDescriptionRecords] [int] NULL,[numResidentialPhoneDetailRecords] [int] NULL,[numBusinessPhoneDetailRecords] [int] NULL,[numPhoneHighRiskDetailRecords] [int] NULL,[numPhoneHighRiskDescriptionRecords] [int] NULL,[numSSNDetailRecords] [int] NULL,[numCOARecords] [int] NULL,[numCOADescriptionRecords] [int] NULL,[txtDLResultCode] [varchar](10) NULL,[catDateOfBirthMatch] [varchar](9) NULL,[txtSSNIssueState] [varchar](5) NULL,[flgSSNDeceased] [int] NULL,[txtSSNFormat] [varchar](10) NULL,[numSSNIssueStartRange] [int] NULL,[catSSNIssueStartRange] [varchar](7) NULL,[numSSNIssueEndRange] [int] NULL,[txtSSNIssueResultCode] [varchar](10) NULL,[catOFACValidationResult] [varchar](7) NULL,[sID] [int] NULL,[sUserID] [int] NULL,[numALL001] [int] NULL,[numALL021] [int] NULL,[numALL026] [int] NULL,[numALL051] [int] NULL,[numALL052] [int] NULL,[numALL062] [int] NULL,[numALL064] [int] NULL,[numALL081] [int] NULL,[numALL084] [int] NULL,[numALL141] [int] NULL,[numALL142] [int] NULL,[numALL201] [int] NULL,[numALL207] [int] NULL,[numALL208] [int] NULL,[numALL701] [int] NULL,[numALL806] [int] NULL,[numALL901] [int] NULL,[numBAC026] [int] NULL,[numBAC401] [int] NULL,[numBAC403] [int] NULL,[numILN201] [int] NULL,[numREF001] [int] NULL,[numREP002] [int] NULL,[numREV201] [int] NULL,[numREV023] [int] NULL,[numILN005] [int] NULL,[numILN108] [int] NULL, numILN002 [int] NULL, numALL803[int] NULL, numALE007 [int] NULL, numILN007 [int] NULL, numALL002 [int] NULL, numRTR751 [int] NULL, [dID] [int] NULL,[dUserID] [int] NULL,[numDistinctDups] [int] NULL,[flgDupExistence] [int] NULL,[flgDupTypeCookie] [int] NULL,[flgDupTypePhone] [int] NULL,[flgDupTypeAddress] [int] NULL,[flgDupTypeBank] [int] NULL,[numMaxDupDateOfBirthDiff] [int] NULL,[numAvgDupDateOfBirthDiff] [int] NULL,[numMinDupCreditScore] [int] NULL,[numAvgDupCreditScore] [int] NULL,[flgMaxDupUserStatusNotActive] [int] NULL,[flgMaxDupUserStatusSuspendedTerminated] [int] NULL,[flgMaxDupCreditScoreLow] [int] NULL,[flgMaxDupCreditScoreMissing] [int] NULL,[flgMaxDupLoanChargeoffDefault] [int] NULL,[flgMaxDupLoanDPD0Greater] [int] NULL,[flgMaxDupLoanDPD30Greater] [int] NULL,[flgMaxDupLoanDPD60Greater] [int] NULL,[flgMaxDupLoanDPD90Greater] [int] NULL,[flgMaxDupLoanDPD120Greater] [int] NULL,[flgMaxDupLoanActive] [int] NULL,[flgMaxDupLoanPaid] [int] NULL,[flgMaxDupNoLoan] [int] NULL,[flgMaxDupRecentLoan] [int] NULL,[flgMaxDupRecentListing] [int] NULL,[flgMaxDupManualPayment] [int] NULL,[flgMaxDupHighPayment] [int] NULL,[flgMaxDupLatePayment] [int] NULL,[flgMaxDupFailedPayment] [int] NULL,[flgMaxDupBusinessAddress] [int] NULL,[flgMaxDupSameName] [int] NULL,[flgMaxDupSameFirstName] [int] NULL,[flgMaxDupSameLastName] [int] NULL,[flgMaxDupHighAgeDiff] [int] NULL,[uID] [int] NULL,[uUserID] [int] NULL,[numUserListingAmount] [money] NULL,[flgUserMultiBankAccounts] [int] NULL,[flgUserMultiBankHolders] [int] NULL,[flgUserPrePaidBankAccount] [int] NULL,[flgUserSuspicion] [int] NULL,[ListingTitle] [varchar](50) NULL,[flgUserTitleConsolidation] [int] NULL,[flgUserTitleDebt] [int] NULL,[numUser30DBankChange] [int] NULL,[numUser30DBankCount] [int] NULL,[numUserAgeYears] [int] NULL,[numUserBankCount] [int] NULL,[numUserEmploymentLengthMonths] [int] NULL,[numUserFailLogins] [int] NULL,[numUserLogins] [int] NULL,[numUserPercentFailLogins] [numeric](33, 17) NULL,[numUserRegistrationAgeMonths] [int] NULL,[numUserSuccessLogins] [int] NULL,[numUserTitleLength] [int] NULL,[numPrevCancellations] [int] NULL,[numPrevOriginations] [int] NULL,[numPrevWithdrawals] [int] NULL,[flgFraudScreen] [int] NOT NULL,[FSSUM] [int] NULL,[flgChannelDM] [int] NOT NULL, [channel] [varchar] (5), [AggregateBalanceCreditRatioOnAllTrades6Months] [decimal](15, 5) NULL,[OpenPaidClosedInactiveInstallTrades] [int] NULL, [catDecisionGroup] [varchar](3) NULL, [probScore] [numeric] (20,6) null, [probDollars] [numeric] (20,6) null, [AdvElement1Variable] [varchar](40) null, [AdvElement2Variable] [varchar](40) null, [flgSuspicionCriterion] [int] NOT NULL, [1401] [int] NOT NULL,[1601] [int] NOT NULL,[1801] [int] NOT NULL,[2001] [int] NOT NULL,[2201] [int] NOT NULL,[3101] [int] NOT NULL,[3501] [int] NOT NULL, [IncomeVerStrategyCode] [varchar](20) NULL, [IncomeVerTreatmentCode] [varchar](70) NULL, [IncVerRandNum1to100] [int] NULL, [PVFScoreVersion] [varchar](15) NULL, [PVFScoreValue] [numeric](20,10) NULL, [3601] [int] NOT NULL,[3801] [int] NOT NULL,[4401] [int] NOT NULL
- )
- DECLARE @InitialVerificationStaging TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[PendingStartDate] [datetime] NULL,[MissingData] [int] NOT NULL,[eID] [int] NULL,[eUserID] [int] NULL,[numAgeOfAuthenticationMonths] [int] NULL,[numAgeOfAuthenticationYears] [int] NULL,[datAuthenticationCreationDate] [datetime] NULL,[numConsumerTotal] [int] NULL,[numCustomerOnlyTotal] [int] NULL,[catSSNMatch] [varchar](9) NULL,[catYOBMatch] [varchar](9) NULL,[catDLMatch] [varchar](9) NULL,[catDLSMatch] [varchar](9) NULL,[numAuthenticationScore] [int] NULL,[catAuthenticationScore] [varchar](8) NULL,[ASScoreFactor1] [int] NULL,[ASScoreFactor2] [int] NULL,[ASScoreFactor3] [int] NULL,[ASScoreFactor4] [int] NULL,[numScoreFactorCount] [int] NULL,[flgBlockedFile] [int] NULL,[flgVictimStatement] [int] NULL,[flgConsumerStatement] [int] NULL,[flgLargeFile] [int] NULL,[catAlertMessage] [varchar](8) NULL,[flgFraudAlert] [int] NULL,[flgSecurityAlert] [int] NULL,[catIPCountryMatch] [varchar](10) NULL,[catIPStateMatch] [varchar](12) NULL,[txtIPState] [varchar](50) NULL,[catIPCityMatch] [varchar](12) NULL,[txtIPCity] [varchar](50) NULL,[catIPZipMatch] [varchar](12) NULL,[txtIPZip] [varchar](5) NULL,[catAcceptReferCode] [varchar](6) NULL,[catOutputTypeCode] [varchar](10) NULL,[numInWalletScore] [int] NULL,[catInWalletScore] [varchar](8) NULL,[flgFS01] [int] NULL,[flgFS02] [int] NULL,[flgFS03] [int] NULL,[flgFS04] [int] NULL,[flgFS05] [int] NULL,[flgFS06] [int] NULL,[flgFS07] [int] NULL,[flgFS08] [int] NULL,[flgFS09] [int] NULL,[flgFS10] [int] NULL,[flgFS11] [int] NULL,[flgFS12] [int] NULL,[flgFS13] [int] NULL,[flgFS14] [int] NULL,[flgFS15] [int] NULL,[flgFS16] [int] NULL,[flgFS17] [int] NULL,[flgFS18] [int] NULL,[flgFS19] [int] NULL,[flgFS20] [int] NULL,[flgFS21] [int] NULL,[flgFS22] [int] NULL,[flgFS25] [int] NULL,[flgFS26] [int] NULL,[flgFS27] [int] NULL,[numCheckpointScore] [int] NULL,[catCheckpointScore] [varchar](8) NULL,[numModelScore] [int] NULL,[catModelScore] [varchar](8) NULL,[catLevelOneDecisionCode] [varchar](6) NULL,[numPrimaryResult] [varchar](10) NULL,[txtAddressVerificationResult] [varchar](10) NULL,[catAddressUnitMismatchResult] [varchar](11) NULL,[txtPhoneVerificationResult] [varchar](10) NULL,[txtPhoneUnitMismatchResult] [varchar](10) NULL,[txtAddressTypeResult] [varchar](10) NULL,[catAddressHighRiskResult] [varchar](7) NULL,[catPhoneHighRiskResult] [varchar](7) NULL,[txtSocialSecurityNumberResult] [varchar](10) NULL,[numResidentialAddressDetailRecords] [int] NULL,[numBusinessAddressDetailRecords] [int] NULL,[numAddressHighRiskDetailRecords] [int] NULL,[numAddressHighRiskDescriptionRecords] [int] NULL,[numResidentialPhoneDetailRecords] [int] NULL,[numBusinessPhoneDetailRecords] [int] NULL,[numPhoneHighRiskDetailRecords] [int] NULL,[numPhoneHighRiskDescriptionRecords] [int] NULL,[numSSNDetailRecords] [int] NULL,[numCOARecords] [int] NULL,[numCOADescriptionRecords] [int] NULL,[txtDLResultCode] [varchar](10) NULL,[catDateOfBirthMatch] [varchar](9) NULL,[txtSSNIssueState] [varchar](5) NULL,[flgSSNDeceased] [int] NULL,[txtSSNFormat] [varchar](10) NULL,[numSSNIssueStartRange] [int] NULL,[catSSNIssueStartRange] [varchar](7) NULL,[numSSNIssueEndRange] [int] NULL,[txtSSNIssueResultCode] [varchar](10) NULL,[catOFACValidationResult] [varchar](7) NULL,[sID] [int] NULL,[sUserID] [int] NULL,[numALL001] [int] NULL,[numALL021] [int] NULL,[numALL026] [int] NULL,[numALL051] [int] NULL,[numALL052] [int] NULL,[numALL062] [int] NULL,[numALL064] [int] NULL,[numALL081] [int] NULL,[numALL084] [int] NULL,[numALL141] [int] NULL,[numALL142] [int] NULL,[numALL201] [int] NULL,[numALL207] [int] NULL,[numALL208] [int] NULL,[numALL701] [int] NULL,[numALL806] [int] NULL,[numALL901] [int] NULL,[numBAC026] [int] NULL,[numBAC401] [int] NULL,[numBAC403] [int] NULL,[numILN201] [int] NULL,[numREF001] [int] NULL,[numREP002] [int] NULL,[numREV201] [int] NULL,[numREV023] [int] NULL,[numILN005] [int] NULL,[numILN108] [int] NULL, numILN002 [int] NULL, numALL803[int] NULL, numALE007 [int] NULL, numILN007 [int] NULL, numALL002 [int] NULL, numRTR751 [int] NULL, [dID] [int] NULL,[dUserID] [int] NULL,[numDistinctDups] [int] NULL,[flgDupExistence] [int] NULL,[flgDupTypeCookie] [int] NULL,[flgDupTypePhone] [int] NULL,[flgDupTypeAddress] [int] NULL,[flgDupTypeBank] [int] NULL,[numMaxDupDateOfBirthDiff] [int] NULL,[numAvgDupDateOfBirthDiff] [int] NULL,[numMinDupCreditScore] [int] NULL,[numAvgDupCreditScore] [int] NULL,[flgMaxDupUserStatusNotActive] [int] NULL,[flgMaxDupUserStatusSuspendedTerminated] [int] NULL,[flgMaxDupCreditScoreLow] [int] NULL,[flgMaxDupCreditScoreMissing] [int] NULL,[flgMaxDupLoanChargeoffDefault] [int] NULL,[flgMaxDupLoanDPD0Greater] [int] NULL,[flgMaxDupLoanDPD30Greater] [int] NULL,[flgMaxDupLoanDPD60Greater] [int] NULL,[flgMaxDupLoanDPD90Greater] [int] NULL,[flgMaxDupLoanDPD120Greater] [int] NULL,[flgMaxDupLoanActive] [int] NULL,[flgMaxDupLoanPaid] [int] NULL,[flgMaxDupNoLoan] [int] NULL,[flgMaxDupRecentLoan] [int] NULL,[flgMaxDupRecentListing] [int] NULL,[flgMaxDupManualPayment] [int] NULL,[flgMaxDupHighPayment] [int] NULL,[flgMaxDupLatePayment] [int] NULL,[flgMaxDupFailedPayment] [int] NULL,[flgMaxDupBusinessAddress] [int] NULL,[flgMaxDupSameName] [int] NULL,[flgMaxDupSameFirstName] [int] NULL,[flgMaxDupSameLastName] [int] NULL,[flgMaxDupHighAgeDiff] [int] NULL,[uID] [int] NULL,[uUserID] [int] NULL,[numUserListingAmount] [money] NULL,[flgUserMultiBankAccounts] [int] NULL,[flgUserMultiBankHolders] [int] NULL,[flgUserPrePaidBankAccount] [int] NULL,[flgUserSuspicion] [int] NULL,[ListingTitle] [varchar](50) NULL,[flgUserTitleConsolidation] [int] NULL,[flgUserTitleDebt] [int] NULL,[numUser30DBankChange] [int] NULL,[numUser30DBankCount] [int] NULL,[numUserAgeYears] [int] NULL,[numUserBankCount] [int] NULL,[numUserEmploymentLengthMonths] [int] NULL,[numUserFailLogins] [int] NULL,[numUserLogins] [int] NULL,[numUserPercentFailLogins] [numeric](33, 17) NULL,[numUserRegistrationAgeMonths] [int] NULL,[numUserSuccessLogins] [int] NULL,[numUserTitleLength] [int] NULL,[numPrevCancellations] [int] NULL,[numPrevOriginations] [int] NULL,[numPrevWithdrawals] [int] NULL,[flgFraudScreen] [int] NOT NULL,[FSSUM] [int] NULL,[flgChannelDM] [int] NOT NULL, [channel] [varchar] (5), [AggregateBalanceCreditRatioOnAllTrades6Months] [decimal](15, 5) NULL,[OpenPaidClosedInactiveInstallTrades] [int] NULL, [flgSuspicionCriterion] [int] NOT NULL, [flgFraudScreenEmail] [int] NULL, [UserCreditProfileID] [int] NOT NULL, [InitialListingAmount] [money] NOT NULL, [Income] [decimal](18,0) NULL, [HasPriorLoanFlag] [smallint] NOT NULL, [OccupationName] [varchar](50) NULL, [EmploymentDescription] [varchar](32) NULL, [MonthsEmployed] [int] NULL, [DTIChg20k36MoLoan] [numeric](15,6) NULL, [DTIwoProspLoan] [numeric](15,6) NULL, MonthlyDebt [money] NULL, [ALL801] [int] NULL, [ILN701] [int] NULL, [REV702] [int] NULL, [ListCancelLast30] [int] NULL, [MRProspModIncomeDate] [datetime] NULL, [IncomeLELastProspMod] [int] NULL, [EmpStatusChgFlag] [int] NULL, [UserLoanHistorySnapshotID] [int] NULL, [P1401] [int] NULL, [P1601] [int] NULL, [P1801] [int] NULL, [flgFraudVictimXML] [int] NULL, [flgSecurityAlertXML] [int] NULL, [flgActiveDutyXML] [int] NULL, [BovStatusID] [int] NULL, [MilStatusID] [int] NULL, [AdrStatusID] [int] NULL
- )
- DECLARE @PendingListings TABLE (
- [ID] [int] NOT NULL,[UserID] [int] NOT NULL,[PendingStartDate] [datetime] NULL,[MissingData] [int] NOT NULL
- )
- DECLARE @Stagg TABLE (
- [sID] [int] NOT NULL,[sUserID] [int] NOT NULL,[numALL001] [int] NULL,[numALL021] [int] NULL,[numALL026] [int] NULL,[numALL051] [int] NULL,[numALL052] [int] NULL,[numALL062] [int] NULL,[numALL064] [int] NULL,[numALL081] [int] NULL,[numALL084] [int] NULL,[numALL141] [int] NULL,[numALL142] [int] NULL,[numALL201] [int] NULL,[numALL207] [int] NULL,[numALL208] [int] NULL,[numALL701] [int] NULL,[numALL806] [int] NULL,[numALL901] [int] NULL,[numBAC026] [int] NULL,[numBAC401] [int] NULL,[numBAC403] [int] NULL,[numILN201] [int] NULL,[numREF001] [int] NULL,[numREP002] [int] NULL,[numREV201] [int] NULL,[numREV023] [int] NULL,[numILN005] [int] NULL,[numILN108] [int] NULL, numILN002 [int] NULL, numALL803[int] NULL, numALE007 [int] NULL, numILN007 [int] NULL, numALL002 [int] NULL, numRTR751 [int] NULL
- )
- DECLARE @User TABLE (
- [uID] [int] NOT NULL,[uUserID] [int] NOT NULL,[numUserListingAmount] [money] NULL,[flgUserMultiBankAccounts] [int] NOT NULL,[flgUserMultiBankHolders] [int] NOT NULL,[flgUserPrePaidBankAccount] [int] NOT NULL,[flgUserSuspicion] [int] NOT NULL,[ListingTitle] [varchar](50) NOT NULL,[flgUserTitleConsolidation] [int] NOT NULL,[flgUserTitleDebt] [int] NOT NULL,[numUser30DBankChange] [int] NOT NULL,[numUser30DBankCount] [int] NOT NULL,[numUserAgeYears] [int] NOT NULL,[numUserBankCount] [int] NOT NULL,[numUserEmploymentLengthMonths] [int] NOT NULL,[numUserFailLogins] [int] NOT NULL,[numUserLogins] [int] NOT NULL,[numUserPercentFailLogins] [numeric](33, 17) NOT NULL,[numUserRegistrationAgeMonths] [int] NOT NULL,[numUserSuccessLogins] [int] NOT NULL,[numUserTitleLength] [int] NOT NULL,[numPrevCancellations] [int] NOT NULL,[numPrevOriginations] [int] NOT NULL,[numPrevWithdrawals] [int] NOT NULL
- )
- DECLARE @IncVerIn TABLE (
- [ListingID] [int] NOT NULL, [UserID] [int] NOT NULL, [UserCreditProfileID] [int] NOT NULL, [InitialListingAmount] [money] NOT NULL, [Income] [decimal](18,0) NULL, [HasPriorLoanFlag] [smallint] NOT NULL, [OccupationName] [varchar](50) NULL, [EmploymentDescription] [varchar](32) NULL, [MonthsEmployed] [int] NULL, [DTIChg20k36MoLoan] [numeric](15,6) NULL, [DTIwoProspLoan] [numeric](15,6) NULL, MonthlyDebt [money] NULL, [ALL801] [int] NULL, [ILN701] [int] NULL, [REV702] [int] NULL
- )
- DECLARE @ListCancelLast30 TABLE (
- [ListingID] [int] NOT NULL, [ListCancelLast30] [int] NULL
- )
- DECLARE @LastProspIncUpdateDate TABLE (
- [UserID] [int] NOT NULL, [ListingID] [int] NOT NULL, [MRProspModIncomeDate] [datetime] NULL
- )
- DECLARE @IncModifyGroup TABLE (
- [ListingID] [int] NULL, [IncomeLELastProspMod] [int] NULL, [EmpStatusChgFlag] [int] NULL
- )
- DECLARE @UserDupes TABLE (UserID int,DupUserID int,UserLoginCount int,DupUserLoginCount int)
- DECLARE @IDVAggregateLogins table(UserID int, numUserLogins int, numUserSuccessLogins INT, numUserFailLogins INT, numUserPercentFailLogins FLOAT)
- --1. get pending listings
- PRINT 'AllPendingListings: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @AllPendingListings
- select top 1 li.ID, li.UserID, ls.CreatedDate 'PendingStartDate'
- from c1.dbo.listings li (nolock)
- left join c1.dbo.ListingStatus ls (nolock) on li.ID = ls.ListingID and ls.ListingStatusTypeID = 1 and ls.VersionEndDate is null and ls.VersionValidBit = 1
- where li.ID = @ListingID
- --2 removed because it was deleted out on delivery
- --3. filter out listings missing level 3 response
- PRINT 'PendingListings: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @PendingListings
- select li.*,
- case
- when ucp.ExperianDocumentID in (select ExperianDocumentID from c1.dbo.ExperianCreditProfileResponse)
- and li.UserID in (select UserID from c1.dbo.Level3_Inwallet_Response)
- then 0 else 1 end as 'MissingData'
- from @AllPendingListings li
- left join c1.dbo.Listings l (nolock) on l.ID = li.ID
- left join c1.dbo.UserCreditProfiles ucp (nolock) on l.UserCreditProfileID = ucp.UserCreditProfileID
- --4. pull experian variables
- --4a. prepare staging table
- PRINT 'ExperianStaging: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @ExperianStaging
- select ListingID = pl.ID, l3rp.*
- from @PendingListings pl
- left join c1.dbo.Listings li (nolock) on li.id = pl.ID
- left join c1.dbo.Level3_Inwallet_Response L3rp (nolock) on L3rp.userid = li.userid
- from c1.dbo.Level3_Inwallet_Response (nolock)
- where userid = l3rp.userid)
- --4b. create variable table
- PRINT 'Experian: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @Experian
- select eID = pl.ID, eUserID = pl.UserID, numAgeOfAuthenticationMonths = datediff(mm,l3rp.CreationDate,li.StartTime),
- numAgeOfAuthenticationYears = datediff(yy,l3rp.CreationDate,li.StartTime),
- datAuthenticationCreationDate = l3rp.CreationDate, numConsumerTotal = l3rp.ConsumerTotal,
- numCustomerOnlyTotal = l3rp.CustomerOnlyTotal,
- catSSNMatch = case l3rp.SSNMatch
- when 1 then 'match'
- when 2 then 'partial'
- when 3 then 'nomatch'
- when 4 then 'notonfile' end,
- catYOBMatch = case l3rp.YOBMatch
- when 1 then 'match'
- when 2 then 'partial'
- when 3 then 'nomatch'
- when 4 then 'notonfile' end,
- catDLMatch = case l3rp.DLMatch
- when 1 then 'match'
- when 3 then 'nomatch'
- when 4 then 'notonfile' else 'missing' end,
- catDLSMatch = case l3rp.DLSMatch
- when 1 then 'match'
- when 3 then 'nomatch'
- when 4 then 'notonfile' else 'missing' end,
- numAuthenticationScore = case
- when l3rp.AuthenticationScore between 1 and 999 then l3rp.AuthenticationScore
- else (select avg(AuthenticationScore)
- from @ExperianStaging
- where AuthenticationScore between 1 and 999) end,
- catAuthenticationScore = case
- when l3rp.AuthenticationScore = 9001 then 'deceased'
- when l3rp.AuthenticationScore = 9012 then 'alert'
- when l3rp.AuthenticationScore between 1 and 999 then 'valid' else 'other' end
- ,l3rp.ASScoreFactor1
- ,l3rp.ASScoreFactor2
- ,l3rp.ASScoreFactor3
- ,l3rp.ASScoreFactor4
- ,numScoreFactorCount = case when l3rp.ASScoreFactor1 <> 0 then 1 else 0 end
- + case when l3rp.ASScoreFactor2 <> 0 then 1 else 0 end
- + case when l3rp.ASScoreFactor3 <> 0 then 1 else 0 end
- + case when l3rp.ASScoreFactor4 <> 0 then 1 else 0 end
- ,flgBlockedFile = case when l3rp.BlockedFileFlag = 'Y' then 1 else 0 end
- ,flgVictimStatement = case when l3rp.VictimStmtFlag = 'Y' then 1 else 0 end
- ,flgConsumerStatement = case when l3rp.ConsumerStatementFlag = 'Y' then 1 else 0 end
- ,flgLargeFile = case when l3rp.LargeFileFlag = 'Y' then 1 else 0 end
- ,catAlertMessage = case when left(l3rp.VictimStatementMessage,6) in ('ID FRA','FRAUD ','MY IDE') then 'fraud'
- when left(l3rp.VictimStatementMessage,6) IN ('ID SEC', 'ACTIVE', 'FRAUDU') then 'security'
- else 'none' end
- ,flgFraudAlert = case when left(l3rp.VictimStatementMessage,6) in ('ID FRA','FRAUD ','MY IDE') then 1 else 0 end
- ,flgSecurityAlert = case when left(l3rp.VictimStatementMessage,6) IN ('ID SEC', 'ACTIVE', 'FRAUDU') then 1 else 0 end
- ,catIPCountryMatch = case l3rp.IPCountryMatch
- when 1 then 'matchUS'
- when 2 then 'matchnotUS'
- when 3 then 'nomatch'
- when 4 then 'ipnotavail'
- when 5 then 'private'
- when 6 then 'unknown'
- when null then 'missing'
- else 'check' end
- ,catIPStateMatch = case l3rp.IPStateMatch
- when 1 then 'matchinput'
- when 2 then 'nomatchinput'
- when 3 then 'nomatch'
- when 4 then 'ipnotavail'
- when 5 then 'statenotapp'
- when null then 'missing'
- else 'check' end
- ,txtIPState = isnull(case when l3rp.IPState in ('?','***') then null else l3rp.IPState end,'missing')
- ,catIPCityMatch = case l3rp.IPCityMatch
- when 1 then 'matchinput'
- when 2 then 'nomatchinput'
- when 3 then 'nomatch'
- when 4 then 'ipnotavail'
- when null then 'missing'
- else 'check' end
- ,txtIPCity = isnull(case when l3rp.IPCity = '?' then null else l3rp.IPCity end,'missing')
- ,catIPZipMatch = case l3rp.IPZipMatch
- when 1 then 'matchinput'
- when 2 then 'nomatchinput'
- when 3 then 'nomatch'
- when 4 then 'ipnotavail'
- when 5 then 'zipnotapp'
- when null then 'missing'
- else 'check' end
- ,txtIPZip = isnull(right('00000'+cast(l3rp.IPZip as varchar),5),'00000')
- ,catAcceptReferCode = case l3rp.AcceptReferCode
- when 'A' then 'accept'
- when 'R' then 'refer'
- when 'D' then 'deny' end
- ,catOutputTypeCode = l3rp.OutputTypeCode
- ,numInWalletScore = case when l3rp.InWalletScore between 1 and 999 then l3rp.InWalletScore
- else (select avg(InWalletScore) from @ExperianStaging where InWalletScore between 1 and 999) end
- ,catInWalletScore = case when l3rp.InWalletScore = 9001 then 'deceased'
- when l3rp.InWalletScore = 9012 then 'alert'
- when l3rp.InWalletScore between 1 and 999 then 'valid' else 'other' end
- ,flgFS01 = case when l3rp.FS01 = 'Y' then 1 else 0 end
- ,flgFS02 = case when l3rp.FS02 = 'Y' then 1 else 0 end
- ,flgFS03 = case when l3rp.FS03 = 'Y' then 1 else 0 end
- ,flgFS04 = case when l3rp.FS04 = 'Y' then 1 else 0 end
- ,flgFS05 = case when l3rp.FS05 = 'Y' then 1 else 0 end
- ,flgFS06 = case when l3rp.FS06 = 'Y' then 1 else 0 end
- ,flgFS07 = case when l3rp.FS07 = 'Y' then 1 else 0 end
- ,flgFS08 = case when l3rp.FS08 = 'Y' then 1 else 0 end
- ,flgFS09 = case when l3rp.FS09 = 'Y' then 1 else 0 end
- ,flgFS10 = case when l3rp.FS10 = 'Y' then 1 else 0 end
- ,flgFS11 = case when l3rp.FS11 = 'Y' then 1 else 0 end
- ,flgFS12 = case when l3rp.FS12 = 'Y' then 1 else 0 end
- ,flgFS13 = case when l3rp.FS13 = 'Y' then 1 else 0 end
- ,flgFS14 = case when l3rp.FS14 = 'Y' then 1 else 0 end
- ,flgFS15 = case when l3rp.FS15 = 'Y' then 1 else 0 end
- ,flgFS16 = case when l3rp.FS16 = 'Y' then 1 else 0 end
- ,flgFS17 = case when l3rp.FS17 = 'Y' then 1 else 0 end
- ,flgFS18 = case when l3rp.FS18 = 'Y' then 1 else 0 end
- ,flgFS19 = case when l3rp.FS19 = 'Y' then 1 else 0 end
- ,flgFS20 = case when l3rp.FS20 = 'Y' then 1 else 0 end
- ,flgFS21 = case when l3rp.FS21 = 'Y' then 1 else 0 end
- ,flgFS22 = case when l3rp.FS22 = 'Y' then 1 else 0 end
- ,flgFS25 = case when l3rp.FS25 = 'Y' then 1 else 0 end
- ,flgFS26 = case when l3rp.FS26 = 'Y' then 1 else 0 end
- ,flgFS27 = case when l3rp.FS27 = 'Y' then 1 else 0 end
- ,numCheckpointScore = case when l3rp.CheckpointScore between 1 and 999 then l3rp.CheckpointScore
- else (select avg(CheckpointScore) from @ExperianStaging where CheckpointScore between 1 and 999) end
- ,catCheckpointScore = case when l3rp.CheckpointScore = 9001 then 'deceased'
- when l3rp.CheckpointScore = 9012 then 'alert'
- when l3rp.CheckpointScore between 1 and 999 then 'valid' else 'other' end
- ,numModelScore = case when l3rp.ModelScore between 1 and 999 then l3rp.ModelScore
- else (select avg(ModelScore) from @ExperianStaging where ModelScore between 1 and 999) end
- ,catModelScore = case when l3rp.ModelScore = 9001 then 'deceased'
- when l3rp.ModelScore = 9012 then 'alert'
- when l3rp.ModelScore between 1 and 999 then 'valid' else 'other' end
- ,catLevelOneDecisionCode = case l3rp.LevelOneDecisionCode
- when 'A' then 'accept'
- when 'R' then 'refer'
- when 'D' then 'deny' end
- ,numPrimaryResult = l3rp.PrimaryResult
- ,txtAddressVerificationResult = l3rp.AddressVerificationResult
- ,catAddressUnitMismatchResult = case l3rp.AddressUnitMismatchResult
- when 'MU' then 'missingunit'
- when 'EU' then 'extraunit'
- when 'WU' then 'wrongunit'
- when '' then 'missing' end
- ,txtPhoneVerificationResult = l3rp.PhoneVerificationResult
- ,txtPhoneUnitMismatchResult = isnull(l3rp.PhoneUnitMismatchResult,'missing')
- ,txtAddressTypeResult = l3rp.AddressTypeResult
- ,catAddressHighRiskResult = case l3rp.AddressHighRiskResult
- when 'N' then 'none'
- when 'YA' then 'found'
- when 'NP' then 'notest'
- else 'missing' end
- ,catPhoneHighRiskResult = case l3rp.PhoneHighRiskResult
- when 'N' then 'none'
- when 'YP' then 'found'
- when 'NP' then 'notest'
- else 'missing' end
- ,txtSocialSecurityNumberResult = l3rp.SocialSecurityNumberResult
- ,numResidentialAddressDetailRecords = l3rp.NumResidentialAddressDetailRecords
- ,numBusinessAddressDetailRecords = l3rp.NumBusinessAddressDetailRecords
- ,numAddressHighRiskDetailRecords = l3rp.NumAddressHighRiskDetailRecords
- ,numAddressHighRiskDescriptionRecords = l3rp.NumAddressHighRiskDescriptionRecords
- ,numResidentialPhoneDetailRecords = l3rp.NumResidentialPhoneDetailRecords
- ,numBusinessPhoneDetailRecords = l3rp.NumBusinessPhoneDetailRecords
- ,numPhoneHighRiskDetailRecords = l3rp.NumPhoneHighRiskDetailRecords
- ,numPhoneHighRiskDescriptionRecords = l3rp.NumPhoneHighRiskDescriptionRecords
- ,numSSNDetailRecords = l3rp.NumSSNDetailRecords
- ,numCOARecords = l3rp.NumCOARecords
- ,numCOADescriptionRecords = l3rp.NumCOADescriptionRecords
- ,txtDLResultCode = l3rp.DLResultCode
- ,catDateOfBirthMatch = case l3rp.DateOfBirthMatch
- when 1 then 'match'
- when 2 then 'partial'
- when 3 then 'nomatch'
- when 4 then 'nofile'
- when 5 then 'ssnnofile' end
- ,txtSSNIssueState = l3rp.SSNIssueState
- ,flgSSNDeceased = case when l3rp.SSNDeceased = 'Y' then 1 else 0 end
- ,txtSSNFormat = l3rp.SSNFormat
- ,numSSNIssueStartRange = case when l3rp.SSNIssueStartRange <> 0 then l3rp.SSNIssueStartRange
- else (select avg(SSNIssueStartRange) from @ExperianStaging where SSNIssueStartRange <> 0) end
- ,catSSNIssueStartRange = case when l3rp.SSNIssueStartRange <> 0 then 'valid' else 'unknown' end
- ,numSSNIssueEndRange = case when l3rp.SSNIssueEndRange <> 0 then l3rp.SSNIssueEndRange
- else (select avg(SSNIssueEndRange) from @ExperianStaging where SSNIssueEndRange <> 0) end
- ,txtSSNIssueResultCode = l3rp.SSNIssueResultCode
- ,catOFACValidationResult = case l3rp.OFACValidationResult
- when 1 then 'nomatch'
- when 2 then 'full'
- when 14 then 'surname' end
- --into @Experian --drop table @ExperianFlags
- from @PendingListings pl
- left join c1.dbo.Listings li (nolock) on li.ID= pl.ID
- left join @ExperianStaging L3rp on l3rp.ListingID = pl.ID
- --select * from @Experian
- --4c. create stagg table
- PRINT 'Stagg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @Stagg
- select [sID] = ID
- ,sUserID = UserID
- ,numALL001 = ALL001
- ,numALL021 = ALL021
- ,numALL026 = ALL026
- ,numALL051 = ALL051
- ,numALL052 = ALL052
- ,numALL062 = ALL062
- ,numALL064 = ALL064
- ,numALL081 = ALL081
- ,numALL084 = ALL084
- ,numALL141 = ALL141
- ,numALL142 = ALL142
- ,numALL201 = ALL201
- ,numALL207 = ALL207
- ,numALL208 = ALL208
- ,numALL701 = ALL701
- ,numALL806 = ALL806
- ,numALL901 = ALL901
- ,numBAC026 = BAC026
- ,numBAC401 = BAC401
- ,numBAC403 = BAC403
- ,numILN201 = ILN201
- ,numREF001 = REF001
- ,numREP002 = REP002
- ,numREV201 = REV201
- ,numREV023 = REV023
- ,numILN005 = ILN005
- ,numILN108 = ILN108
- ,numILN002 = ILN002 -- New model
- ,numALL803 = ALL803 -- New model
- ,numALE007 = ALE007 -- New model
- ,numILN007 = ILN007 -- New model
- ,numALL002 = ALL002 -- New model
- ,numRTR751 = RTR751 -- New model
- --into @Stagg
- from (
- select up.ID, up.UserID, s.AttributeID, cast(s.AttributeValue as int) 'AttributeValue'
- from @PendingListings up
- left join c1.dbo.Listings li (nolock) on up.ID = li.ID --change to c1
- left join c1.dbo.UserCreditProfiles ucp (nolock) on li.UserCreditProfileID = ucp.UserCreditProfileID
- left join c1.dbo.ExperianCreditProfileResponse ecpr (nolock) on ecpr.ExperianDocumentID = ucp.ExperianDocumentID
- left join c1.dbo.ExperianCreditProfileStaggData s (nolock) on s.ExperianCreditProfileResponseID = ecpr.ExperianCreditProfileResponseID
- ) as src
- pivot (sum(AttributeValue) for AttributeID in
- ([ALL001],[ALL021],[ALL026],[ALL051],[ALL052],[ALL062],[ALL064],[ALL081]
- ,[ALL084],[ALL141],[ALL142],[ALL201],[ALL207],[ALL208],[ALL701],[ALL806]
- ,[ALL901],[BAC026],[BAC401],[BAC403],[ILN201],[REF001],[REP002],[REV201]
- ,[REV023],[ILN005],[ILN108]
- ,[ILN002],[ALL803],[ALE007],[ILN007],[ALL002],[RTR751])) as pvt
- --select * from @Stagg
- PRINT 'DuplicateUsers: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- Insert into @UserDupes
- Exec SingleListingLPR_GetCookieDupes @userid
- PRINT ' Cookie: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsers
- select distinct li.ID, li.UserID, ud.DupUserID as 'DupUserID', 'Cookie' as 'DupType'
- from @PendingListings li
- left join @UserDupes ud on li.userID=ud.userID
- PRINT ' Address: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsers
- select distinct li.ID, li.UserID, u.id as 'DupUserID', 'Address' as 'DupType'
- from @PendingListings li
- left join c1.dbo.usertoaddress uta (nolock) on uta.userid = li.UserID
- left join c1.dbo.address a (nolock) on a.addressid = uta.addressid
- left join c1.dbo.usertoaddress utad (nolock) on utad.addressid = a.addressid
- left join c1.dbo.users u (nolock) on u.id = utad.userid
- and u.status <> 6 and u.id > 0 and u.id <> li.userid
- where u.id is not null
- PRINT ' Phone: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsers
- select distinct li.ID, li.UserID, u.id as 'DupUserID', 'Phone' as 'DupType'
- from @PendingListings li
- left join
- (
- select distinct li.UserID, p.areacode as Areacode, p.phonenumber, upt.Name [PhoneType]
- from @PendingListings li
- join c1.dbo.usertophone utp (nolock) on utp.userid = li.userid
- left join circleone.dbo.userphonetype upt (nolock) on upt.UserPhoneTypeID = utp.UserPhoneTypeID
- join c1.dbo.phone p (nolock) on p.phoneid = utp.phoneid
- where p.phonenumber <> ''
- union
- select distinct li.UserID, p.areacode as Areacode, p.phonenumber, 'Work' [PhoneType]
- from @PendingListings li
- join c1.dbo.useremploymentdetail ued (nolock) on ued.userid = li.UserID
- join c1.dbo.phone p (nolock) on p.phoneid = ued.employerphoneid
- where p.phonenumber <> ''
- ) d on li.UserID = d.UserID
- left join c1.dbo.phone p (nolock) on p.areacode = d.Areacode and p.phonenumber = d.phonenumber
- left join
- (
- select distinct utp.userid, utp.phoneid, upt.Name [PhoneType], utp.VersionStartDate
- from c1.dbo.usertophone utp (nolock)
- left join circleone.dbo.userphonetype upt (nolock) on upt.UserPhoneTypeID = utp.UserPhoneTypeID
- union
- select distinct ued.userid, ued.employerphoneid [phoneid], 'Work' [PhoneType], ued.VersionStartDate
- from c1.dbo.useremploymentdetail ued (nolock)
- ) utp on utp.phoneid = p.phoneid and not (utp.PhoneType = 'Work' and d.PhoneType = 'Work')
- left join c1.dbo.users u (nolock) on u.id = utp.userid and u.status <> 6 and u.id > 0 and u.id <> li.userid
- where u.id is not null
- PRINT ' Bank: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsers
- select distinct li.ID, li.UserID, u.id as 'DupUserID', 'Bank' as 'DupType'
- from @PendingListings li
- left join (
- select distinct li.UserID, circleone_dw.dbo.fndecrypt(ba.enaccountnumber) [acctnum], ba.routingnumber
- from @PendingListings li
- left join c1.dbo.accounts a (nolock) on a.userid = li.UserID
- left join c1.dbo.bankaccounts ba (nolock) on ba.accountid = a.id
- where ba.routingnumber is not null
- ) t on t.UserID = li.UserID
- cross apply circleone.dbo.fnaccountgetbynumber (t.acctnum, t.routingnumber) b
- left join c1.dbo.accounts ad on ad.id = b.acctid
- left join c1.dbo.users u on u.id = ad.userid
- and u.status <> 6 and u.id > 0 and u.id <> li.UserID
- where u.id is not null
- --5b. prepare DOB, COD, PMT, ADR, IDV, EMP
- PRINT 'DuplicateUsersDOBStg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsersDOBStg
- select du.ID
- , du.UserID
- , du.DupUserID
- , du.DupType
- , datDupDateOfBirth = convert(datetime,circleone_dw.dbo.fndecrypt(u.enDateOfBirth),100)
- , datUserDateOfBirth = convert(datetime,circleone_dw.dbo.fndecrypt(ou.enDateOfBirth),100)
- , numDateOfBirthDiff = abs(datepart(yy,circleone_dw.dbo.fndecrypt(ou.enDateOfBirth))
- -datepart(yy,circleone_dw.dbo.fndecrypt(u.enDateOfBirth)))
- --into @DuplicateUsersDOBStg
- from @DuplicateUsers du
- left join c1.dbo.users u on u.ID = du.DupUserID
- left join c1.dbo.users ou on ou.ID = du.UserID
- PRINT 'DuplicateUsersCODStg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsersCODStg
- select up.ID
- ,up.UserID
- ,du.DupUserID
- ,du.DupType
- ,sum(case when lst.Name in ('CHARGEOFF','DEFAULTED') then 1 else 0 end) as 'numDupLoanChargeoffDefaulted'
- ,sum(case when ld.dpd > 0 then 1 else 0 end) as 'numDupLoanDPD0Greater'
- ,sum(case when ld.dpd > 30 then 1 else 0 end) as 'numDupLoanDPD30Greater'
- ,sum(case when ld.dpd > 60 then 1 else 0 end) as 'numDupLoanDPD60Greater'
- ,sum(case when ld.dpd > 90 then 1 else 0 end) as 'numDupLoanDPD90Greater'
- ,sum(case when ld.dpd > 120 then 1 else 0 end) as 'numDupLoanDPD120Greater'
- ,sum(case when lst.Name in ('ACTIVE','FINALPAYMENTINPROGRESS') then 1 else 0 end) as 'numDupLoanActive'
- ,sum(case when lst.Name in ('COMPLETED') then 1 else 0 end) as 'numDupLoanPaid'
- ,sum(case when lo.loanid is null then 1 else 0 end) as 'flgDupNoLoan'
- ,sum(case when datediff(mm,lo.originationdate,GETDATE()) <= 3 then 1 else 0 end) as 'numDupRecentLoan'
- --into @DuplicateUsersCODStg
- from @PendingListings up
- left join @DuplicateUsers du on du.UserID = up.UserID and up.ID = du.ID
- left join c1.dbo.Loans lo on du.dupuserid = lo.borrowerid
- left join c1.dbo.loandetail ld on ld.loanid = lo.loanid
- and ld.versionenddate is null and ld.versionvalidbit = 1
- left join c1.dbo.LoanStatusTypes lst on lst.ID = ld.LoanStatusTypesID
- group by up.ID
- ,up.UserID
- ,du.DupUserID
- ,du.DupType
- --select * from @DuplicateUsersCODStg
- PRINT 'DuplicateUsersPMTStg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- --INSERT INTO @DuplicateUsersPMTStg
- select up.ID
- ,up.UserID
- ,du.DupUserID
- ,du.DupType
- ,sum(case when isnull(lp.ismanualpayment,0) = 1 then 1 else 0 end) 'numDupManualPayment'
- ,sum(case when isnull(lp.Amount,0) >= 3*isnull(li.MonthlyPayment,0) then 1 else 0 end) 'numDupHighPayment'
- ,sum(case when isnull(lp.predpd,0) > 0 then 1 else 0 end) 'numDupLatePayment'
- ,sum(case when isnull(lp.OntarioPreviousSplitID,0) is not null then 1 else 0 end) 'numDupFailedPayment'
- ,count(lp.loanpaymentid) 'numDupLoanPayments'
- --into @DuplicateUsersPMTStg
- from @PendingListings up
- left join @DuplicateUsers du on du.userid = up.userid and du.ID = up.ID
- left join c1.dbo.Loans lo on du.dupuserid = lo.borrowerid
- left join c1.dbo.listings li on li.loanid = lo.loanid
- left join c1.dbo.LoanPayment lp on lp.loanid = lo.loanid
- and lp.amount > 0
- group by up.UserID
- ,up.ID
- ,du.DupUserID
- ,du.DupType
- PRINT 'DuplicateUsersADRStg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsersADRStg
- select up.ID
- ,up.UserID
- ,du.DupUserID
- ,du.DupType
- ,flgDupBusinessAddress = case when at.ID in (3,4) then 1 else 0 end
- ,flgDupSameLastName = case when isnull(undl.LastName,undp.LastName) = isnull(undl2.LastName,undp2.LastName) then 1 else 0 end
- ,flgDupSameFirstName = case when isnull(undl.FirstName,undp.FirstName) = isnull(undl2.FirstName,undp2.FirstName) then 1 else 0 end
- ,flgDupSameName = case when (isnull(undl.FirstName,undp.FirstName) = isnull(undl2.FirstName,undp2.FirstName)
- and isnull(undl.LastName,undp.LastName) = isnull(undl2.LastName,undp2.LastName)) then 1 else 0 end
- --into @DuplicateUsersADRStg
- from @PendingListings up
- left join @DuplicateUsers du on du.userid = up.userid and up.ID = du.ID
- left join c1.dbo.usertoaddress uta (nolock) on uta.userid = up.userid
- and uta.versionenddate is null and uta.versionvalidbit = 1
- and uta.islegaladdress = 1
- and uta.usertoaddressid in (select max(usertoaddressid)
- from c1.dbo.usertoaddress
- where userid = up.UserID
- and versionenddate is null and versionvalidbit = 1
- and islegaladdress = 1)
- left join c1.dbo.usertoaddress uta2 (nolock) on uta2.userid = du.dupuserid
- and uta2.versionenddate is null and uta2.versionvalidbit = 1
- and uta2.ispreferredmailing = 1
- and uta2.usertoaddressid in (select max(usertoaddressid)
- from c1.dbo.usertoaddress
- where userid = du.dupuserid
- and versionenddate is null and versionvalidbit = 1
- and ispreferredmailing = 1)
- left join circleone.dbo.AddressTypes at on at.ID = uta2.UserAddressTypeID
- left join c1.dbo.UserNameDetail undl on undl.userid = du.userid
- and undl.versionenddate is null and undl.versionvalidbit = 1
- and undl.UserNameTypeID = 3
- left join c1.dbo.UserNameDetail undl2 on undl2.userid = du.dupuserid
- and undl2.versionenddate is null and undl2.versionvalidbit = 1
- and undl2.UserNameTypeID = 3
- left join c1.dbo.UserNameDetail undp on undp.userid = du.userid
- and undp.versionenddate is null and undp.versionvalidbit = 1
- and undp.UserNameTypeID = 2
- left join c1.dbo.UserNameDetail undp2 on undp2.userid = du.dupuserid
- and undp2.versionenddate is null and undp2.versionvalidbit = 1
- and undp2.UserNameTypeID = 2
- PRINT 'DuplicateUsersEMPStg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicateUsersEMPStg
- select up.ID
- ,up.UserID
- ,du.DupUserID
- ,du.DupType
- --into @DuplicateUsersEMPStg
- from @PendingListings up
- left join @DuplicateUsers du on du.userid = up.userid and up.ID = du.ID
- left join c1.dbo.UserEmploymentDetail ued on ued.userid = du.dupuserid
- and ued.versionenddate is null and ued.versionvalidbit = 1
- left join c1.dbo.EmploymentStatus es on es.EmploymentStatusID = ued.EmploymentStatusID
- --5c. prepare duplicate user staging table
- PRINT 'DuplicatesStg: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @DuplicatesStg
- select up.ID
- , up.UserID
- , aaaDupUserID = du.DupUserID
- , catDupType = du.DupType
- , flgDupSuspicious = case when s.suspicionid is not null then 1 else 0 end
- , dbo.datDupDateOfBirth
- , dbo.datUserDateOfBirth
- , dbo.numDateOfBirthDiff
- , catDupUserStatus = isnull(us.Description,us2.Description)
- , flgDupUserStatusNotActive = case when isnull(us.Description,us2.Description) <> 'ACTIVE' then 1 else 0 end
- , flgDupUserStatusSuspendedTerminated = case when isnull(us.Description,us2.Description) in ('SUSPENDED','TERMINATED') then 1 else 0 end
- , numDupCreditScore = case when ucp.Score between 300 and 900 then ucp.Score else 640 end
- , flgDupCreditScoreLow = case when ucp.Score between 300 and 640 then 1 else 0 end
- , flgDupCreditScoreMissing = case when ucp.Score is null or ucp.Score = -1 then 1 else 0 end
- , flgDupLoanChargeoffDefault = case when isnull(cod.numDupLoanChargeoffDefaulted,0) > 0 then 1 else 0 end
- , flgDupLoanDPD0Greater = case when isnull(cod.numDupLoanDPD0Greater,0) > 0 then 1 else 0 end
- , flgDupLoanDPD30Greater = case when isnull(cod.numDupLoanDPD30Greater,0) > 0 then 1 else 0 end
- , flgDupLoanDPD60Greater = case when isnull(cod.numDupLoanDPD60Greater,0) > 0 then 1 else 0 end
- , flgDupLoanDPD90Greater = case when isnull(cod.numDupLoanDPD90Greater,0) > 0 then 1 else 0 end
- , flgDupLoanDPD120Greater = case when isnull(cod.numDupLoanDPD120Greater,0) > 0 then 1 else 0 end
- , flgDupLoanActive = case when isnull(cod.numDupLoanActive,0) > 0 then 1 else 0 end
- , flgDupLoanPaid = case when isnull(cod.numDupLoanPaid,0) > 0 then 1 else 0 end
- , flgDupNoLoan = case when isnull(cod.flgDupNoLoan,1) > 0 then 1 else 0 end
- , flgDupRecentLoan = case when isnull(cod.numDupRecentLoan,0) > 0 then 1 else 0 end
- , flgDupRecentListing = case when datediff(dd,li.starttime,GETDATE()) <= 14 then 1 else 0 end
- , flgDupManualPayment = case when isnull(pmt.numDupManualPayment,0) > 0 then 1 else 0 end
- , flgDupHighPayment = case when isnull(pmt.numDupHighPayment,0) > 0 then 1 else 0 end
- , flgDupLatePayment = case when isnull(pmt.numDupLatePayment,0) > 0 then 1 else 0 end
- , flgDupFailedPayment = case when isnull(pmt.numDupFailedPayment,0) > 0 then 1 else 0 end
- , flgDupBusinessAddress = isnull(adr.flgDupBusinessAddress,0)
- , flgDupSameName = isnull(adr.flgDupSameName,0)
- , flgDupSameFirstName = isnull(adr.flgDupSameFirstName,0)
- , flgDupSameLastName = isnull(adr.flgDupSameLastName,0)
- --into @DuplicatesStg
- from @PendingListings up
- left join @DuplicateUsers du on du.userid = up.userid and up.ID = du.ID
- left join c1.dbo.suspicion s (nolock) on s.userid = du.dupuserid
- and s.createddate in (select max(createddate)
- from c1.dbo.suspicion (nolock)
- where userid = du.dupuserid)
- left join @DuplicateUsersDOBStg dbo on dbo.UserID = du.UserID
- and dbo.DupUserID = du.DupUserID
- and dbo.DupType = du.DupType
- left join CircleOne.dbo.UserToStatus uts on uts.UserID = du.DupUserID --change back to c1
- and uts.CreationDate in (select max(CreationDate) --select * from c1.dbo.UserToStatus
- from CircleOne.dbo.UserToStatus
- where UserID = du.DupUserID)
- left join c1.dbo.UserStatuses us on us.ID = uts.UserStatusID
- left join c1.dbo.Users u on u.id = du.dupuserid
- left join c1.dbo.UserStatuses us2 on us2.ID = u.status
- left join c1.dbo.UserCreditProfiles ucp on ucp.UserID = du.dupUserID
- and ucp.VersionEndDate is null and ucp.VersionValidBit = 1
- and ucp.UserCreditProfileID in (select max(UserCreditProfileID)
- from c1.dbo.UserCreditProfiles
- where userID = du.dupUserID
- and VersionEndDate is null and VersionValidBit = 1)
- left join @DuplicateUsersCODStg cod on cod.UserID = du.UserID and cod.ID = du.ID
- and cod.DupUserID = du.DupUserID
- and cod.DupType = du.DupType
- left join c1.dbo.listings li on li.userid = du.dupUserID
- and li.status between 2 and 8
- and li.starttime in (select max(starttime)
- from c1.dbo.listings
- where userid = du.dupUserID
- and [status] between 2 and 8)
- left join @DuplicateUsersPMTStg pmt on pmt.UserID = du.UserID and pmt.ID = du.ID
- and pmt.DupUserID = du.DupUserID
- and pmt.DupType = du.DupType
- left join @DuplicateUsersADRStg adr on adr.UserID = du.UserID and adr.ID = du.ID
- and adr.DupUserID = du.DupUserID
- and adr.DupType = du.DupType
- left join @DuplicateUsersEMPStg emp on emp.UserID = du.UserID and emp.ID = du.ID
- and emp.DupUserID = du.DupUserID
- and emp.DupType = du.DupType
- --5d. create summary duplicate data table
- PRINT 'Duplicates: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @Duplicates
- select dID = ID
- ,dUserID = UserID
- ,numDistinctDups = count(distinct d.aaaDupUserID)
- ,flgDupExistence = case when count(distinct d.aaaDupUserID) > 0 then 1 else 0 end
- ,flgDupTypeCookie = sum(case when d.catDupType = 'Cookie' then 1 else 0 end)
- ,flgDupTypePhone = sum(case when d.catDupType = 'Phone' then 1 else 0 end)
- ,flgDupTypeAddress = sum(case when d.catDupType = 'Address' then 1 else 0 end)
- ,flgDupTypeBank = sum(case when d.catDupType = 'Bank' then 1 else 0 end)
- ,numMaxDupDateOfBirthDiff = isnull(max(numDateOfBirthDiff),0)
- ,numAvgDupDateOfBirthDiff = isnull(avg(numDateOfBirthDiff),0)
- ,numMinDupCreditScore = isnull(min(numDupCreditScore),640)
- ,numAvgDupCreditScore = isnull(avg(numDupCreditScore),640)
- ,flgMaxDupUserStatusNotActive = max(flgDupUserStatusNotActive)
- ,flgMaxDupUserStatusSuspendedTerminated = max(flgDupUserStatusSuspendedTerminated)
- ,flgMaxDupCreditScoreLow = max(flgDupCreditScoreLow)
- ,flgMaxDupCreditScoreMissing = max(flgDupCreditScoreMissing)
- ,flgMaxDupLoanChargeoffDefault = max(flgDupLoanChargeoffDefault)
- ,flgMaxDupLoanDPD0Greater = max(flgDupLoanDPD0Greater)
- ,flgMaxDupLoanDPD30Greater = max(flgDupLoanDPD30Greater)
- ,flgMaxDupLoanDPD60Greater = max(flgDupLoanDPD60Greater)
- ,flgMaxDupLoanDPD90Greater = max(flgDupLoanDPD90Greater)
- ,flgMaxDupLoanDPD120Greater = max(flgDupLoanDPD120Greater)
- ,flgMaxDupLoanActive = max(flgDupLoanActive)
- ,flgMaxDupLoanPaid = max(flgDupLoanPaid)
- ,flgMaxDupNoLoan = max(flgDupNoLoan)
- ,flgMaxDupRecentLoan = max(flgDupRecentLoan)
- ,flgMaxDupRecentListing = max(flgDupRecentListing)
- ,flgMaxDupManualPayment = max(flgDupManualPayment)
- ,flgMaxDupHighPayment = max(flgDupHighPayment)
- ,flgMaxDupLatePayment = max(flgDupLatePayment)
- ,flgMaxDupFailedPayment = max(flgDupFailedPayment)
- ,flgMaxDupBusinessAddress = max(flgDupBusinessAddress)
- ,flgMaxDupSameName = max(flgDupSameName)
- ,flgMaxDupSameFirstName = max(flgDupSameFirstName)
- ,flgMaxDupSameLastName = max(flgDupSameLastName)
- ,flgMaxDupHighAgeDiff = case when isnull(max(numDateOfBirthDiff),0) > 10 then 1 else 0 end
- --into @Duplicates
- from @DuplicatesStg d
- group by ID,UserID
- Insert into @IDVAggregateLogins
- Exec SingleListing_IDVAggregateLogins @userid
- PRINT 'User: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @User
- select [uID] = up.ID
- ,uUserID = up.UserID
- ,numUserListingAmount = li.Amount
- ,flgUserMultiBankAccounts = isnull(flgUserMultiBankAccounts,0)
- ,flgUserMultiBankHolders = isnull(flgUserMultiBankHolders,0)
- ,flgUserPrePaidBankAccount = isnull(flgUserPrePaidBankAccount,0)
- ,flgUserSuspicion = isnull(flgUserSuspicion,0)
- ,ListingTitle = li.Title
- ,flgUserTitleConsolidation = isnull(case when patindex('%consolidation%',LOWER(li.Title)) > 0 then 1 else 0 end,0)
- ,flgUserTitleDebt = isnull(case when patindex('%debt%',LOWER(li.Title)) > 0 then 1 else 0 end,0)
- ,numUser30DBankChange = isnull(numUser30DBankChange,0)
- ,numUser30DBankCount = isnull(numUser30DBankCount,0)
- ,numUserAgeYears = isnull(Year(GETDATE()) - YEAR(circleone_dw.dbo.fndecrypt(u.enDateofBirth)),0)
- ,numUserBankCount = isnull(numUserBankCount,0)
- ,numUserEmploymentLengthMonths = isnull((YEAR(GETDATE())*12 + MONTH(GETDATE()))
- - (ued.StartYear*12 + ued.StartMonth),0)
- ,numUserFailLogins = isnull(numUserFailLogins,0)
- ,numUserLogins = isnull(numUserLogins,0)
- ,numUserPercentFailLogins = isnull(numUserPercentFailLogins,0)
- ,numUserRegistrationAgeMonths = isnull(numUserRegistrationAgeMonths,0)
- ,numUserSuccessLogins = isnull(numUserSuccessLogins,0)
- ,numUserTitleLength = isnull(len(li.Title),0)
- ,numPrevCancellations = ISNULL(numPrevCancellations,0)
- ,numPrevOriginations = ISNULL(numPrevOriginations,0)
- ,numPrevWithdrawals = ISNULL(numPrevWithdrawals,0)
- --into @User
- from @PendingListings up --select count(*) from @@UserPopulation
- left join c1.dbo.listings li on li.id = up.ID
- left join c1.dbo.Users u on up.UserID = u.ID
- left join c1.dbo.UserEmploymentDetail ued on up.UserID = ued.UserID
- and ued.VersionEndDate is null and VersionValidBit = 1
- left join (select up2.UserID, up2.ID, datediff(mm,min(CreationDate),GETDATE()) [numUserRegistrationAgeMonths]
- from @PendingListings up2
- left join CircleOne.dbo.UsertoStatus us on up2.UserID = us.UserID --change this to c1
- where us.UserStatusID = 2 and us.UserStatusChangeReasonID in (10,12)
- group by up2.UserID, up2.ID
- ) uts on up.UserID = uts.UserID and up.ID = uts.ID
- --Number of Logins
- left join @IDVAggregateLogins logs on up.UserID = logs.UserID
- --Multiple Bank Account Flags
- left join (select up2.UserID, up2.ID, count(ac.UserID) [numUserBankCount], count(ac2.UserID) [numUser30DBankCount]
- ,case when count(ac.UserID) > 1 then 1 else 0 end [flgUserMultiBankAccounts]
- ,case when count(ac.UserID) - count(ac2.UserID) not in (count(ac.UserID),0) then 1 else 0 end [numUser30DBankChange]
- ,case when sum(case when ba.SecondAccountHolderName is not null
- then 1 else 0 end) > 0 then 1 else 0 end [flgUserMultiBankHolders]
- ,case when sum(case when len(circleone_dw.dbo.fndecrypt(enAccountNumber)) = 16 then 1 else 0 end) > 0
- then 1 else 0 end [flgUserPrePaidBankAccount] -- 16 digit Acc @ is Prepaid
- from @PendingListings up2
- left join c1.dbo.Accounts ac on up2.UserID = ac.UserID
- and ac.AccountTypeCode = 'BANK'
- left join c1.dbo.BankAccounts ba on ac.ID = ba.AccountID
- left join c1.dbo.Accounts ac2 on up2.UserID = ac2.UserID
- and ac.CreationDate between dateadd(d,-30,GETDATE()) and GETDATE()
- and ac2.AccountTypeCode = 'BANK'
- group by up2.UserID, up2.ID
- ) mba on up.UserID = mba.UserID and up.ID = mba.ID
- --User Suspicion
- left join (select up2.UserID, up2.ID
- ,case when s.suspicionID is not null then 1 else 0 end [flgUserSuspicion]
- from @PendingListings up2
- left join c1.dbo.suspicion s (nolock) on s.userid = up2.userid
- and s.createddate in (select max(createddate)
- from c1.dbo.suspicion (nolock)
- where userid = up2.userid)
- ) sus on sus.UserID = up.UserID and sus.ID = up.ID
- left join (select up2.UserID, up2.ID
- , SUM(case when li.status = 7 then 1 else 0 end) 'numPrevCancellations'
- , SUM(case when li.status = 6 then 1 else 0 end) 'numPrevOriginations'
- , SUM(case when li.status = 4 then 1 else 0 end) 'numPrevWithdrawals'
- from @PendingListings up2
- left join c1.dbo.Listings li (nolock) on li.UserID = up2.UserID
- group by up2.UserID, up2.ID
- ) prc on prc.UserID = up.UserID and prc.ID = up.ID
- -- Prospect
- DECLARE @ProspectListingData LPRProspectSearchType
- DECLARE @ChannelAttributionFromProspect TABLE (
- [ListingID] [int] NOT NULL
- , Campaign varchar(255)
- , CampaignChannel varchar(255)
- )
- INSERT INTO @ProspectListingData
- select l.id,l.userid,l.termsapprovaldate,match.value
- from c1..listings l
- LEFT JOIN C1..ListingOffersSelected [select](NOLOCK) ON [select].ListingID = l.ID
- AND [select].versionenddate is null and [select].versionvalidbit = 1
- LEFT JOIN C1..LoanOffer offer(NOLOCK) ON offer.LoanOfferID = [select].LoanOfferID
- LEFT JOIN C1..tblLoanOfferScore score(NOLOCK) ON score.ListingScoreID = offer.ListingScoreID
- AND score.versionenddate is null and score.versionvalidbit = 1
- LEFT JOIN C1..tblLoanOfferScoreDetail pship(NOLOCK) ON pship.ListingScoreID = score.ListingScoreID
- AND pship.VariableID = (
- SELECT VariableID
- FROM C1..tblScoreVariables(NOLOCK)
- WHERE VariableName = 'PartnershipBin'
- )
- LEFT JOIN C1..tblLoanOfferScoreDetail match ON match.ListingScoreID = score.ListingScoreID
- AND match.VariableID = (
- SELECT VariableID
- FROM C1..tblScoreVariables
- WHERE VariableName = 'ReferralCode'
- )
- WHERE l.ID = @listingid
- INSERT INTO @ChannelAttributionFromProspect
- EXEC [dbo].[SingleListingLPR_GetMostRecentProspectData] @ProspectListingData
- PRINT 'ChannelAttribution: ' + CONVERT(VARCHAR(25), GETDATE(), 121)
- INSERT INTO @ChannelAttribution
- SELECT l.ID 'ListingID'
- , ucp.CreditPullDate
- , score.ListingScoreID
- , l.TermsApprovalDate
- , pship.Value 'PartnershipBin'
- , CASE
- WHEN pship.Value LIKE '%DirectMail%'
- OR p.CampaignChannel IN ('DirectMail')
- THEN 7
- WHEN pship.Value LIKE '%BestQpSegment%'
- OR p.CampaignChannel IN ('QualifiedPartners')
- THEN 5
- WHEN pship.Value LIKE '||'
- AND p.CampaignChannel = 'Affiliates'
- AND p.Campaign = 'NQA-YUEJO'
- THEN 1
- WHEN pship.Value LIKE '||'
- AND p.CampaignChannel = 'Affiliates'
- AND p.Campaign IN ('NQA-ir', 'NQA-SAS', 'NQA-cj', 'NQA-Adworkz')
- THEN 3
- WHEN pship.Value LIKE '||'
- AND p.CampaignChannel IN ('Affiliates', 'DataExchange')
- THEN 5
- ELSE 4
- END 'Channel'
- --into @ChannelAttribution
- FROM C1..Listings l(NOLOCK)
- join @ChannelAttributionFromProspect p on p.ListingID = l.ID
- LEFT JOIN C1..ListingOffersSelected [select](NOLOCK) ON [select].ListingID = l.ID
- AND [select].versionenddate is null and [select].versionvalidbit = 1
- LEFT JOIN C1..LoanOffer offer(NOLOCK) ON offer.LoanOfferID = [select].LoanOfferID
- LEFT JOIN C1..UserCreditProfiles ucp(NOLOCK) ON ucp.UserCreditProfileID = l.UserCreditProfileID
- LEFT JOIN C1..tblLoanOfferScore score(NOLOCK) ON score.ListingScoreID = offer.ListingScoreID
- AND score.versionenddate is null and score.versionvalidbit = 1
- LEFT JOIN C1..tblLoanOfferScoreDetail pship(NOLOCK) ON pship.ListingScoreID = score.ListingScoreID
- AND pship.VariableID = (
- SELECT VariableID
- FROM C1..tblScoreVariables(NOLOCK)
- WHERE VariableName = 'PartnershipBin'
- )
- LEFT JOIN C1..tblLoanOfferScoreDetail match ON match.ListingScoreID = score.ListingScoreID
- AND match.VariableID = (
- SELECT VariableID
- FROM C1..tblScoreVariables
- WHERE VariableName = 'ReferralCode'
- )
- WHERE l.TermsApprovalDate >= '8/1/14' /*AND pship.Value LIKE '%DirectMail%'*/
- AND l.ID IN (
- SELECT ID
- FROM @PendingListings
- ) /*AND pship.Value LIKE '%DirectMail%'*/
- ORDER BY CreditPullDate DESC
- -- aggregate and apend variables
- PRINT 'Aggregate: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @Aggregate
- select p.*
- ,e.*
- ,s.*
- ,d.*
- ,u.*
- ,0 'flgFraudScreen'
- ,flgFS01 + flgFS02 + flgFS04 + flgFS05 + flgFS06 + flgFS07 + flgFS08 + flgFS09 + flgFS10 + flgFS11 + flgFS13 + flgFS14 + flgFS15 + flgFS16 + flgFS17 + flgFS18 + flgFS19 + flgFS20 + flgFS21 + flgFS22 + flgFS25 + flgFS26 + flgFS27 'FSSUM'
- ,case when ca.PartnershipBin LIKE '%DirectMail%' then 1 else 0 end 'flgChannelDM'
- ,ca.Channel
- ,ucp.AggregateBalanceCreditRatioOnAllTrades6Months
- ,ucp.OpenPaidClosedInactiveInstallTrades
- --into @Aggregate
- from @PendingListings p
- left join @Experian e on p.UserID = e.eUserID and p.ID = e.eID
- left join @Stagg s on p.UserID = s.sUserID and p.ID = s.sID
- left join @Duplicates d on p.UserID = d.dUserID and p.ID = d.dID
- left join @User u on p.UserID = u.uUserID and p.ID = u.uID --rerun this
- left join c1.dbo.Listings (nolock) li on p.ID = li.ID
- left join c1.dbo.UserCreditProfiles (nolock) ucp on li.UserCreditProfileID = ucp.UserCreditProfileID
- left join @ChannelAttribution ca on p.ID = ca.ListingID
- where case when MissingData = 1 and DATEDIFF(dd,PendingStartDate,getdate()) <= 2 then 1 else 0 end = 0 -- set where clause here rather than bottom
- PRINT 'AggregateFraud: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @AggregateFraud
- select pl.*
- ,case when (s.createddate is not null and gs.loanid is null and (lo.originationdate is null or s.createddate > lo.originationdate)) then 1 else 0 end as 'flgSuspicionCriterion'
- ,case when exists (select 1 from CircleOneProcessing.dbo.VS_InitialListingsWorkflowsFraudScreenEmaiL where EmailDomain = substring(ue.Email,charindex('@',ue.Email)+1,100)) then 1 else 0 end 'flgFraudScreenEmail'
- --into @AggregateFraud
- from @Aggregate pl
- left join c1.dbo.Suspicion S (nolock) on S.UserID = pl.UserID and S.CreatedDate in
- (Select Max(CreatedDate) from c1.dbo.Suspicion(nolock) where UserID = pl.UserID)
- left join c1.dbo.loans lo (nolock) on pl.userid = lo.borrowerid
- and lo.originationdate < pl.PendingStartDate
- and lo.originationdate in (select max(originationdate)
- from c1.dbo.loans
- where borrowerid = lo.borrowerid
- and originationdate < pl.PendingStartDate
- )
- left join c1.dbo.loans gs (nolock) on gs.borrowerid = s.userid
- and datediff(mm,lo.originationdate,s.createddate) >= 12
- and lo.loanid not in (
- select loanid
- from c1.dbo.loandetail(nolock)
- where loanid = lo.loanid
- and dpd > 30)
- left join c1.dbo.UserEmails ue on pl.UserID = ue.UserID
- and ue.VersionEndDate is null
- and ue.VersionValidBit = 1
- and ue.IsSignIn = 1
- /*##########################################################################################
- ###Prior to appending other holds, create the tmp tables for POI/POE Update 201405v3 policy#
- ###########################################################################################*/
- --Create a table with the Verificaiton Score and strategy components
- PRINT 'IncVerIn: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @IncVerIn
- SELECT aggf.ID AS ListingID
- , aggf.UserID
- , li.UserCreditProfileID
- , li.Amount AS InitialListingAmount
- , uinc.Income
- , CASE WHEN priorLoan.PriorLoanCount > 0 THEN 1 ELSE 0 END AS HasPriorLoanFlag
- , occ.OccupationName
- , es.[Description] AS EmploymentDescription
- , 12*(YEAR(li.TermsApprovalDate) - ued.StartYear) + (MONTH(li.TermsApprovalDate) - ued.StartMonth) AS MonthsEmployed
- , CASE WHEN es.[Description] = 'Self-employed' THEN -98
- WHEN uinc.Income IS NULL OR uinc.Income = 0 OR uinc.IsVerifiable = 0 THEN -99
- WHEN ucp.CreditPullDate >= '12/28/12' THEN ROUND(((ucp.MonthlyDebt + 692.0)/(uinc.Income/12.0)) - (ucp.MonthlyDebt/(uinc.Income/12.0)),2) --<<-- Corrects for 12/28/2012 rounding change
- ELSE ROUND((ucp.MonthlyDebt + 692.0)/(uinc.Income/12.0),2) - ROUND(ucp.MonthlyDebt/(uinc.Income/12.0),2)
- END AS DTIChg20k36MoLoan
- , CASE WHEN es.[Description] = 'Self-employed' THEN -98
- WHEN uinc.Income IS NULL OR uinc.Income = 0 OR uinc.Income = 0 THEN -99
- ELSE ROUND(ucp.MonthlyDebt/(uinc.Income/12.0),2)
- END AS DTIwoProspLoan
- , ucp.MonthlyDebt
- , stagg.ALL801
- , stagg.ILN701
- , stagg.REV702
- FROM @AggregateFraud aggf
- LEFT JOIN C1.dbo.Listings li
- ON li.ID = aggf.ID
- LEFT JOIN C1.dbo.UserCreditProfiles ucp
- ON ucp.UserCreditProfileID = li.UserCreditProfileID
- LEFT JOIN (
- SELECT aggf.ID,
- aggf.UserID,
- COUNT(DISTINCT lo.LoanID) AS PriorLoanCount
- FROM @AggregateFraud aggf
- LEFT JOIN C1.dbo.Listings li ON li.UserID = aggf.UserID
- LEFT JOIN C1.dbo.Loans lo ON lo.LoanID = li.LoanID
- AND lo.OriginationDate < GETDATE()
- GROUP BY aggf.ID,aggf.UserID
- ) priorLoan
- ON priorLoan.id = aggf.ID
- LEFT JOIN C1.dbo.UserEmploymentDetail ued
- ON ued.UserEmploymentDetailID = li.UserEmploymentDetailID
- AND c1.dbo.fnisrecordcurrentandvalid(li.TermsApprovalDate,ued.VersionStartDate,ued.VersionEndDate,ued.VersionValidBit) = 1
- LEFT JOIN C1.dbo.EmploymentStatus es ON es.EmploymentStatusID = ued.EmploymentStatusID
- LEFT JOIN C1.dbo.Occupations occ
- ON occ.ID = ued.OccupationID
- LEFT JOIN C1.dbo.UserIncome uinc
- ON uinc.UserID = li.UserID
- AND c1.dbo.fnisrecordcurrentandvalid(li.TermsApprovalDate,uinc.VersionStartDate,uinc.VersionEndDate,uinc.VersionValidBit) = 1
- LEFT JOIN C1.dbo.ExperianCreditProfileResponse ecpr
- ON ecpr.ExperianDocumentID = ucp.ExperianDocumentID
- LEFT JOIN (
- SELECT [ExperianCreditProfileResponseID],[AttributeID],[AttributeValue] = CAST([AttributeValue] as INT)
- FROM C1.dbo.ExperianCreditProfileStaggData
- ) as sourcetable
- PIVOT
- (
- MAX([AttributeValue]) --there should only be 1 value in this aggregate but if it gets doubled up some how, avg, min, or max is pretty safe. don't use sum!
- FOR
- [AttributeID]
- IN ([ALL801],
- [ILN701],
- [REV702]
- )
- ) AS stagg on stagg.[ExperianCreditProfileResponseID] = ecpr.[ExperianCreditProfileResponseID]
- WHERE li.UserCreditProfileID IS NOT NULL
- PRINT 'ListCancelLast30: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @ListCancelLast30
- SELECT incin.ListingID
- , COUNT(*) AS ListCancelLast30
- FROM @IncVerIn incin
- LEFT JOIN C1.dbo.Listings li
- ON li.ID = incin.ListingID
- LEFT JOIN C1.dbo.Listings li2
- ON li.UserID = li2.UserID
- AND li2.Status = 7
- AND li2.TermsApprovalDate < li.TermsApprovalDate
- AND DATEDIFF(dd,li2.TermsApprovalDate,li.TermsApprovalDate) <= 30
- WHERE li2.Status = 7
- AND li2.TermsApprovalDate < li.TermsApprovalDate
- AND DATEDIFF(dd,li2.TermsApprovalDate,li.TermsApprovalDate) <= 30
- GROUP BY incin.ListingID
- PRINT 'LastProspIncUpdateDate: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @LastProspIncUpdateDate
- SELECT uinc.UserID
- , incin.ListingID
- , MAX(uinc.CreatedDate) AS MRProspModIncomeDate
- FROM C1.dbo.UserIncome uinc
- LEFT JOIN @IncVerIn incin
- ON incin.UserID = uinc.UserID
- LEFT JOIN @ListCancelLast30 lcl30
- ON lcl30.ListingID = incin.ListingID
- LEFT JOIN C1.dbo.Listings li
- ON li.ID = incin.ListingID
- WHERE incin.UserID IS NOT NULL
- AND uinc.CreatedDate < li.TermsApprovalDate
- AND lcl30.ListCancelLast30 >= 1
- AND uinc.CreatedUser > 0 AND uinc.CreatedUser < uinc.UserID
- GROUP BY uinc.UserID
- , incin.ListingID
- PRINT 'IncModifyGroup: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @IncModifyGroup
- SELECT incin.ListingID
- , CASE WHEN incin.Income <= uinc.Income THEN 1 ELSE 0 END IncomeLELastProspMod
- , CASE WHEN incin.EmploymentDescription IN ('Employed', 'Other')
- AND uinc.IsVerifiable = 0 THEN 1 ELSE 0 END EmpStatusChgFlag
- FROM @LastProspIncUpdateDate lpind
- LEFT JOIN C1.dbo.UserIncome uinc
- ON uinc.UserID = lpind.UserID
- AND uinc.CreatedDate = lpind.MRProspModIncomeDate
- LEFT JOIN @IncVerIn incin
- ON incin.ListingID = lpind.ListingID
- --append other holds
- PRINT 'InitialVerificationStaging: ' + CONVERT(VARCHAR(25),GETDATE() ,121)
- INSERT INTO @InitialVerificationStaging
- select pl.*
- ,invin.UserCreditProfileID
- ,invin.InitialListingAmount
- ,invin.Income
- ,invin.HasPriorLoanFlag
- ,invin.OccupationName
- ,invin.EmploymentDescription
- ,invin.MonthsEmployed
- ,invin.DTIChg20k36MoLoan
- ,invin.DTIwoProspLoan
- ,invin.MonthlyDebt
- ,invin.ALL801
- ,invin.ILN701
- ,invin.REV702
- ,lcl30.ListCancelLast30
- ,lpiud.MRProspModIncomeDate
- ,img.IncomeLELastProspMod
- ,img.EmpStatusChgFlag
- ,li.UserLoanHistorySnapshotID
- ,P1401 = excp1401.UserID
- ,P1601 = excp1601.UserID
- ,P1801 = excp1801.UserID
- ,flgFraudVictimXML = isnull(PATINDEX('%Fraud Victim Alert%',ed.rawXML),0)
- ,flgSecurityAlertXML = isnull(PATINDEX('%Security Alert%',ed.rawXML),0)
- ,flgActiveDutyXML = isnull(PATINDEX('%Active Military Duty%',ed.rawXML),0)
- ,BovStatusID = bov.StatusID
- ,MilStatusID = mil.StatusID
- ,AdrStatusID = adr.StatusID
- --into @InitialVerificationStaging
- from @AggregateFraud pl
- left join @IncVerIn invin on pl.ID = invin.ListingID
- left join @ListCancelLast30 lcl30 on pl.ID = lcl30.ListingID
- left join @LastProspIncUpdateDate lpiud on pl.ID = lpiud.ListingID
- left join @IncModifyGroup img on pl.ID = img.ListingID
- left join c1.dbo.Listings li on pl.ID = li.ID
- --look up victim statement in most recent ExperianDocument
- left join c1.dbo.ExperianDocuments ed on pl.UserID = ed.UserID
- and ed.documentType = 'Response Credit Profile'
- and ed.CreationDate = (select MAX(CreationDate) from c1.dbo.ExperianDocuments where ed.UserID = UserID and documentType = 'Response Credit Profile')
- --check holds
- left join c1.dbo.listingqueue bov (nolock) on bov.listingid = pl.id
- and bov.typeid = 9 and bov.statusid = 2
- and bov.versionenddate is null and bov.versionvalidbit = 1
- left join c1.dbo.listingqueue mil (nolock) on mil.listingid = pl.id
- and mil.typeid = 8 and mil.statusid = 2
- and mil.versionenddate is null and mil.versionvalidbit = 1
- left join c1.dbo.listingqueue adr (nolock) on adr.listingid = pl.id
- and adr.typeid = 7 and adr.statusid = 2
- and adr.versionenddate is null and adr.versionvalidbit = 1
- --check for previously matched 1401, 1601, 1801
- left join (select wf.UserID
- ,w.WorkflowTypeID
- from @PendingListings wf
- join c1.dbo.Workflow w on wf.UserID = w.UserID
- and w.WorkflowTypeID = 1401
- join c1.dbo.VerificationWorkflowResultDetail wr on w.workflowid = wr.workflowid
- and wr.VerificationWorkflowResultTypeID = 1
- left join c1.dbo.VerificationWorkflowResultType wrt on wrt.Verificationworkflowresulttypeid = wr.Verificationworkflowresulttypeid
- ) excp1401 on excp1401.UserID = pl.UserID
- left join (select wf.UserID
- ,w.WorkflowTypeID
- from @PendingListings wf
- join c1.dbo.Workflow w on wf.UserID = w.UserID
- and w.WorkflowTypeID = 1601
- join c1.dbo.VerificationWorkflowResultDetail wr on w.workflowid = wr.workflowid
- and wr.VerificationWorkflowResultTypeID = 1
- left join c1.dbo.VerificationWorkflowResultType wrt on wrt.Verificationworkflowresulttypeid = wr.Verificationworkflowresulttypeid
- ) excp1601 on excp1601.UserID = pl.UserID
- left join (select wf.UserID
- ,w.WorkflowTypeID
- from @PendingListings wf
- join c1.dbo.Workflow w on wf.UserID = w.UserID
- and w.WorkflowTypeID = 1801
- join c1.dbo.VerificationWorkflowResultDetail wr on w.workflowid = wr.workflowid
- and wr.VerificationWorkflowResultTypeID = 1
- left join c1.dbo.VerificationWorkflowResultType wrt on wrt.Verificationworkflowresulttypeid = wr.Verificationworkflowresulttypeid
- ) excp1801 on excp1801.UserID = pl.UserID
- select * from @InitialVerificationStaging
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement