Data Analyst take-home assignment (2023) for an email marketing SaaS company. The analysis explores growth patterns across two datasets: marketing site sessions and account signups, using sampled/anonymized data provided by the hiring team.
Preserved as a portfolio piece. Data is fake/sampled; company name anonymized. Not actively maintained.
- End-to-end analytical workflow: ingestion → EDA → feature engineering → insights → recommendations
- BigQuery + Python stack for analytics at scale (2.6M+ session records)
- Structured, self-documenting notebook with TOC, glossary, assumptions, and data quality log
- Business-first analytical framing: each insight is tied to a business question
- Proactive recommendations and open questions beyond the assignment brief
| Section | Contents |
|---|---|
| I. Environment | Package setup and dependencies |
| II. Pre-processing | Data ingestion, EDA, type analysis, feature engineering |
| III. Glossary | Dataset schema and field definitions |
| IV. Insights | Facts, trends, plan-level comparisons |
| V. Conclusions | Key findings, recommendations, open questions, assumptions |
- ~63% of accounts opted for the Free Trial Plan vs. Free Account Plan
- From July 2021, Free Trial sessions overtook Free Account sessions — consistent with a likely default plan switch at that date
- Conversion rate (sessions → signups) oscillates ~5%, trending lower post-2021
- The data points to potential plan cannibalization; several questions raised for stakeholders to validate
| Layer | Tool |
|---|---|
| Data Warehouse | Google BigQuery |
| Analysis | Python (Pandas, statsmodels, plotnine, seaborn), Jupyter |
| IDE | GitHub Codespaces |
| Data transport | GCP service account (credentials gitignored — see .devcontainer/gcp-credentials.example.json) |
- Create a GCP service account with BigQuery read access on your project
- Export the key as JSON and save to
.devcontainer/gcp-credentials.json(gitignored) - Update the
project_idandGOOGLE_APPLICATION_CREDENTIALSpath in the notebook - Install dependencies:
pip install -r requirements.txt - Launch:
jupyter notebook notebooks/insights_growth_accounts_sessions.ipynb
- Dependencies installed directly in notebook cells (vs. a proper virtual environment manager)
- Large CSV (~750 MB) hosted on a GCS bucket due to GitHub/BigQuery upload limits