EDUCATION
RevoU Sept –
Full Stack Data Analytics Program
• Spent 12 weeks learning being a professional data analyst
• Has done 3 case studies on individual projects and 1 group project
• Learn about data analytics technical skills in preparation for professional world (Exploratory Data Analytics, SQL, Python, Clustering, Tableau, Google Data Studio).
• Lead the team in discussion to achieve final project goals, conducting analysis related to e-commerce marketplace on the seller side to find the best characteristics of the seller and provide recommendations for finding a new seller.
Soegijapranata Catholic University 2017 - 2021
Architecture Study
GPA 3.05
PROFESIONAL EXPERIENCE
Bank Central Asia (BCA)
Jan 2022 - Now Teller
• Processed daily client transactions, including deposits, withdrawals, money transfers, and selling cashier’s checks.
• Accurately maintained records of each transaction and ensured all documentation and paperwork was in place and within compliance.
• Assisted clients with various questions and concerns related to their accounts and bank products.
• Mostly assigned at STAR Teller, performing transactions with 2 customers directly
Dec 2022
Question .1
Create a query to get the number of unique users, number of orders, and total price per status and month.
SELECT status , DATE_TRUNC(date(created_at),MONTH) MONTH
, COUNT (DISTINCT (user_id)) as unique_user
, COUNT (order_id) as number_of_order
, SUM (sale_price) as total_price
FROM `bigquery-public-data.thelook_ecommerce.order_items`
WHERE created_at BETWEEN '2019-01-01' AND '2022-08-31'
GROUP BY 1, 2
order by 2 ASC
Query – BigQuery(SQL)
Query – BigQuery(SQL)
Question .2
Create a query to get frequencies, average order value and total numbebr of unique user where status is complete grouped by month.
SELECT COUNT (DISTINCT (user_id)) as user
, DATE_TRUNC(date(created_at),MONTH) MONTH
, SUM (sale_price) / COUNT (order_id) as AOV
, COUNT (DISTINCT order_id) / COUNT (DISTINCT (user_id)) as frequencies
FROM `bigquery-public-data.thelook_ecommerce.order_items`
WHERE created_at BETWEEN '2019-01-01' and '2022-08-01'
GROUP BY 2
ORDER BY 2 ASC
Query – BigQuery(SQL)
Query – BigQuery(SQL)
Question .3
Find the user id, email, first and last name of user whose status is refunded on Aug 2022.
SELECT users.id , DATE_TRUNC(DATE (returned_at), DAY) as refuned , orders.status , users.first_name , users.last_name , users.email
FROM `bigquery-public-data.thelook_ecommerce.users` users JOIN `bigquery-public-data.thelook_ecommerce.order_items` orders on users.id = orders.user_id
WHERE orders.status = 'Returned'
AND orders.returned_at BETWEEN '2022-08-01' AND '2022-08-31'
Query
– BigQuery(SQL)
Query – BigQuery(SQL)
Question .4
Get the top 5 least and most profitable product over all time.
WITH maximum as ( SELECT products.name as product_name , products.id as product_id
, products.retail_price
, products.cost as cost
, orders.status
, orders.sale_price
, COUNT (DISTINCT products.id) as product_count
, SUM(orders.sale_price) OVER (PARTITION BY products.id) as sum_profit
FROM `bigquery-public-data.thelook_ecommerce.products`products
JOIN `bigquery-public-data.thelook_ecommerce.order_items` orders
ON products.id = orders.order_id
WHERE orders.status = 'Complete'
GROUP BY 1, 2, 3, 4, 5, 6
ORDER BY 6 DESC
,minimum as ( SELECT products.name as product_name , products.id as product_id
, products.retail_price
, products.cost as cost
, orders.status
, orders.sale_price
, COUNT (DISTINCT products.id) as product_count
, SUM(orders.sale_price) OVER (PARTITION BY products.id) as sum_profit
FROM `bigquery-public-data.thelook_ecommerce.products` products
JOIN `bigquery-public-data.thelook_ecommerce.order_items` orders ON products.id = orders.order_id
WHERE orders.status = 'Complete'
GROUP BY 1, 2, 3, 4, 5, 6
order by 6 ASC
Query – BigQuery(SQL)
Question .4
Get the top 5 least and most profitable product over all time.
. . . SELECT maximum.product_name
, maximum.product_id
, maximum.retail_price
, maximum.product_count
, maximum.sum_profit - maximum.cost
FROM maximum UNION ALL SELECT minimum.product_name
, minimum.product_id
, minimum.retail_price
, minimum.product_count
, minimum.sum_profit - minimum.cost
FROM minimum LIMIT 10
Query – BigQuery(SQL)
Query – BigQuery(SQL)
Question .5
Create a query to get Month to Date of total profit in each product categories of past 3 months (current date 15 Aug 2022), breakdown by month and categories.
WITH profit AS ( SELECT
FORMAT_DATE('%Y-%m‘,DATE_TRUNC(date(order_items.created_at) , MONTH)) as month , products.category As category , products.cost , order_items.created_at , order_items.sale_price , SUM(products.cost) AS total_cost , SUM(order_items.sale_price) AS total_price FROM `bigquery-public-data.thelook_ecommerce.products` products JOIN `bigquery-public-data.thelook_ecommerce.order_items` order_items . .
. .
ON order_items.product_id = products.id
WHERE created_at BETWEEN '2022-06-01' AND '2022-08-15' AND order_items.status = 'Complete'
GROUP BY 1, 2, 3, 4, 5
ORDER BY 1 ASC ) . . SELECT DISTINCT profit.category ,profit.month , SUM (total_price) OVER ( PARTITION BY profit.category,profit.month) - SUM(total_cost) OVER (PARTITION BY profit.category,profit.month) as profits FROM profit
ORDER BY 2 ASC
Query – BigQuery(SQL)
Query – BigQuery(SQL)