Skip to content

aorosoeon/linkedin_statistical_inference

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linkedin_statistical_inference

Is it better to send LinkedIn connection requests with a personalized message or leave them blank? That’s the question I try to answer in this repo.

To prove that one approach has a higher acceptance rate, we need to conduct an A/B test. The main idea of an A/B test is randomization, so the decision of who gets a blank request and who gets a message should be completely random. If I try to do this manually, I will introduce my bias into the test, and it wouldn’t be within the rules of A/B testing.

That’s why it should be completely randomized. The architecture below automates this process to eliminate my bias. Here is how it works:

  • A Cron job on a Raspberry Pi activates orchestrator.sh, and any error that occurs after that goes to cron.log.
  • An arrow under DAILY PROCESS represents a randomized time delay between actions, so after Cron job activation, there is a delay before main.py.
  • main.py opens the Google spreadsheet with LinkedIn links and a Chromium browser, then it opens profiles, pulls needed info, and sends them requests.
  • To be on the safe side, counter updates happen after some time in a separate file to ensure that each day the bot works with new profiles.
  • LinkedIn is tricky, so checking_invites.py verifies that these people are added and logs this in a spreadsheet.
  • checking_accepts.py pulls people who accepted my invite so that we can conduct an A/B test afterward.
  • LinkedIn doesn’t allow more than 700 sent requests, so removing_old_invite_requests.py keeps it under 600.

Below is what the spreadsheet looks like (private data is hidden, of course):

The A/B test was recently completed with the following stats:

I will be releasing a Jupyter Notebook with statistical tests soon, but a preliminary analysis confirms the hypothesis that sending a connection request with a message works much better (all statistics and p-values support this and make it statistically significant).

About

Linkedin automation through Selenium to conduct an A/B test

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published