A self-hosted analyst portfolio: 10 playable SVG mini-games and CI-checked headline numbers — +5.72 pp KYC conversion and €656K/yr on the Volta flagship.
- Product experimentation — A/B test design, sample-size planning, guardrail metrics, reproducible reporting. CUPED, AA-tests, Bonferroni, Bayesian A/B.
- User lifecycle analytics — cohort retention, funnel analysis, RFM segmentation.
- End-to-end delivery — SQL → Python → dashboard → stakeholder narrative.
📦 Portfolio:
🔗 Links:
📄 Download CV:
- 🌐 Portfolio site
- 🏦 Flagship: Volta neobank
- 🧪 Related: A/B Testing Toolkit · Causal / Uplift · SQL Analytics Case Study · RAG Evaluation Harness
On this page: Featured Projects · Analytics Evidence · All Projects · Playable Games · Activity · Recent Notes · Connect
- 📚 Learning: Bayesian A/B testing, ClickHouse, dbt, Apache Airflow, Apache Superset
- 💼 Open to: BI / product / data analyst roles — actively interviewing
- 🤝 Collab: experimentation, user retention analytics
- 🚧 Building: interactive analyst portfolio — playable SVG games + self-hosted GitHub stats
End-to-end neobank analytics: funnel, A/B test, retention, segmentation. +5.72pp KYC conversion — statistics and methodology live in the evidence ledger and the case study.
Stack: Python · SciPy · Statsmodels · scikit-learn
Full-stack analytics platform: Streamlit + Supabase with RLS and an Edge Function. Significant A/B result (p=0.0034) on 8,000 seeded users, reproducible pipeline.
Stack: Python · Streamlit · Supabase · PostgreSQL
Twenty-five end-to-end SQL cases on DuckDB — funnel, N-day retention, DAU/MAU stickiness, LTV, streaks, A/B conversion, attribution — plus one case on real UCI Online Retail II data. One command, no server, pytest-verified.
Stack: SQL · DuckDB · pytest
A retrieval-augmented generation pipeline with a real offline eval harness. recall@5 and MRR = 1.00, faithfulness 1.00 on 20 labeled questions — retrieval and generation scored separately, runs with zero API keys.
Stack: Python · scikit-learn · TF-IDF · pytest
Sources: volta-banking · causal-uplift · ab_test · sql-analytics-case-study · airflow — every link is HTTP-checked in CI.
22 projects across 4 tracks · 23 Volta case studies
| Project | What it demonstrates | Links |
|---|---|---|
| A/B Testing Methodology Toolkit | 18 A/B methodology modules, each calibrated by simulation: an A/A null check holds Type I error at α, and power curves show the effect size each method can actually detect. | Repo · Case study |
| Browser Mini-Games — Analytics Arcade | 10 playable mini-games as self-contained SVGs: 7 analytics (A/B to p<0.05, funnel drop, cohort catch, retention day) and 3 arcade. One file per game, zero dependencies, no build. | Repo · Case study |
| Causal / Uplift — CUPED and Individual Treatment Effects | CUPED cut the standard error by 26% — the same power on 5.5k users per arm instead of 10k. At n=6000 uplift metrics stay noise-dominated: QINI and AUUC cannot separate an oracle from random. | Repo · Case study |
| Volta Neobank — Product Analytics | Fixed a neobank's onboarding bottleneck with an A/B test: +5.72pp KYC conversion, €656K/year. 23 projects: funnel → A/B → retention → segmentation → Market & Jobs → RAT v2 → causal. | Repo · Case study |
| Project | What it demonstrates | Links |
|---|---|---|
| Churn Prediction — Leakage-Free Retention Model | A leakage-free churn model: recall@top-10% of 0.544 and 5.44x lift at 0.916 ROC-AUC, on a chronological split with no future activity leaking into features. | Repo · Case study |
| Cohort Analysis Dashboard | A triangular cohort retention and LTV matrix on synthetic data: per-cohort ARPU and LTV with an observation-age caveat, plus a Tableau-ready CSV and Hyper export. | Repo · Case study |
| LinkedIn Content Analytics | Analytics on my own LinkedIn posts: one parser, four renderers. Formats are compared with confidence intervals — and noise is called noise, not a ranking. | Case study · private |
| ML Fundamentals — scikit-learn Pipeline | A leak-free scikit-learn pipeline: missing-data imputation, categorical encoding, a deterministic split and feature scaling, all in one ColumnTransformer fit on the training split only. | Repo · Case study |
| Python Analytics Playground | ≥80% pytest coverage on a module-based Python analytics toolkit: loading, cleaning, EDA and visualization assembled into one reusable pipeline — the base I copy into every new analysis. | Repo · Case study |
| RAG Evaluation Harness — retrieval and generation metrics | RAG pipeline with a real offline harness: recall@5 and MRR = 1.00 on 20 questions, correctness 0.37. TF-IDF retrieval, no API keys; faithfulness ≡1.00 — an extractive invariant, not a measurement. | Repo · Case study |
| RFM Analysis of Bank Clients | Segmented a bank's clients into 6 RFM segments: the top 20% hold 38.2% of revenue (Gini 0.324). Synthetic dataset — 1,983 clients, 9,492 transactions. | Repo · Case study |
| Sales Calls Analytics Dashboard | A Streamlit dashboard for AI sales calls on 16,891 synthetic calls: a 4-step funnel (greeting → offer → meeting → qualification), leak breakdown by type, and transcript drill-down. | Repo · Case study |
| SERP Rank Lab | Metasearch SERP analytics lab: inverse-propensity weighting corrects position bias, NDCG and revenue per search disagree, and always-valid mSPRT holds the false-positive rate under repeated looks. | Repo · Case study |
| SQL Analytics Case Study | 26 SQL cases: 25 on a synthetic ~183k-event dataset + 1 real-data case on UCI Online Retail II. Funnel, retention, LTV, attribution, anomalies, dbt layer on DuckDB, live report on GitHub Pages. | Repo · Case study |
| Project | What it demonstrates | Links |
|---|---|---|
| Product Analytics + A/B on Supabase | Full-stack analytics on Supabase: an A/B experiment lifted conversion +11.1pp (p ≈ 1.7e-10, chi-square), with a Streamlit dashboard reading live data through Row Level Security. | Case study · private |
| Product Analytics Dashboard (Streamlit) | A product analytics dashboard on a synthetic SaaS dataset (8,000 users): AARRR funnel, cohort retention, revenue (MRR, ARPU, churn) and segmentation — 5 Streamlit pages. | Case study · private |
| TaskFlow — PostHog Product Analytics Pipeline | 7 analyses from a typed event catalog: a SaaS product instrumented with PostHog end-to-end — funnel, retention, A/B, revenue/LTV and time-to-convert, not a demo on a ready-made CSV. | Case study · private |
| Project | What it demonstrates | Links |
|---|---|---|
| Airflow DAG Platform | Report platform on Apache Airflow 3: every report is a versioned DAG on a fetch → validate → write → record_metrics template, with DQ validation, run alerts and observability metrics. | Repo · Case study |
| Digital Garden — EQ in IT | Notes linked into a network, not a feed: a digital garden about emotional intelligence in IT on Quartz v4 — backlinks and a graph turn note accumulation into a navigable structure. | Repo · Case study |
| Reporting Automation Telegram Bot | A Telegram bot replaced manual weekly reporting with a cron job: 1–2 hours of prep became a scheduled report with a KPI table and sparklines. | Case study · private |
| Scrolly English Speaking | A scrollytelling guide to spoken English for workplace conversations (A2–B1): an MDX narrative with D3 visualizations, content and visuals decoupled. Built on Astro 6. | Repo · Case study |
| This Portfolio Site | The site you are reading: Astro 7, TypeScript and Markdown content collections, static output, dark/light theme, RSS, sitemap, JSON-LD and GitHub Pages deployment. | Repo · Case study |
🏦 Volta Neobank — 23 case studies
| Project | What it demonstrates | Links |
|---|---|---|
| Volta — Funnel Analysis | The neobank onboarding funnel: KYC is the bottleneck at 56.6% step conversion, registration loses the most in absolute terms (2,682). Broken down by channel and platform. | Repo · Case study |
| Volta — KYC Progress-Bar A/B Test | A KYC progress bar lifted conversion +5.72pp (Z=5.82, p<0.0001) against a +5pp MDE. CUPED, AA-test and Bonferroni protect the conclusion; +€656K/yr at 44× ROI. | Repo · Case study |
| Volta — Retention & Cohorts | Cohort triangles showed a step-change after the KYC fix: M1 +11.8pp, M3 +9.2pp and +€227K/yr LTV. Premium LTV is 4.3× Free. | Repo · Case study |
| Volta — User Segmentation | KMeans with data-driven K=4: Power 12% drive 41% of revenue, 68% drive 92%. Cross-segment migration is worth up to +€310K/yr. | Repo · Case study |
| Volta — Churn Prediction | Random Forest adds +0.03 ROC-AUC over logistic regression; the top churn driver is device-error rate (23.7%), not balance or activity. | Repo · Case study |
| Volta — RFM Analysis | R/F/M scoring 1–5 splits the base into lifecycle segments from Champions to Lost; recency and monetary diverge — 'frequent but cheap' and 'rare but large'. | Repo · Case study |
| Volta — CLV Modeling | Three lifetime-value methods: historical, retention-curve and Gamma-Gamma. The order Power > Growth > Casual > Dormant is robust across all methods. | Repo · Case study |
| Volta — Marketing Attribution | First-touch, last-touch, linear and Shapley attribution. Shapley (data-driven) reallocates budget and leads with referral; the conclusion is robust to model choice. | Repo · Case study |
| Volta — Anomaly Detection | Isolation Forest has the best F1 (50.4%), catching amount, night-hour and frequency anomalies. Z-score is precise but cautious; the comparison of the three detectors ran against ground truth. | Repo · Case study |
| Volta — Spend Analysis | Spend breakdown by category and channel: bills (25.8%) and travel (20.2%) make up nearly half the turnover, groceries is the most frequent category. | Repo · Case study |
| Volta — Support & Churn | Churn rises with ticket count: 37.1% at zero contacts vs 81.1% at 3+. Support is a measurable retention lever, not just a cost center. | Repo · Case study |
| Volta — NPS Trends | Monthly NPS hovers near zero; the strongest drivers are app quality (+30.3) and product (+29.4), the main source of dissatisfaction is fees (−59.4). | Repo · Case study |
| Volta — JTBD × Cohorts | Job segments and behavioral cohorts are not independent (chi² p<0.001): Dormant concentrates in Digital Newcomers 45+ (39.4%) vs Family Budgeters (15.1%). | Repo · Case study |
| Volta — Traveler Unit Economics | Travelers lose €0.45 per €100 FX transaction; break-even needs FX cost cut from 1.00% to 0.55%, otherwise the loss grows with volume. | Repo · Case study |
| Volta — Premium Upsell | Free→Premium conversion concentrates in the anchor (17.3%) and status-seekers (41.2%); Digital Newcomers 45+ convert just 1.8% — the value prop doesn't transfer. | Repo · Case study |
| Volta — 45+ KYC Deep-Dive | Age-sliced A/B HTE: 35–44 +11.0pp and 18–24 +5.3pp, but 45+ +1.4pp (ns). Referral (trust) converts 45+ best — friction is trust, not UX. | Repo · Case study |
| Volta — Referral Segments | Referral funnel by JTBD segment: anchor 29.6% vs Digital Newcomers 45+ 4.8% and families 8.6%. The gap opens at accept, not KYC. | Repo · Case study |
| Volta — Assisted CAC vs LTV | Does the 45+ trust track pay off: 45+ LTV/CAC = 0.66 against a ≥3 gate; assisted CAC €120 is ~3× referral and doesn't pay back (50-month payback). | Repo · Case study |
| Volta — FX Sourcing Feasibility | The 0.55% gate is reachable only at SOM scale (~€332M/mo, 122× today) — a cold-start, not 'impossible'. Best quote is Interbank Prime at 0.745%. | Repo · Case study |
| Volta — Segment Premium Offers | A/B: a segment offer lifts gap segments (+3.3pp 45+, +4.2pp families, +3.8pp travelers) — Holm-significant, but the anchor barely moves. | Repo · Case study |
| Volta — Anchor Launch CAC at Scale | LTV/CAC ≥3 holds only to ~70K users; at SOM it falls to 1.76× and a 17-month payback. The constraint is cheap-channel capacity, not budget. | Repo · Case study |
| Volta — Dormant 45+ Win-back | Three-arm win-back: human +5.34pp and light-touch +2.77pp vs control. Light-touch pays off at 30–90d (ROI 2.54 / 1.26), human ROI 0.40 — kill as a mass channel. | Repo · Case study |
| Volta — Causal Validation of KYC (DiD) | A DiD test shows the KYC fix causally lifted M3 retention by +9.09pp (95% CI [+6.21, +11.96]) — flat pre-trends, placebo ≈ 0, max |SMD| 0.157 < 0.2. | Repo · Case study |
|
🐍 Snake |
🧪 A/B Test |
🏓 Pong |
|
🔢 2048 |
🔻 Funnel Drop |
📊 Cohort Catch |
|
🧩 SQL Query |
🃏 Metric Match |
Click a card to play the game full screen — it opens in a new tab.
| Game | Controls | Goal |
|---|---|---|
| 🐍 Snake | Arrows / WASD · R to restart | Eat food, grow longer, don't hit walls or yourself |
| 🧪 A/B Test | Click anywhere (or Space / Enter) | Collect data until the p-value drops below 0.05 |
| 🏓 Pong | W/S or ↑/↓ — or move the mouse · R to restart | Beat the CPU — first to 11 |
| 🔢 2048 | Arrows / WASD · R to restart | Slide and merge tiles to reach 2048 |
| 🔻 Funnel Drop | ←/→ or move the mouse | Catch falling users to convert them |
| 📊 Cohort Catch | ←/→ or move the mouse | Catch Returning users (green), avoid Churned (grey) |
| 🧩 SQL Query | Click an option (or keys 1-4) | Pick the token that fills the SQL blank |
| 🃏 Metric Match | Click two cards | Match each metric to its formula |
Last refreshed: 2026-10-19 09:58 UTC · 256 contributions in the last 7 days
- Кейсы с собеседований: как диагностировать просадку метрики
- Проактивность аналитика за рамками роли
- Churn + uplift: кому дать скидку (причинный таргетинг)
- EDA-шаблон с кодом: разведочный анализ по-продуктовому
- Feature Impact: как измерить влияние фичи, когда A/B невозможен
Auto-updated daily from the site RSS via GitHub Actions.
Languages & Libraries
Databases & Warehouses
Visualization & BI
Orchestration & Dev Tools
🧩 How this profile is built — situation, task, actions, result
Situation. The work lived across many repositories — experiments, SQL, retention, segmentation — each with its own numbers and no single reachable page tying a method to the result it produced.
Task. Turn that body of work into a profile a recruiter can navigate in one scroll: headline cases with real numbers, a public case study per project, and a portfolio site that demonstrates the analytics rather than describing it.
Actions. Published the work end-to-end. Projects are grouped into Experiments / Analytics / Product / Engineering, the Volta flagship carries 23 linked sub-cases, and the portfolio site at https://nikitaboyarkin.github.io renders every case study. In the site, headline numbers are frozen in src/lib/metrics.ts and CI-checked; profile cards, stats and the SVG games are self-hosted via scripts/build_profile.py.
Result. A public portfolio site plus a self-hosted profile: 10 playable SVG mini-games, the Volta flagship at +5.72 pp KYC conversion and €656K/yr, and an analytics evidence map linking each method to the repository that produced it.
Profile cards (stats, activity, contribution map, contribution types, monthly activity, top languages) are self-hosted via scripts/build_profile.py. Powered by snk, blog-post-workflow, skill-icons, shields.io, and jsDelivr.