Finance & Business Analyst — SaaS / Subscription Reporting (Remote)

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Part Time

WAGE / SALARY

$15-$20/hour

HOURS PER WEEK

20

DATE UPDATED

May 21, 2026

JOB OVERVIEW

About the role
We're a US-based finance and advisory practice supporting a growing roster of clients — subscription and SaaS businesses first, with others added as we scale. We're looking for a sharp, tech-fluent analyst to own recurring financial and operational reporting across these clients and make it faster, cleaner, and more insightful using modern tools, including AI. You'll work directly with the founder and a small team, with real room to grow into broader analytics work as new clients come on.
This is a long-term, part-time role of roughly 100 hours per month, with potential to grow over time.

What you'll do

Own recurring financial and SaaS-metric reporting: NRR, GRR, logo retention, churn, ARR/MRR movement, and cohort analysis
Turn raw data from accounting and billing systems into clean, structured, decision-ready reporting and dashboards
Use AI tools and light automation/scripting to speed up reporting — less manual work, faster turnaround, better-looking output

Support budgets, forecasts, and ad-hoc analysis for the founder and clients

Reconcile and pressure-test data; flag anomalies before they reach a client

Grow into reporting for new clients and domains as the practice expands — the core skill is the same: turn messy data into reliable, clean reporting

What we're looking for

Working knowledge of subscription/SaaS metrics (NRR, GRR, logo retention, churn) and why they matter — this is the differentiator

Advanced Excel (clean model structure, pivots, lookups) — non-negotiable

Genuinely tech-fluent and fast-learning: you actively use AI tools (ChatGPT, Claude, etc.) to work faster, and you're comfortable using light scripting or automation to eliminate manual work

Strong analytical instinct — you understand the story behind the numbers, not just the mechanics

Clear written English, reliable across time zones, detail-obsessed, and self-directed once trained

Strong pluses

SQL and/or BI tools (Power BI, Tableau, Looker)
Scripting / automation (Python, Google Apps Script)
QuickBooks or other accounting/billing-system experience
Foundational data-warehouse exposure (BigQuery, Snowflake, Postgres) — with room to grow into broader data work

Who this role is for (and who it's not)
This is a hands-on, do-the-work role, not a leadership or architecture seat. You'll love it if you're an individual contributor who enjoys building clean reports and models, you're early-to-mid in your career and growing toward more responsibility, you take direction well, and you want a stable long-term remote role you can settle into. It's not the right fit if you're a manager, director, or architect looking to lead teams or set strategy.

Rate
$15–$20/hour depending on experience, roughly 100 hours/month, long-term.

How to apply
Send your CV and a short note on a reporting or SaaS-metrics project you're proud of. Bonus: include a dashboard or model sample, and tell us one specific way you've used an AI tool to do analytical work faster. Please start your message with the word "RETENTION" so we know you read this post.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0446
Total Execution Time  0.0460
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,512,064 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Finance-Business-Analyst-SaaS-Subscription-Reporting-Remote-1652576
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0388 seconds)  (Hide)
0.0002   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1652576
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 937456
 LIMIT 1 
0.0330   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1652576
AND `misc`.`idIS NULL 
0.0006   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1652576' 
0.0004   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1652576 
0.0007   UPDATE employer_jobs SET hit_counts '***May-21-2026=152***May-22-2026=200***May-23-2026=50***May-24-2026=39***May-25-2026=71***May-26-2026=57***May-27-2026=52***May-28-2026=30***May-29-2026=23***May-30-2026=21***May-31-2026=9***Jun-01-2026=24***Jun-02-2026=40***Jun-03-2026=15***Jun-04-2026=7***Jun-05-2026=13***Jun-06-2026=16***Jun-07-2026=9***Jun-08-2026=15***Jun-09-2026=17***Jun-10-2026=28***Jun-11-2026=51***Jun-12-2026=27***Jun-13-2026=5***Jun-20-2026=1' WHERE job_id'1652576'  
0.0006   UPDATE employer_jobs SET monthly_hits '***May-2026=704***Jun-2026=268' WHERE job_id'1652576'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1652576' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1652576 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '937456'
AND `date_added` >= '2022-06-08' 
0.0004   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)