Sujan Shrestha
Data analyst, UK-based
For seven years I built the systems businesses run on: websites, CRMs, HR and payroll tools, spreadsheet automations. Designing where data comes from taught me what it can and can't tell you. Now I work on the other end, turning that data into decisions.
Data analysis case studies
Each one follows the same structure: the question, the data, how I worked with it, and what it made possible. Switch between them with the sheet tabs.
One workforce dataset across three countries
Deurali HRM: attendance, leave, payroll and performance for a company with offices in the UK, Dubai and Nepal.
- 3countries
- 6access roles
- 2salary currencies, plus UK contractor invoices
- 1source of truth
| Question | How do you report on people, hours and pay consistently when staff are spread across three countries, two currencies and different contract types? |
|---|---|
| Data | Shift-level attendance, leave records, salaried pay in NPR and AED, UK contractor invoice summaries, and performance reviews. |
| Method | Designed the data model in Google Sheets with an Apps Script web app on top. Every shift has a defined lifecycle, so attendance figures are complete rather than estimated. Role-based access across Admin, CEO, COO, CTO, Lead and Staff controls who sees what. Reviews require a self-assessment before the lead review, so both sides are always captured. |
| Outcome | Leadership gets attendance, leave and payroll summaries per country and per currency from one dataset instead of separate local spreadsheets. |
| Analyst lesson | The questions you can answer later are decided when the data model is designed. Clean structure at entry beats cleaning at analysis time. |
Why weren't people taking their leave?
Team Hub: an HR and leave tracker built after the old employee records went missing.
- 12company leave days going unused
- 5departments
- 0reliable employee records at the start
| Question | The team had 12 outstanding company leave days and wasn't using them. Nobody could say who was affected, because the employee information sheet had gone missing. |
|---|---|
| Data | Employee details, documents, key dates, and every leave request with its status. |
| Method | Rebuilt the dataset from scratch with a Google Form feeding a structured sheet. Leave requests go through a form too, with templated emails sent automatically whenever a request changes status. Alerts go out two days before birthdays and company events. |
| Outcome | Every leave request is now a record with a date, department and status, so leave uptake can be measured by person and department instead of guessed. The live demo below shows the kind of view this data supports. |
| Analyst lesson | Before you can explain a problem, you have to make it measurable. Here, the first deliverable was the data itself. |
Fixing the data before trusting the chart
Family Budget Tracker: income and expense tracking with a monthly comparison dashboard.
- 1silent data-type bug found
- Monthlyincome vs expenses view
| Question | Where does a household's money go each month, and is income keeping up with spending? |
|---|---|
| Data | Every income and expense entry with date, category and amount. |
| Method | Built a dashboard with a category breakdown and a filterable transactions table. When adding the monthly Income vs Expenses chart, the monthly totals came out wrong: Google Sheets was silently converting month labels such as "2026-07" into full dates, which broke the grouping. I wrote a normaliser that reads genuine dates first, falls back through several parsing strategies, and rewrites values that had already been converted. |
| Outcome | Accurate month-by-month totals, and a reusable cleaning pattern I now apply to every Sheets project. |
| Analyst lesson | A chart that looks plausible can still be wrong. Check data types before checking conclusions. |
An inbox that reports on itself
Gmail automation: triage, filing and a daily digest, with every run logged.
- Dailydigest with calendar agenda
- Everyrun logged to a sheet
| Question | How do you stay on top of a busy inbox and know the automation is actually working? |
|---|---|
| Data | Incoming email, attachments, calendar events, and a run log. |
| Method | An Apps Script pipeline that triages the inbox, files attachments into Drive, and emails a daily HTML digest with the day's calendar. Each run writes a row to a Google Sheet, so there's a record of what was processed and when. |
| Outcome | A morning summary instead of manual sorting, and a log that shows whether each run succeeded. |
| Analyst lesson | Any recurring data process needs its own audit trail. If you can't see that it ran, you can't trust its output. |
Reading campaign data to steer marketing
GrowYourBNB, 2023–2025: as CTO and Operations Lead.
- Weband campaign performance metrics
- Landing pagesoptimised for conversion
| Question | Which campaigns and pages bring in leads, and where should the next round of effort go? |
|---|---|
| Data | Website and campaign performance metrics, client records, and sales activity. |
| Method | Analysed site and campaign performance to inform marketing decisions, and used the findings to prioritise landing page and UX changes. Kept client, sales and marketing records organised so the numbers could be trusted and compared over time. |
| Outcome | Marketing and website decisions based on measured performance rather than instinct. |
| Analyst lesson | Analysis only matters when someone acts on it. I was both the analyst and the person making the change. |
Live demo: leave uptake by department
The kind of view Team Hub data makes possible. Switch the measure and the chart, ranking and summary all update.
View the underlying data
| Department | Staff | Allowance (days) | Taken | Still to take | % used |
|---|
Data analysis skills and tools
Each skill links back to work above, so you can see it in use.
| Spreadsheets | Google Sheets and Excel as working databases: structured data entry, validation, cleaning, and summaries.Seen in: Deurali HRM, Team Hub, Budget tracker |
|---|---|
| Data cleaning | Finding and fixing type errors, inconsistent formats, and silent conversions before analysis.Seen in: Budget tracker |
| Visualisation | Dashboards and charts that answer one question each, built with Chart.js, SVG and spreadsheet tools.Seen in: Budget tracker, live demo |
| Python | Back-end and analytics code, and generating Excel workbooks with openpyxl.Seen in: Code Himalaya role |
| Automation | Google Apps Script pipelines across Sheets, Forms, Gmail, Drive and Calendar, with logging.Seen in: Inbox automation, Team Hub |
| Web and marketing analytics | Campaign and site performance analysis, SEO, conversion-focused page changes.Seen in: Campaign analytics, Online Notes Nepal role |
| Communication | Turning findings into plain-language updates for clients and leadership.Seen in: every role below |
Work experience
From building websites to running operations: each role put me closer to the data.
-
2023 – 2025
CTO / Operations Lead, GrowYourBNB
- Analysed website and campaign performance metrics to inform marketing decisions.
- Managed landing pages and UX improvements to support conversion goals.
- Kept client data, sales activity and marketing assets organised and reliable.
- Coordinated digital campaigns for brand visibility and lead generation.
-
2022 – 2023
Python Developer, Code Himalaya
- Wrote clean, maintainable Python for digital solutions and analytics.
- Built back-end components to improve application responsiveness and performance.
- Connected user-facing features to back-end functionality.
-
2018 – 2022
SEO Analyst & WordPress Developer, Online Notes Nepal
- Applied SEO practices to improve search visibility and enquiries.
- Designed and maintained business websites focused on usability and engagement.
- Gathered client requirements and delivered on deadlines.
Bachelor of Computer Information Systems (BCIS)
Let's talk
I'm looking for a full-time data analyst role in the UK. If you have a team that needs someone who understands both how data is collected and what it means, I'd like to hear from you.
Email me- Emailinfo@isthasujan.com
- LinkedInsujan-shrestha31
- GitHubStha-Sujan
- CVRequest by email