Data Analyst — BigQuery & Looker Studio (Project-Based, Then On-Call)

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

TYPE OF WORK

Gig

SALARY

465.00-940.00

HOURS PER WEEK

TBD

DATE UPDATED

May 8, 2026

JOB OVERVIEW

Job Title: Data Analyst — BigQuery & Looker Studio (Project-Based, Then On-Call)
Type: Contract — project to start, on-call retainer after
Pay: Open to proposals — tell us your project rate and your hourly rate for ongoing changes
Location: Remote, Philippines preferred

About Us
We are a professional land surveying firm in Ottawa, Canada. We are building a reporting system so our partners can see job profitability, utilization, work-in-progress, and pipeline in real time. We have a tea ---------- mber who handles ---------- and the automated data pipeline into BigQuery. We need someone to own the analytics layer on top of it.

What We Need
This is a two-part engagement.
Part 1 — Build it
Our data is already flowing into Google BigQuery. Your job is to design the data model, write the SQL views, and build the Looker Studio dashboards our partners use daily. Core reports include job profitability with drill-down by person and phase, work-in-progress, staff utilization, AR aging, and quote pipeline.
We will work with you closely at the start to make sure you understand the business and what each report needs to show. After that we expect you to work independently and deliver.
Part 2 — Hand it over
Before this engagement closes, you must deliver a written maintenance guide — plain English, no jargon — that explains how the system works, how to update it when something changes, and how to troubleshoot common problems. This is a hard deliverable. No guide, no final payment.
After that — on-call
Once the system is live and handed over, we will contact you when we need something changed — a new dashboard, a new filter, a schema update. You quote us for the change, we approve, you do it. No retainer, no commitment on either side. We just want a reliable person we can call who already knows our system.

You Must Have

Real BigQuery experience — table design, SQL views, star schema or similar
Real Looker Studio experience — multi-page reports, calculated fields, drill-downs, blended sources
Ability to write documentation that a non-technical person can follow
Strong written English

Working hours: 8am-4pm Eastern Time (Ottawa, ON)


How to Apply

Email
---------- with your project rate, your hourly rate for ongoing work, and two or three examples of BigQuery or Looker Studio work you have done — what the data was, what the reports showed, and what your role was.
Read the whole post before applying. The first line of your application must name the Google product we use as our data warehouse. Applications that do not start with this will not be read.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0271
Total Execution Time  0.0284
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,502,632 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Data-Analyst-BigQuery-Looker-Studio-Project-Based-Then-On-Call-1642135
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0187 seconds)  (Hide)
0.0009   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0010   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1642135
 LIMIT 1 
0.0009   SELECT *
FROM `employers`
WHERE `employer_id` = 904166
 LIMIT 1 
0.0035   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1642135
AND `misc`.`idIS NULL 
0.0011   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-07-14',ej.date_added) duration_daysDATEDIFF('2026-07-14',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-07-14',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1642135' 
0.0013   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1642135 
0.0017   UPDATE employer_jobs SET hit_counts '***May-08-2026=361***May-09-2026=48***May-10-2026=36***May-11-2026=61***May-12-2026=34***May-13-2026=35***May-14-2026=21***May-15-2026=18***May-16-2026=19***May-17-2026=14***May-18-2026=18***May-19-2026=10***May-20-2026=4***May-21-2026=6***May-22-2026=15***May-23-2026=4***May-24-2026=10***May-25-2026=9***May-26-2026=15***May-27-2026=12***May-28-2026=11***May-29-2026=6***May-30-2026=3***May-31-2026=12***Jun-01-2026=6***Jun-02-2026=14***Jun-03-2026=7***Jun-04-2026=5***Jun-05-2026=8***Jun-06-2026=7***Jun-07-2026=2***Jun-08-2026=4***Jun-09-2026=6***Jun-10-2026=13***Jun-11-2026=1***Jun-12-2026=1***Jun-13-2026=4***Jun-14-2026=3***Jun-15-2026=1***Jun-16-2026=9***Jun-17-2026=8***Jun-18-2026=2***Jun-19-2026=12***Jun-20-2026=4***Jun-21-2026=4***Jun-22-2026=8***Jun-23-2026=7***Jun-24-2026=12***Jun-25-2026=7***Jun-26-2026=9***Jun-27-2026=3***Jun-28-2026=3***Jun-29-2026=4***Jun-30-2026=5***Jul-01-2026=3***Jul-02-2026=8***Jul-03-2026=5***Jul-04-2026=3***Jul-05-2026=5***Jul-06-2026=7***Jul-07-2026=6***Jul-08-2026=5***Jul-09-2026=3***Jul-10-2026=1***Jul-11-2026=2***Jul-14-2026=1' WHERE job_id'1642135'  
0.0011   UPDATE employer_jobs SET monthly_hits '***May-2026=780***Jun-2026=179***Jul-2026=49' WHERE job_id'1642135'  
0.0018   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1642135' AND status LIKE 'sent%' ORDER BY id DESC  
0.0009   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1642135 
0.0029   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '904166'
AND `date_added` >= '2022-06-08' 
0.0009   select from teasers 
0.0008   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)