Skip to content

LG-11671: Lexisnexis Instant Verify workflow A/B test#9743

Merged
solipet merged 15 commits intomainfrom
sonia-lg-11671-lexis-nexis-ab-test
Dec 14, 2023
Merged

LG-11671: Lexisnexis Instant Verify workflow A/B test#9743
solipet merged 15 commits intomainfrom
sonia-lg-11671-lexis-nexis-ab-test

Conversation

@solipet
Copy link
Contributor

@solipet solipet commented Dec 11, 2023

🎫 Ticket

LG-11671

🛠 Summary of changes

Add infrastructure for LexisNexis Instant Verify alternative workflow A/B test. This will allow us to test a new workflow that does not reject users if their address is not deliverable, which is an issue for some rural addresses and many Puerto Rico and other territory addresses.

The discriminator for the A/B test is the document_capture_session_uuid, which means the same user could get different workflows in different IdV sessions. This would not be visible to them.

Add new class app/services/idv/lexisnexis_instant_verify.rb instead of a concern that's used for the acuant sdk A/B test, because this is called from the proofing job, not from a controller.

Include the new test bucket in IdV analytics.

Existing config value:
lexisnexis_instant_verify_workflow: [valid workflow]
New config values:
lexisnexis_instant_verify_workflow_ab_testing_enabled: false
lexisnexis_instant_verify_workflow_ab_testing_percent: 5
lexisnexis_instant_verify_workflow_alternate: [valid workflow]

📜 Testing Plan

  • Run through identity verification locally to confirm it still works
  • To test InstantVerify locally, install real credentials
  • Test identity verification with A/B test disabled, expect it to succeed
  • Test identity verification with A/B test enabled, but 100% default, expect it to succeed
  • Test identity verification with A/B test enabled, but 100% fake workflow, expect it to fail
  • DELETE REAL CREDENTIALS
  • After merging, in staging, confirm that LexisNexis Instant Verify still works as expected (VerifyInfo step)

soniaconnolly and others added 7 commits December 6, 2023 14:35
@soniaconnolly soniaconnolly marked this pull request as ready for review December 12, 2023 18:52
@soniaconnolly soniaconnolly requested review from a team December 12, 2023 18:52
Add new A/B test bucket to welcome and agreement step analytics
…capture_session_uuid

This can be removed after the deploy since this is a 50/50 state spec
Copy link
Contributor

@matthinz matthinz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a couple minor naming concerns that shouldn't block

config.add(:lexisnexis_instant_verify_timeout, type: :float)
config.add(:lexisnexis_instant_verify_workflow, type: :string)
config.add(:lexisnexis_instant_verify_workflow_ab_testing_enabled, type: :boolean)
config.add(:lexisnexis_instant_verify_workflow_ab_testing_percent, type: :integer)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I always have to 🤔 about whether _percent means the number that gets the "A" variant or the "B" variant. Not something we have to fix in this PR though!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears to be the percentage on the alternate, but I always wonder too. Especially since there are comments sprinkled around the Acuant code saying it has no effect? We'll definitely have to check on that in the next PR.

@solipet solipet merged commit 4000ef5 into main Dec 14, 2023
@solipet solipet deleted the sonia-lg-11671-lexis-nexis-ab-test branch December 14, 2023 18:05
@jmhooper jmhooper mentioned this pull request Dec 14, 2023
jmhooper added a commit that referenced this pull request Dec 14, 2023
jmhooper added a commit that referenced this pull request Dec 14, 2023
…ProofingJob`

This commit adds a arg to the `ResolutionProofingJob` which was used in the changes in #9743. That commit was reverted. Old workers did not know about this arg so they raised an ArgumentError when they encountered it. We reverted that change so we could introduce the arg in this one and then revert the revert.

[skip changelog]
jmhooper added a commit that referenced this pull request Dec 14, 2023
When we deployed the changes in #9763 and #9743 a new argument was introduced for the resolution proofing job. This argument was not recognized by old hosts performing the job which led to an argument error.

This commit reverts both of those and adds a commit to introduce the argument.

Once this commit is merged and deployed we will make another change to use the argument by reverting the reverts.

This commit adds a arg to the `ResolutionProofingJob` which was used in the changes in #9743. That commit was reverted. Old workers did not know about this arg so they raised an ArgumentError when they encountered it. We reverted that change so we could introduce the arg in this one and then revert the revert.

[skip changelog]
jmhooper added a commit that referenced this pull request Dec 14, 2023
jmhooper added a commit that referenced this pull request Dec 14, 2023
I reverted 2 changes in #9764 to address a bug in the way the arguments were passed to the ResolutionProofingJob. This commit reverts those 2 reverts to put the A/B test implementation back in place.

* Revert "Revert "LG-11671: Lexisnexis Instant Verify workflow A/B test (#9743)""
* Revert "Revert "Capitalization: Rename LexisnexisInstantVerify to LexisNexisInstantVerify (#9763)""

[skip changelog]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants