Skip to content

Digital marketing analytics solution that scrapes websites for SEO factors and predicts advertisement CTR

License

Notifications You must be signed in to change notification settings

avrtt/SEO-CTR-optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A complex demo solution with advanced web scraping, SEO scoring and ML for CTR prediction, enabling data-driven optimization of digital marketing strategies; published as part of my freelance project with permission. All data was replaced.

Features

  • SEO Analysis: Web scraping using Requests and BeautifulSoup to extract SEO factors such as keywords, metadata, and backlinks.
  • SEO Scoring & Reporting: Advanced scoring mechanisms to evaluate page SEO performance based on best practices including page speed, keyword density, and metadata quality.
  • CTR Prediction: Machine learning module using XGBoost to predict advertisement click-through rates with evaluation metrics like accuracy, precision, recall, and ROC AUC.
  • Web Interface: A Flask-based web application integrating SEO analysis and CTR prediction, with an intuitive dashboard for marketers.
  • Synthetic Data Generation: A script to generate synthetic data for demonstration and testing purposes.
  • Testing: Comprehensive unit tests for both the web scraping and CTR model modules.

Structure

SEO-CTR-optimizer/
├── README.md
├── .gitignore
├── requirements.txt
├── src/
│   ├── config.py
│   ├── utils.py
│   ├── scraper.py
│   ├── seo_analyzer.py
│   ├── ctr_model.py
│   ├── generate_data.py
│   └── main.py
├── templates/
│   ├── base.html
│   ├── index.html
│   ├── results.html
│   ├── train_ctr.html
│   ├── ctr_results.html
│   ├── predict_ctr.html
│   └── ctr_predictions.html
├── static/
│   └── style.css
└── tests/
    ├── test_scraper.py
    └── test_ctr_model.py

Installation

  1. Clone & navigate:
    git clone git@github.com:avrtt/SEO-CTR-optimizer.git && cd SEO-CTR-optimizer
  2. Install the dependencies:
    pip install -r requirements.txt
  3. Generate synthetic data (optional):
    python src/generate_data.py
  4. Run the Flask app:
    python src/main.py
  5. Open your browser and navigate to http://127.0.0.1:5000.

Contributing

Why would you? Anyway, feel free to open issues.

License

MIT