diff --git a/image.png b/image.png new file mode 100644 index 0000000..5d4118f Binary files /dev/null and b/image.png differ diff --git a/images/wrong-values-screenshot.png b/images/wrong-values-screenshot.png new file mode 100644 index 0000000..30cdf30 Binary files /dev/null and b/images/wrong-values-screenshot.png differ diff --git a/log.md b/log.md index e84d777..af4e2d4 100644 --- a/log.md +++ b/log.md @@ -1439,7 +1439,7 @@ LEFT JOIN [report].[User] Payee ON VerPay.PayeeUserId = Payee.Id LEFT JOIN [dbo].[VerificationRequest] VerReq ON VerPay.VerificationRequestId = VerReq.Id LEFT JOIN dbo.Booking Booking ON VerPay.VerificationRequestId = Booking.VerificationRequestId LEFT JOIN dbo.Accommodation Acc ON Booking.AccommodationId = Acc.AccommodationId -WHERE VerPay.PaymentDate > '2023-11-25' -- Jamie request payments after 25th November +WHERE VerPay.PaymentDate > '2023-11-25' -- Adjust with the right start date ``` And send it again to Jamie. @@ -1562,47 +1562,140 @@ Robinson can run it from his laptop because he has punched a hole in the firewal - He wanted to know how to move forward. He approves of my approach. - He wants for it to be well-known that we at Data are up and available to help out Finance strongly -# Now +# 2023-01-05 -- [ ] Have a coffee with Jamie -- [ ] Prepare ~~kickoff~~ of the untangling - - [ ] Send pre-alignment email - - [ ] Send invites - - [ ] Find 30min with Amanda -- [ ] Book more time for untangling +- [X] Have a coffee with Jamie +- [X] Prepare ~~kickoff~~ of the untangling + - [X] Send pre-alignment email + - [X] Send invites + - [X] Find 30min with Amanda +- [X] Book more time for untangling +# 2023-01-08 + +## Product weekly + +- Mac issues VPN are now solved +- First go at the catalogue is finished, I'll make a quick announcment +- Azure + - I have Robinson's approval + - Close to finishing up in dev +- Finance + - I'm not happy with how things are going + - Now I am happy + - 4-6 weeks effort starting today + - Also iplicit +- Hiring + - I tried with my contacts but got no interest so far + +## Iplicit kickoff meeting + +We meet with Kieran May from their side. Project manager from their side. He was an accountant. + +Solution design meeting on 17/01. Deep dive in Accounting processes. Full blown detail. Sales processes, purchase processes, financial transactions, bank accounts, etc. + +PID Document starts today. + +After we create sandbox <- Used for training and also for technical testing. Will also need static master data, we will get templates for loading that. + +Workshops. We design and parametrize, work through how we use the tool. Also chance to modify final configs. + +User base training with the end users. + +Then, UAT before we go live, final sign off. + +Production environment gets copied over from UAT. Configs get copied over, but actual books and transactions get deleted so Production stands clean. + +After go live, we have support calls still with the implementation team. + +After that, we go into support mode. + +--- + +Entities +Guardhog technologies (UK) (has VAT, quarterly, standard not cash-based, GBP is base currency) () used for a lot of purchases +| +|- Superhog Limited (UK) (has VAT, quarterly, standard not cash-based, has multiple currencies (USD, GBP, EUR, AUD, USD, AED, ZAR)) () used to get all sales +| | + |- Three subsidiaries (US, Spain (has VAT), Australian) +| +|- Guardhog Limited (UK) + +We need to come up with codes for the legal entities. +US is not using Xero because it's WIP, no running books. +All entities except Spain close yearly on 31st March. +Monthly reporting. +About 14ish bank accounts. + +The whole payslip accounting stuff, we might need to do a template for the Spanish ones. + +Offices + +- UK, Stockbridge +- ES, Barcelona +- Everyone else is remote + +Do we have codes for legal entities? + +- Do we have somewhere to check timeline/milestone/status? +- Are we only starting on April 1st live? Yep. +- Do we keep the sandbox env forever? - We definitely keep it for a bit. It costs money, so we should judge if it's worth keeping it forever. +- Currency conversion we need to agree on exchange rates -> Iplicit comes with currency data, we should look into how to load it in the DWH and use that for all reporting so we have a unified vision on exchange rates. + +# 2024-01-09 + +## Call with Humphrey + +- Most important stuff + - Invoicing needs fixing and finance needs to be brain-available + - Resolutions needs to stop being a dark, obscure corner + - Lots of improvement operations wise to be more efficient + - Marketing needs data to look at hosts like users (LTV, CAC, active users) + - Pricing can be a massive profit lever if we reach the maturity of insurance companies, we need to aim for it + +# 2024-01-10 + +## Product catchup - Azure + - WIP +- Finance + - WIP, expected a million stories coming out of this +- Hiring + - I tried with my contacts but got no interest so far -- Data Catalogue - - [X] Finish brush up !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - Mixpanel entries (add video from Louise meeting 2023-12-21) - - Reporting layer docs in Notion and confluence + stuff discussed with Robinson - - [ ] Make fancy email asking different owners to review the contents - - Core and Reporting Suite: Ben Robinson - - Hubspot, Hubspot Reports, Aircall, RevenueHero: Alex Anderson and Lianne Foster - - Mixpanel and Mixpanel Reports: Louise - - Airtable: Lourdes - - Xero and Iplict: on hold - - Stripe and Acquired: on hold - - [ ] Make big announcement + Quick Presentation Meeting +# 2024-01-11 -- Individual arch - - E2E with dbt - - Start creating stuff on Azure !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - Continue documenting architecture !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +- [X] Ensure sync of all data git repos in DevOps so that Robinson can move them to the new data project +Invoicing Reformation +- [X] Discuss plan with Amanda + - Have her onboard and provide give responsiblity feeling +- [X] Send big email + - [X] Give it a name and let people know that we will work on this + - [X]Send kick-off invite + - [X] Schedule more sessions + - [X] Prepare Notion page with rough plan and status tracking + - [X] Prepare presentation for kickoff + - [X] Start creating gaps in Notion to fill during sessions -- Core Database access for Macusers - - Lourdes VPN status says disconnected, yet logs indicate that it is connected - - I found this: - - Running this command fixed it for Lourdes: `/usr/sbin/softwareupdate --install-rosetta --agree-to-license`. All is fine if user sees `Install of Rosetta 2 finished successfully.` +# 2024-01-15 -- [ ] Ask IT for mail -- [ ] Place this in Backlog: -- [ ] Add story to backlog about rough DealId compliance monitoring through quick and dirty weekly extract -- [ ] Story about checking for accounts with no deal id -- [ ] Story about report to spot non-matching pricing details across Dashboard Superhog. -- [ ] Story about having a currency exchange rate database in DWH +## Product catchup + +- Azure + - WIP +- PBI is now in version control +- Booking bugs + - Top visual has always been wrong + - Missing dates in master table +- Finance + - WIP, expected a million stories coming out of this + +- Resolutions centre + - New app? + - What's the backend? + +# 2024-01-18 - Documenting sessions with Ben - [X] List integrations @@ -1613,19 +1706,2585 @@ Robinson can run it from his laptop because he has punched a hole in the firewal - [ ] Review access management - [ ] Review change management for dashboards and semantic layers -- [ ] Deep dive into invoicing process - - [X] Provide a heads-up into it to the wise men table - - [ ] Contrast thoughts with Cotte - - [ ] Set up kick off meeting - -- Equipment +## Stripe session #1 + +- Dashboard summary: sometimes it's a bit delayed by one or two days. If you need 100% up to date, go to exports. + +- We should explore the payments transactions exports, they look interesting. + +- Multiple accounts reporting? Not possible natively, perhaps with plugins. + +- Sigma: direct SQL reports on the UI. Seems it's not active in our accounts. Gets charged depending on how many payments are coming into the wallet. + +Direct debits, perhaps finance could use this with lower fees? + +# 2023-01-22 + +## Product weekly + +- Hiring +- Finance + - Great success + - Elaine happy + - Amanda happy + - Jamie happy + - I'm happy + - Tomorrow we make orphan stories get adopted by someone + - I'll start working on some tools myself for January cycle + - [X] Stripe exports + - [ ] Deposit exports +- Infra/Azure + - [ ] This week I document and script everything out and I'll book some time from Ben to go to production + +# 2023-01-23 + +## Meeting with Matt + +- Data quality for Account Managers +- Hubspot reporting +- Alex's role once we have a DWH + - He can work great + +# 2023-01-24 + +## Product catchup + +- Finance + - I'm rushing some developments + - We very much need for it to not rot again or it will be nasty + - Lourdes, Stripe, let's get things clean + - Ben R. and I are aligned long term philosophy +- Azure + - Document things this week + - Go to production next week with Ben if possible + - We have a contractor coming along for infrastructure for the next 3 months +- Interview with Jeremy + +## Meeting with Leo + +- Middleware PBI + - He sends me a list of partners + - I check why are they not appearing in the report + +## Product KPIs + +# 2024-01-26 + +## Interview with Jeremy + +ETL Role - Informatica +Then Support on ETL +Also doing reporting SAS, SAP BO, + +Systems Analyst +SQL with MSSQL and Oracle +SSRS +Tableau + +- git + - SSRS + - SQL queries + - Issues with merges + - Doesn't +- postgres + - No +- dbt + - No +- pbi + +- He likes quite a bit the DE side +- He prefers the Data Analysis + +- Data contracts + +- Organizing data consumption + - he suggests kanban approach + - each department has a product owner from that department + - g + +- How do you handle unrealistic expectations? + +- What are things that you don't like about the current work and that you would hope would be different? + - Not much time to dive into analysis beyond preparing reports. Would like to have more time for free-form exploration. + - Data Quality issues, a lot of shadow-data. With people playing games with Excel sheets. + - Very far away from the business. + +- How do you keep business people familiar with the reports and metrics you produce? +- Any times you've seen teams failing and why do you think it happened +- What's the favourite reporting tool? + +- Have you experience with ELT? + +- What don't you like about your current position/role/responsibilities? + +# 2023-01-29 + +Today's priorities: + +- [ ] Invoicing tool +- [X] Data News +- [X] Invoicing Documentation +- [ ] Wireguard + +# 2023-01-30 + +- [X] Invoicing tool +- [ ] Wireguard +- [X] Send December export +- [X] Do update query + +## Hubspot x Finance + +- DQ + - Pricing + - Payaway percentages + - Consistency across hubspot and dashboard + - Alex will chase people when they forget stuff + - Deal Id consistency + - It's mandatory + - + - Offering and pricing + +## Call with Leo + +- KYG stuff: please align with Ben C. + +- Guesty/Athena/edeposit dashboard + - It doesn't say it's Guesty + - Be able to filter by clients (Guesty, Hopper) for when we get more stuff + - Have more totals easily visible + - Total nights + - Total bookings cost + - Total records + - Include listings data + +## Call with Looker + +Meeting with Suzanne and Finnian + +Suzanne + +- Account Manager +Finnian +- Customer Engineer + +- Usual infrastructure pattern +- Integrations with AD for permission handling + - Content access on team basis + - Row level access + - Column level security +- Reading from SQL Server +- How does this play with `dbt` +- Migrating from PBI +- How do you compare against Lightdash, Preset/Superset +- Caching options? + +- Version control + - Only data models, or also visual artifacts? + - Can scheduled sends be version controled or programmatically defined? + - Can it be integrated with Azure Devops? + +- Automatic + +- Three layers + - Reporting + - Self-service + - Modeling + +- Scheduled email/slack alerts with conditions on visuals +- Scheduled reports into slack? + +We are eligible for startup credits. 100K awarded for 1 year team + +Stuff I want to read:; + +- +- +- + +# 2024-02-01 + +- [X] Invoicing +- [X] Ryan +- [X] Leo +- [X] Invoicing headsup to Stakeholders +- [X] Invoicing backlog +- [ ] Wireguard + - [ ] Create interface for all traffic + - [ ] Document + - [ ] + +# 2024-02-02 + +- [X] Document SH invoicing as Data Product +- [X] Document Stripe reports as Data Product +- [X] DOcument Stripe as a data source +- [X] Try out Stripe integration with Airbyte +- [ ] Set up dbt runner machine in dev +- [ ] Document infra + +# 2024-02-05 + +- Data Catalogue + - [X] Make big announcement + Quick Presentation Video + - [X] Add Stripe reporting as data product in data catalogue + - [X] Add invoicing tool as Data Product + +Invoicing Reformation + +- [X] Finish stage descriptions +- [X] Drop existing knowledge on inputs + - [X] Drop details on Stripe exports +- [X] Get access to Stripe from Louise +- [X] Clean up knowledge from sessions #2 in Notion +- [X] Clean up notes from session #3 in Notion +- [X] Make E2E process flow diagram and explainer +- [X] Send sessions for next week + - [X] Stripe exports with Jamie + - [X] Dashboard <> Stripe integration with Ben + - [X] Internal review discussion on issues list + - [X] Backlog discussion + - [X] Quick coffee with Amanda +- [X] Phase 1 summary in Notion + Email +- [X] January processing + - New improvements + - Automated Stripe Transaction Exports + - Exchange Rate Formalization + - Automated Stripe Waiver Records management + - Automated Waiver Computation + - Plan + - 29 Morning + - Pablo shares with Jaime new export + - Jamie checks a representative sample of reports and shares errors issues with Pablo + - 29/30/31 + - Pablo applies any hotfixes possible + - On the 31st, we decide which new improvements we feel confident about and include them + - 1 + - Robinson runs the classic export + - Pablo runs the exports + - Everything gets shared with Finance team + +- [X] Equipment - Bookcase for private office x 1 - Organizers for private office x 4 - Organizers for private office x 4 - Post-its, pens, pencils, a couple boxes of white A4, scissors, tape, etc -## Onboarding and Data Kickstart +- [X] Bitcoin competencies test +- [X] Organize week +- [X] Marcel afternoon +- [X] Schedule with candidate +- [X] sh-invoicing issue +- [X] dbt runner -- [ ] Get access to staging environment for KYG-lite platform +## Permissions for dbt user in DWH -- [ ] Luisa Legal (has contact with Trust Keys) to get data map +- It needs + - To be able to create schemas and operate on them + - To be able to ONLY READ from the sync schema + - Nothing else + +Strategy: + +- Create a `modeler` role. +- The modeler can: + - Read anything in the database + - Do anything in the `staging`, `intermediate` and `reporting` schemas. + +```sql + +CREATE ROLE modeler WITH NOLOGIN; +ALTER SCHEMA staging OWNER TO modeler; +ALTER SCHEMA intermediate OWNER TO modeler; +ALTER SCHEMA reporting OWNER TO modeler; + +CREATE ROLE dbt_user WITH PASSWORD ; +GRANT ROLE modeler to dbt_user; + + +``` + +Testing + +```sql +-- Reading from sync schema should work +-- Create on sync schema should not work +-- Inserting on sync schema should not work + +-- Creating schema should work +-- Creating new table in new schema should work +-- Insert data in new table in news chema should work +-- Reading from that new table should work +-- Creating a view in new schema should work + +-- Creating new table in schema `staging` should work +-- Inserting data in new table in newschema should work +-- Reading from the new table in `staging` should work +-- Creating a view in `staging` should work + +-- Doing anything on `public schema should not work` + +``` + +## Product weekly + +- Finance + - They are using things smoothly, success + - Also collecting small details + - Any updates from other teams on this? +- Infra + - Working on it + - I want to go to production this week + +- Louise + - Stripe US account almost ready + - Is that going to take waiver payments? Are we synced with finance? What's the rollout plan? + - Yes, all payments in US dollar will go through there from Monday onwards. + - I will receive access to the Stripe US account. + - Who's doing this? + - Louise, but she will hand things over to Amanda. + +## 2024-02-06 + +- [X] Add silly shell script to git repo + instructions on how to deploy + +# 2024-02-07 + +## Product catchup + +- Full steam ahead with infrastructure + - Planning on deploying production on friday +- Exploring cosmosdb +- Invoicing + - Moving forward fine. + - Small issues that we will improve, nothing critical. + - I will timebox 4 working days towards the end of the month for improvements and data quality topics + - Data quality and strictness + +## Cancellations intro + +- Guests can opt-in into cancellation protection +- Guest pays. If he needs to cancel, he does and gets his booking money back. +- We initially wanted to do the nice +- Plays nicely if the host has a super strict cancellation policy, like no + +- They will define more reporting needs so we can decide what we implement +- They will loop me in when the database model is being designed so I can provide advice on it + +## Invoicing issues + +- Several accounts with same hostname, the export files are being overwritten. +- We will find a way to deal with this in next cycle. + +# 2024-02-09 + +## Interview with Barnabas + +- git? + - No experience +- python? +- sql/postgres? + - SQL + - Infopool? + +- dbt +- reporting/pbi? + - Power BI + - Which tool do you prefer? PBI + - Why? + - "Chemistry" + - Modeling in DWH vs PBI + +- Alteryx! + +- His example project was a pretty standard ERP thingy... +- "I prefer SQL to Python, but I use python for ad-hoc" + +- Data contracts + +- Organizing data consumption? +- How do you handle unrealistic expectations? + +- Technical vs Business +- What are things that you don't like about the current work and that you would hope would be different? +- How do you keep business people familiar with the reports and metrics you produce? +- Any times you've seen teams failing and why do you think it happened? +- What's the favourite reporting tool? +- Have you experience with ELT? + +- 14 years of experience +- SQL +- Python +- PBI/Tableau +- Olympus Portal (show transactions live in POS) +- Specter (self-service learning platform) +- Personalized contextual messaging towards customer for Lloyds + - Tell me more about this + - What was the team like + - What was your exact role +- Migrating from DWH to GCP + +- I'll get together with the Ben and Ben and we will be back in touch. + +My impression: + +- Reading his profile from screen, that wasn't nice. +- Avoided question on technical skills a lot, I'm very unsure about his basic technical skills. +- Very confusing explanations. +- I don't think he can organize company-wide data organization. + +# 2024-02-12 + +- [ ] Last week update +- [X] Send slot to Leo +- [ ] Infra +- [ ] Get service account from Ben R. + +## Product weekly + +- Got tangled with finance +- Infra is very close. + - Today I'll finish the script + - If invoicing doesn't give me troubles, production should be deployed before thursday + +## 2024-02-13 + +- Infra + - [X] Make E2E visually with Infratest to check everything is connected properly + - [ ] Tear down infratest resource group + - [ ] Deploy the Production environment +- [ ] Last week update + +## 2024-02-14 + +- [ ] Last week update +- [X] Humphrey Excel +- [ ] PRD Infra + +## PBI Athena/Guesty/eDeposit + +## Leo + +- Dashboard stuff, we pipe through Ana + +- Host P&L + - Also interesting for Matt + - Income + - Resolution payouts + - Sales/AM expenses + - Relevant for sales, resolutions, guest service + +## Manual Payments Stripe Wilbur + +- off-guest journey payments +- happens when guests fail at the guest journey and ask for guest team support +- Two ways to get the money + - Payment links + - Invoices + +- My desire + - Everything through Stripe + - Always with metadata + +- Can't the same links be resent? + +## Product catchup + +- Finance: silent +- Infra: DWH is live! + - I'll organize several sessions next week to get the knowledge out there (Top mgmt, product+tech+revops managers, company wide) + - This is going to open many doors + +# 2024-02-16 + +## 1 to 1 with Ben + +- Happy about + - Invoicing + - Infra ready + - I'm loving the freedom I have, I would like to keep things this way, I hope that I can deliver a lot with this +- Unhappy about + - Hiring, why don't give it another shot with Barcelona in mind? +- Things I want to do + - Discuss Data priorities with you: make a fat backlog and prioritise a bit + - Discuss Data Viceroys line of work + +How is Andrew? + +# 2024-02-19 + +- [X] Get dbt clean as hell +- [X] Send my notes to Gus +- [X] Review CVs from Ben + +## Product catch-up + +- Finance plans +- Iplicit +- Ana's story +- New platform company tour +- Stripe payments research +- Discuss with Gus on cancellation backend + +## Cancellation data db model with Gus + +Cancellation data model open questions/requirements + +- How can I know if a certain guest journey was offered Cancellation cover? +- How can I know if the guest accepted/rejected the cover? +- How can I know if the guest successfully paid the cover? +- How can I know what was the cover amount/cover fee/cover percentage/whatever other pricing details the guest was offered? + Currency involved +- How can I know if a user asked for the Cover to be activated (as in, he cancelled the booking and wants his money from Superhog) +- How can I know the status of the payout if the above has taken place? + +- What entities? + +ValidationSetToCurrency -> specifies what the guest pays for, what the cover is and cover amount. + +Verification table holds + +- Metadata to Stripe will be pushed as usual? + +- All times we offered cancellation + - Appears in verification set + +- All times it was taken + - + +- Payment details? +- How to check if cancellation was requested +- Story of cancellation settings per listing/account? + - It's unclear whether the amounts and percentages will be set at superhog-level, or account-level + - But the history will always be there for each guest journey, because the cover settings will be in the PaymentVerification stuff, and each VerificationRequest + +## Hopper SLA + +- Resolution payouts for this customer will have an SLA + +- How can we make the resolution agents more independent? + +- Paying out from Stripe? + +- Queue idea +- Automation comes after +- Automation will require integrating with Treasury strategy finance +- Don't put payment commitments on SLA or we are gonna die + +# 2024-02-20 + +## Iplicit Purchase and Sales Invoice input training session + +Amanda shows us how to input purchase and sales invoices + +Each customer is identified with the Deal Id + +We can attach any arbitrary files to the Sales Invoice + +There is also a Sales Credit Note document + +# 2024-02-21 + +- [X] Do Ana's stuff on PBI + - [X] Make the current report tab clearly state that we are showing Guesty stuff + - [X] Create a new tab for V2 (non-guesty) records + - [X] On both the old guesty one and the v2: + - [X] Add searchable filters by Booking ID and ID + - [X] The v2 tab might have slightly different names for the fields and a few fields might not be there at all + - [X] Cosmetics, logo, etc + - Credentials + - + +- [X] Plan holidays + - [X] Request the days in Sage + - [X] Mark OOF in Outlook + +- Session + - Why we are here + - I've built some stuff, you need to know how to dance with it + - Starting Point + - The Data Scene two months ago + - Different systems with their own little reporting tools attached + - Issues with it + - Mixing Data from different places + - Limited modelling + - Decentralized modelling + - Now + - DWH and ELT model + - Centralize stuff in DWH + - The logical structure of the DWH + - Syncing sources + - Problems we have solved + - Mixing data from different places + - Advanced modelling + - Centralized Modelling + - Self-contained reporting will still be a thing though + - What you should know + - As a producer + - Keep us in the loop when building new stuff + - We need your help to document your data to make it usable for others + - We are a dependency: please don't make our life hell + - As a consumer + - You should be aware of whether Data is already synced + - You will have documentation to understand the available data + - Request stuff with time, it will help us plan capacity + - Data champions + - The more knowledge you have, the less you depend on us + +# 2024-02-22 + +- [X] For Ben C.: template for Data Product Requests + - [X] Also book time for the week after invoicing + +## Cancellation Update with Matt + +- We are aiming for the 3rd monday of march (18/3) + +## Cancellation Data Model + +![alt text](image.png) + +- We can know if the cover was offered by looking at the VerificationSet +- We can know if the cover was taken +- We can know if it was paid + +There is no info at all on whether a guest has requested the execution of the cover +There is no info at all on the lifecycle of the execution of the cover + +# 2024-02-23 + +## Iplicit Workshop + +- How do we create Sales Invoices + - I need an API Key + - Veerinder + - Who do I call if I need help? + - Veerinder + - How do we add lines? + - Should we create in draft, or should it be submitted? + - We create in Draft, finance reviews + +- How do we want to bulk send? Do we want to bulk send + - Not yet +- I would like to have this running in Sandbox mid-march + +- How do we get exchange rates + +--- + +We can import documents through an Excel template + +## Invoicing Planning for February processing cycle + +- How did it go? +- Plan +- Feature discussion + +# 2024-02-26 + +## Product catch-up + +- Finance + - iplicit + - I'm getting API access to the Sandbox to start integrating + - invoicing + - my plans +- Data Platform + - Doing presentations, this week some of you + tech team + - Syncing stripe US data + - Next will depend on cancellation needs +- e-deposit + - PBI in place, no more needs on sight unless you let me know +- Cancellation + - In touch with eng. for data model, conversation with Lawrence around tech debt + - I'll be defining a bit more granularly the needs + - I'm concerned with the payouts side of things + - Collecting data will be hard if it's not managed within the app itself + - Short term, that will make reporting hard + - Long term, that will make pricing hard to adjust to reality +- Interviews + +## Interview with Miguel Angel Avalos + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? Tableau, but doesn't care much + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + - dbt + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - Meet everyone + - Planner, business impact/value, + - How do you make sure that we don't get lost in an ocean of reports? + - How far do you like to go into data engineering tasks? + +- Started ecology, got in love with R +- Didn't really like ecology related jobs and + +- Ironhack + - How was the experience? + +- How was the merger with Yandex + +- "I own all reporting" +- "I like refactoring SQL code" BLING BLING BLING +- "We use a custom git server in Yandex" Lol + +## Interview with Alvaro Lluis + +- ADE +- 14 years in Banking + - Crisis wasn't temporal + - Left the bank because there were no opportunities to work in Data there + +- "I would prefer not working with SAP again" +- ETL with Python + SQL snippets + +- Technical bits + - SQL + - What is your favourite? + - favourite Snowflake + - also worked MySQL / SQL Server / Postgres + +- How do you deal with monster queries? + - + + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - SQL + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - Prioritize needs + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +# 2024-02-27 + +## Interview with Mario LaTorre + +"I enjoyed fundamental knowledge more than engineering." +"" + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - Assess data + - Talk with the Product Managers and assess need + +- How do you make sure that we don't get lost in an ocean of reports? + - + + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + - Not infra comfy + - Writing ETLs with Airflow, S3 Data storage + +- What is the Yearly Return? 30% + +- Very different + - Different domain + - More descriptive +- Notice +- Barcelona office? + +## sh-invoicing refund issues #13692 + +![alt text](wrong-values-screenshot.png) + +- Refund failed + - Make sure superhog fee is positive not negative +- refund + - Make superhog fee is negative not positive + - That should also make the amount due to host be corrected (it should be absolute smaller than the amount in host currency, not bigger) + +## Cancellation reports for AM: meeting with Kayla + +- She was not up to date with the needs, she will discuss with Matt and come back to me sometime next week. + +## Cancellation reports for Resolutions + +- They need a list of guest and booking details + money facts (cover, how much they paid, what percentage) +- Kind of what we have for e-deposit + +- Questions + - How will you trigger cancellations + - How will you monitor workflow + - How will you monitor payouts + +All the payout process will be managed through Hubspot tickets. The tickets will be generated by guests filling in a form if they want to execute the cover. We agreed with Lou that Lou and Alex need to ensure that the tickets need to have enough data around guest/booking in order to be able to match them with the data present in Superhog in order to perform E2E reporting of the lifecycle of cancellations. + +# 2024-02-28 + +## AD groups and power bi with Ben R + +- Ben will look into it with Mike +- Ideally data would have freedom to create groups and put people in them +- Otherwise, at least have freedom to put people in groups +- We would then link people to groups + +## OKR Meeting + +- I like it + - I love profitability + - Ambitious, I want my analysts +- I don't like/concern + - I hope we can strike a balance in measuring and doing + - Data many times is supporting on other goals, it's a bit hard to relate + - I'm against Speedy + +# 2024-03-04 + +- Finance + - Run is moving forward + - My only + - No advances on other things, like changing culture or changing backend +- Looking forward for interviews, but shouldn't I make more? +- Help Lou A with Resolutions data +- Cancellations: I'm moving nothing +- Data Platform + - Presentations done + - Gonna establish rules of engagement with Robinson + +## 2024-03-06 + +- [X] Finish update + +- dbt + - [X] Add dbt deps to deployment guide + - [X] Add dbt seed to run script + +- [X] Send interview invites + +## Schema changes in Airbyte + +- Create table +- Sync +- It works +- Scenarios + - New column gets added + - Column data type gets modified + - Column gets removed + - Column gets renamed + - Table disappears +- Write conclusions and drop them in dirty confluence page + +## SQL <> DWH integration + +- Schema change management + - General, keep me in the loop + - PR approval in migrations, codeowners implementation? + - Subtle changes are also important (i.e. schema doesn't change but semantics of the field do) +- Job failure ownership + - Data team monitors alerts, but someone needs to be ready on the other side as well + - We might want to monitor it + - Policy: just bother from Ben +- Data modeling + - Proper historical data in source to avoid statefulness in DWH + - Created/Updated/ general strategies for allowing incrementality +- Load + - It will get heavy at some point + - Please let me know if you start seeing issues and we can work together on fixing them + +- Actions + - Create some basic docs (Pablo) + - Perhaps doing a session for people who work on SQL? (Pablo) + - Achieve clarity on who is the green flag in engineering (Ben) + - Make any necessary changes regarding code owners in repos (Ben) + +# 2024-03-07 + +## Interview with Pol Marin + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - Meet stakeholders + - Getting familiar with the product + - Getting familiar with the databases + - Most important and urgent tasks + - How do you make sure that we don't get lost in an ocean of reports? + - Documentation + - How? + +- Structure and Organization + - + + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +"I love data and creating analysis" + +# 2024-03-12 + +- [X] Review Lawrence's thingy +- [X] Share issues with Lou +- [X] Align with Lou D + +# 2024-03-13 + +- [X] Fill in timesheet +- [X] Royal Enfield +- [X] Pol feedback here: +- [X] Drop feedback on Colin: +- [X] Document new products as data products in catalogue + - [X] And add link in the DBT exposure yaml +- [X] Build weekly update +- [ ] Think of OKRs and book some time with Ben to go over those + - [ ] I have to discuss this with Ben, because pretty much every OKR is "give role X data Y so he can chase the actual goal" +- [X] Check when should the 1:1 with Ben happen + +## Interview with Colin + +- Remember to drop feedback here + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - Learn what exists + - Understanding data usage across diferent silos + - Put a plan in place + - How do you make sure that we don't get lost in an ocean of reports? + + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- How do you structure sophisticated ad-hoc requests? + +- Data championship + - How did you do that? + +- Notice + - Available +- Salary expectations + - 75K-80K +- Location + - Remote +- Next steps + +# 2024-03-18 + +- [X] Add waivers to dashboard + +## Booking fess for host + +- Bookings: + - Bring over all bookings + - Bring over all price plans + - Join them to enrich each booking with the right booking fee + - Derive a silly booking fee table + - Use that in the dashboard + +The tables we need: + +- Bookings (to have all bookings) +- PricePlanToUser (to know the booking fee) +- PricePlanChargedByType (to know the right date to determine the chargeability of the booking) +- Verification (to know the VerificationStartDate in the cases where it's needed) + +- [X] Brought over all tables to DWH + +- [X] Create sources and staging models for the new tables +- [X] Wouldn't hurt to compare the fees and waivers against what appears in the old KPI report excel, would it? + - Roughly the same, not bad +- We also need to bring over + - BookingStatus + - UserVerificationStatus + +## Issues with Payment model + +- All payments should be there +- Hard picking up all movements +- Pending payments +- Manual Payments + +# 2024-03-20 + +## Interview with Yana + +- Technical bits + - SQL + - What is your favourite? + Postgres, pgadmin + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + - Quicksight + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- First in New York, then to Barcelona (10 years) +- Smart PhD +- +- How was the story of switching from academia to private company +- How was the story of new york to barcelona? +- How was Codeop? Haven't heard from them + +## Invoicing debrief for February cycle + +- Talk with Clay and discuss bug + +- Do the new accounts report together with Jamie + +# 2024-03-21 + +Good stuff: + +- Happy with candidates and pace, let's keep it up +- Happy with getting something out with the business overview dashboard +- Happy to see tackling tech debt slowly crawl up the backlogs +- Happy about Suzanna joining + +Bad stuff: + +- Still overwhelmed by demand and wearing all hats +- Concerns about Joan + +Any more feedback? +OKRs? + +## Audit Data + +- Two steps + - Free trials + - Half stuff from Hubspot + - Export Deals where the Free trial ending in the previous month + - Half is from the report section in dashboard + - Use email to find account (deal id is not always reliable) and look generally + - Check Deal Id is properly informed + - Check that price plan / pay away settings are fine + - User summary for the dashboard + - Accounts created during last ~45 days + - Filter to the ones that have properties (property=Yes) + - Make the ones in a free trial go away (is in free trial = No) + +- Make sure Deal ID is informed in Dashboard +- Make sure Price Plans are informed +- Make sure Waiver Payaway details are informed properly + +## Interview with Cristina + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- Starting out in Audit. + - Excel skills and managing a handful of people. + - Decided to pivot towards Data. +- Did Master in Data Science +- Switched to Sanofi + - Service Manager to BI Tool, liasing between business teams and Indian contractors building the tool + - SLA and contracts for service providers + - Too easy, got tired +- Switched to Taurus + - Small company, did a lot of things + - Started out with data entry, turned a manual pipeline into an R pipeline + - Report building for managers + - Build some PBI dashboards, but company dropped it because... it was too expensive?! + - Got bored, now is doing real state valuations. Business is slow + +- Can build SQL queries +- Python: she's more biased for R +- PBI, did a bootcamp + +- Prioritise finance because it's almost quarters end +- Organize people on how to ask for stuff + - Lacks experience in Engineering side of things + - But likes it + +## Intro with Suzannah + +Open, current issues: + +- Finance willingness to patch any short-coming of other teams manually is a escape valve for poor data quality in other areas +- Finance lacks character to set priorities and draw lines in the sand +- Finance processes are an afterthought in product and operational conversations +- Superhog application is not feature rich towards Finance/Invoicing profiles + +Practical issues at hand: + +- Invoicing process +- Accounting software choice +- Sunsetting of Acquired +- Lack of exchange rates source of truth + +Strategic topics for the long-term + +- Complete lack of cost allocation processes, it's impossible to reason on the cost side of the business +- Superhog keeps on piling risk through protection commitments, but no one monitors the at-hand risk +- As a consequence of the previous two, pricing is not optimized at all +- Lack of strategic treasury management and currency management +- Payment processing fees + +Content for you: + +- Notion pages on invoicing effort we did earlier this year: +- Data catalogue: +- Home page for Data: + +# 2024-03-25 + +## Interview with Maud Briels + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + - How + +- What would you improve on your current organization? + +- How do you like Barcelona vs back home? +- "When we started we were a small team of 7" +- "I hate the word single-source-of-truth" + +- Why the change from Fivetran to Airbyte? + - Money +- Why the change from Tableau to Superset? + - Money + - Much easier + +- Ingest + - Used to do regular python + - Fivetran + - Airbyte +- dbt for modeling +- Visuals + - Tableau + - Superset +- Airflow +- Redshift + - Really dove in the internals + +- I agree with foundations vs delivering something now +- stack +- How do you feel about not running a time? +- I'm all for transparency +- "You set an hour of Udemy" + +- Notice period 1 month +- 72 currently + happy to stay there + +# 2024-03-27 + +## Data Audit + +- [X] Warn Alex and Matt + +- [X] Export Deals with free trial ending and find related accounts +- [X] Export Deals with free trial currently active and find related accounts +- [ ] Export the accounts created during the past month (and that are not currently in a free trial) + - How the hell do I find the right account type? + - I'm going to get one of the accounts I've exported from Hubspot and check what role do they have + - Also, the way to know when the account was created is to use the `JoinDate` field + - Case solved, it's role Platform +- [ ] For all acounts, generate an export with: + - Informed Price Plan + - Informed Pay Away settings + +- Prettify and share + +--- + +Instructions + +- In Hubspot: + - Export deals ending free trial this month + - Go to deals section + - Open all deals + - Add Free Trial End Date to table + - Add a filter to export only Deals with the free trial ending during this month + - Export to file + - Export deals created this month with active free trial + - Go to deals section + - Open all deals + - Add Free Trial End Date to table + - Add a filter to export only accounts created this month + - Add a filter to export only Deals with the free trial ending beyond this month + - Export to file +- In Core: + - Run the couple of queries I made to fetch details for the hubspot accounts and for new accounts made this month + - Export them to excel +- In Excel: + - Stitch everything in a single pretty table + +Improvement opportunities: + +- Run everything through a single query in DWH + +## Stripe missing payments debugging examples gathering + +- I'll be using info from the February run. +- I've decided to pick Host & Stay. Exact filename is `2402 Report 11254198823_Host & StayNorth Yorkshire_547b.xlsx`. +- I've built an excel that holds all payment references: the ones that appear in the account report, and the ones that appear in the Stripe export. Then, the same excel shows a table that shows in which source does each payment reference appear in. + +# 2024-04-03 + +## Interview with Evripidis + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- Started at Siemens + - Oracle + + - What kind of Performance + - TIBCO +- Research + - Did you like it? + +- Google Data Studio +- + +## KYG Data Model definition + +- Prices are per customer or system wide +- Can users be multicurrency? Can listings be multicurrency? +- Conflict between active offerings/services vs bookings independently getting services attached + +- IsActive is reflecting too much stuff + - Is the listing bookable + - Is the listing integrated with PMS + - Is the listing susceptible of being serviced + +## Account Manager needs with Kayla + +- Typical host questions + - Export all of my bookings + - Catch email for users + - Beyond monthly + - Took waiver or took deposit? + - Export listings + - Exporting resolutions + +# 2024-04-05 + +## Xero intro with Jamie + +- Amanda needs to give me access she is admin + - We need to change the Damage Waver to damage waiver +- We have multiple xero instances, but the UK one is the one that runs all the invoices +- Always separate documents for invoices and creditnotes +- Upload files and attach them through UI +- Sending: after you build the invoice, click email option, pulls the template and fills it, we need to mark attach extra to send attached files (also there's another tick box that needs to be marked at the time of sending a file) + +- Lifecycle is Draft -> Approved -> Sent -> Paid + +- Then we create a credit note, associated to the sales invoice +- naming should be looking like `CN-` +- By default, credit note includes line items of sales invoices. Typically, you delete this and make a single line item with damage waiver +- Amount due from the excel report is tax inclusive + +- We have line items + - Split by fee type + - Split by currency + - Quantity is 1 + - Amounts are tax exclusive. Xero will compute them, should match what appears in excel + +- Contact companies have Currency settings, but not all of THEM + +- Issue date should be final date of the month +- Due date should be 14 natural days after today + +- Export currencies? Doesn't seem so. + +# 2024-04-08 + +- [X] Business Overview: Booking Fees +- [X] Updates on Notion +- [X] Clean product board +- [X] Ask Amanda for access to Xero and API +- [X] XE briefing proposal + +- [X] Keep Data Subscription alive +- [X] Interview with Maud +- [X] Data audit +- [X] Update Pricing Excel +- [X] Generate debugging examples for Stripe missing payments + +## Check-in cover + +- Recycling cancellation cover +- We pay for alternative accomodation + - For 3 days so we can save your ass + - Pricing around 1-10 bucks + - Guest pays for the emergency at first, and then we reimburse them + - Do we have SLAs on paying back? +- Hosts must pay-in +- Will it be a single payment or mixed with Waiver? + +- Pricing history!!! +- Reporting of which bookings/guests have paid for it + - For Resolutions + - For business measurement + +## Product weekly + +- Finance + - Exploring Xero invoicing + - Going to raise the Currency rates project ASAP +- e-deposit + - need to make some tiny changes in Ana's dashboard +- Joan/Check-in cover + - I'll discuss with Joan and Lawrence on the data model and reporting products on the Check-in cover +- Business Overview + - Dropped bookings fees + - Next: Verification fees + - When do you want to open it up? +- Hiring + - Time to go for round 3 and find a second analyst +- Little things + - Stripe payments: Lou, that's still sitting with Ben + - Migration: it will impact me as well + +# 2024-04-09 + +- [X] Solve export issue for Cali + +# 2024-04-13 + +- [X] Get Xero API Key +- [X] Review candidates +- [X] Reject Maud and Evripidis +- [X] Ana's little changes +- [X] Ray's info + +## Finance Screening API + +- Volume invoicing +- Should they be in hubspot? +- Where do we store a master list of screening APIs customers, and their currencies? +- What's the flexibility on using screening vs watchlist vs bundle? +- Agree on + - Monthly invoicing cycle + - Pricing changes policy + - Per customer pricing + +- Hubspot +- Line Items specific for this product +- Validation from my side with Ray + +- Gocardless + +# 2024-04-16 + +## Product Weekly + +- e-deposit + - Done +- Ana + - I still owe you the accounts that are being invoiced for both Bookings and Verification +- Joan/Check-in cover + - I'll discuss with Joan and Lawrence on the data model and reporting products on the Check-in cover +- Hiring + - Interviews ongoing with more candidates + - Oriol is coming on 9th May +- Finance + - Unexpected turn of events: Xero invoices are now in the DWH + - Next will be creating invoices + - Currency API +- Business Overview + - I think it makes sense to switch to account view of bookings and listing fees +- Lou: we will use the app as the source of truth + - Does that mean there's a database that will start properly storing resolution processes? + +## KYG Charging + +- How to charge listings fees for KYG Users? + +- How often do we review the tier of a customer? + +- What is the business story of the listing fee? + - + +- What is the business narrative? +- What are the effects on smaller hosts? Is this gonna churn low volume people? + +"The system looks at..." + +# 2024-04-16 + +## Interview with Timur + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- VK + - Data Analyst + +- SQL + - PostgreSQL + - Clickhouse + +- Visuals + - Metabase + +- Marketing / Pricing definition: responsbility on + +- Visa sponsorship + - More preferable in Barcelona + +# 2024-04-17 + +## Interview with Javier + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- Which internal customers are you serving in Pronovias? + - Supply chain planning + - Marketing + - Sales +- Lacoste + - IT business analyst, more managerial + - Not happy with it. Misses the data part of it + +- SQL + - Not much of a strong explanation + +- Python + - No experience in Python at the work + +- Visualization + - Qlik + - A lot of Excel + - PBI + - Looker + - Tableau + +- + +## Interview with Joaquin + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +Module planner + +- Sounds like a very scientifical job that can be ran in very unscientifical ways + +Now + +- 20-30H +July +- Fully available + +# 2024-04-18 + +## Host currency + +- One host, one currency? +- Changeable? +- Onboarding + - Compulsory +- How to fill the existing hosts + +## Interview with Erminia + +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? + +- Focus on SAP BI tools + +- What is the worst project and best project, why? +- Logic in PBI vs logic in the data mart + +Issues with self service + +# 2024-04-19 + +- [X] Send rejection to Javier +- [X] Schedule with Petronella +- [X] Schedule with Gaudenzio +- [X] Timesheet +- [X] Get my Whiteboard +- [X] Make export with all accounts that had both Verification and Booking fees at the same time during the past months + +## Stripe debugging + +I've looked at it together with Ben and his hunch is that all the payments are actually in the backend. He could show to me how several of the examples I have brought in the debugging data could actually be found just fine in the SQL Server. + +We also spotted together that the current Python code is using a SQL Server view called `VerificationPaymentTest` instead of its more seriously-looking sibling `VerificationPayment`. We suspect this might be the issue. I stored the code to both views below. + +We agreed on the following plan: + +- I'll try to simply switch the view used in the Python code and see if that does the trick in making all records match. +- If not, I'll have to debug further. +- In any of the cases, I'll refactor the query present in the Python code to not depend on any of the views of the SQL server and for it to be as simple as possible. + +# 2024-04-22 + +- [X] Ask Erminia for CI re-do +- [X] Make export for Jamie +- [X] Reply to Javier with feedback +- [X] Beth's request + - [X] Break by month +- [X] Lou's request +- [X] Update pricing calculator for Ben + +## Product Weekly + +- Ben + - Getting the pricing calculator in place +- Ana + - Sent the comfy-workers-like accounts +- Joan/Check-in cover + - I'll discuss with Joan and Lawrence on the data model and reporting products on the Check-in cover +- Hiring + - Interviews ongoing with more candidates, I have 3 left this week + - Ben you can start shooting + - Should we involve Will in any way or just push forward? +- Finance + - Working on reporting through Xero data + - Moving forward with Currencies, looking good +- Business Overview + - I think it makes sense to switch to accounting view of bookings and listing fees +- Lou: we will use the app as the source of truth + - Does that mean there's a database that will start properly storing resolution processes? + +# 2024-04-24 + +## Interview with Petronella + +- Almost done with PhD +- 20 months at Morgan Stanley +- Got bored of current responsibilties + +- [X] Update Data News +- [X] OOF for 10th of May + heads-up with Ben +- [X] Update candidates pipeline +- [X] Provide weekly update + +## Jamie's issue with 3 deals + +Troublesome deals: + +- 13150958399 +- 16531969388 +- 3041623202 + +For those, Jamie needs: + +- a list of active listings +- a list of bookings where the verification started in march + +I ended up using the following code: + +```sql +/* +Deals +- 13150958399 +- 16531969388 +- 3041623202 +*/ + +-- Helpers + +SELECT TOP(1000) * +FROM live.dbo."User" + +SELECT TOP(1000) * +FROM live.dbo.AccommodationToOwner ato + +SELECT TOP(1000) * +FROM live.dbo.AccommodationTouser + +-- List of active listings + +SELECT a.*, u.* +FROM live.dbo.Accommodation a +LEFT JOIN live.dbo.AccommodationToUser atu ON a.AccommodationId = atu.AccommodationId +LEFT JOIN live.dbo."User" u ON atu.SuperhogUserId = u.Id +WHERE a.IsActive = 1 +AND u.DealId IN ('13150958399', '16531969388', '3041623202') + + +-- List of bookings + +SELECT DISTINCT + b.BookingId as BookingId, + guest.FirstName As GuestFirstName, + guest.LastName As GuestLastName, + guest.Email As GuestEmail, + CASE WHEN guest.joindate is null THEN null ELSE FORMAT (guest.joindate, 'dd-MM-yyyy') END As GuestJoinDate, + t.Number As GuestTel, + FORMAT (s.UpdatedDate , 'dd-MM-yyyy')As 'VerifiedDate', + case + when s.UserVerificationStatusId = 1 then 'Started' + when s.UserVerificationStatusId = 2 then 'Verified' + when s.UserVerificationStatusId = 3 then 'Revoked' + else 'Unverified' + end as 'VerifiedStatus', + bs.Fullname As BookingState, + a.AccommodationId, + a.friendlyName, + a.AddressLine1, + a.AddressLine2, + a.Town, + a.Postcode, + c.[Name] As Country, + FORMAT (b.CheckIn, 'dd-MM-yyyy') As CheckIn, + FORMAT (b.CheckOut, 'dd-MM-yyyy') As CheckOut, + DATEDIFF(day, b.CheckIn, b.CheckOut) AS 'Days', + host.FirstName As HostFirstName, + host.LastName As HostLastName, + host.Email As HostEmail, + FORMAT (Coalesce(b.CreatedDate, b.createddate), 'dd-MM-yyyy') As BookingCreatedDate + FROM Booking b + LEFT JOIN [User] guest On b.GuestUserId = guest.Id + LEFT JOIN SuperhogUser s On s.SuperhogUserId = guest.Id + LEFT JOIN Telephone t ON t.ApplicationUserId = guest.Id + LEFT JOIN Membership m ON m.SuperhogMembershipId = guest.Id + LEFT JOIN Accommodation a On a.AccommodationId = b.AccommodationId + LEFT JOIN Country c ON a.CountryId = c.Id + LEFT JOIN [User] Host ON host.id = b.CreatedByUserId + LEFT JOIN PricePlanToUser pu on pu.SuperhogUserId = host.id + LEFT JOIN BookingState bs ON bs.Id = b.BookingStateId + LEFT JOIN VerificationRequest vr ON vr.Id = b.VerificationRequestId + WHERE + host.DealId IN ('13150958399', '16531969388', '3041623202') + AND + ( + ( + b.verificationRequestId is not null + and + CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, vr.UpdatedDate))) >= '2024-03-01' + AND + CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, vr.UpdatedDate))) <= '2024-04-01' + ) + + OR + + ( + b.verificationRequestId is null + and + CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, guest.JoinDate))) >= '2024-03-01' + AND + CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, guest.JoinDate))) <= '2024-04-01' + ) + ) + +``` + +# 2024-04-25 + +- [X] Help Jamie +- [X] Check if something has happened to the Listings views + +## Interview with Paula + +- She wants to relocate to Barcelona, doesn't like Berlin no more. + +## Interview with Gaudenzio + +- How do you think your experience in Superhog would be different than your consulting? +- Why London? +- Best and worst projects in your carreer + +- He wants to jump into managerial positions + +- Data Analyst just, is that good enough + +# 2024-04-29 + +- [X] Fix Payments report + - Payments + - Bookings + - Listings + +## Product weekly + +- PBI outage, working to prevent it in the future + - + +- Working on Joan's +- Emergency help with pricing framework + +- Will run finance exports this week +- No advances on investor's reporting + +# 2024-04-30 + +## Meeting with Querio + +- Javier + +- Lou wants to survive adhocs + +- What's the technical pattern? +- What's the typical deployment plan? +- What's the cost? + +- Concerns + - What if it doesn't deliver? + - What if it answers stupidly? + - Nuanced, dies with complexity + - Most of the time is invested in preparing the "context layer" in any case. + - What does building the context layer feel like? + - What if this doesn't save that much time? + - How do you manage access control? + - Security + - Volume + +They've never connected to CosmosDB + +"Lou A. how about we put this in front of our own customers so they can ask questions on their own data" -> Careful here. This is more dangerous than a drunk monkey with an AK-47. + +## Pricing Comparison Framework + +- We have a new pricing structure NewP, different from our old pricing structure OldP. +- We want to understand how revenue of existing clients might change by switching from OldP to NewP. +- Approach + - We will grab data from Q1 from a selection of hosts in terms of bookings, listings, etc. + - We will simulate what we would have charged with NewP and compare it with what we charged under OldP. + - We will potentially iterate with new crazy pricing structures beyond NewP (NewP1, NewP2, ... and so on and so forth until we hit the spot or go mad along the process). + - We only take into account host revenue. Guest revenue behaviour under price changes is much more volatile. + - Within host revenue, the interesting questions to ask and bits to compare are: + - Would we make more or less money? - Change in Total revenue + - How would booking and listing fees contribute to that? - Change in Booking Fees and Listing Fees + - How does the distribution of fees across hosts change? - Change in Mean and Stdev of hosts revenue + - Are there any hosts that are dramatically advantaged/disadvantaged due to NewP? - Max and min % change in revenue across all hosts + - In more detail: + - For each host + - Fetch number of bookings and number of active listings for Q1. + - Obtain their would-be new prices under NewP. + - Fill in the template with both of the previous, and the new fees will be calculated. + - Once that's done + - Check the differences in the results area + - Sit down, reflect, and iterate + - If you think we should try a different price plan... start from scratch and repeat the whole thing, possibly recycling the host sample and the real data on what they did during Q1. + +# 2024-05-02 + +- [X] KYG Vers for Emyr +- [X] Emergency framework for Pricing discussions + +# 2024-05-03 + +Today I was trying to reduce the size the the Docker VM/WSL takes up in my disk cause it was growing like crazy. Windirstat showed that it was taking 260Gb. + +I followed the advice of the top answer in this stackoverflow question () and it shrinked to 60gb. + +Basically, use diskpart to compact the file. + +# 2024-05-06 + +## Product Weekly + +- CheckIn Hero Reporting + +- Emergency help with pricing framework + - No news on this + +- Will run finance exports this week +- No advances on investor's reporting + +# 2024-05-07 + +# 2024-05-09 + +## Month end financial processes + +Issues: + +- e-deposit + - unreliable + - manual + - They plan on using the PBI + - We need to align pricing with Finance because there are gaps on the weird rules +- new pricing??? +- disputes + +# 2024-05-13 + +## Check-in hero reporting + +### Build dirty queries to have the draft on how to get everything + +- Stuff that I need + - Count how many verificationrequests included Checkin Hero + - Count how many payments for checkinhero have happened + - Sum the total value of checkinhero payments + - Have guest details for users that have paid the cover. Specifically: + - Payment timestamp + - Guest Id + - Guest name + - Guest email + - Currency + - Amount + - Limit + +Here's my first shot at it. I'm waiting news from Ben R and Lawrence on the correctness of these: + +```sql +-- Goal: get the guest journeys (VRs) that offered the check-in cover, +-- regardless of whether the user purchased it or not. +SELECT DISTINCT vr.Id +FROM live.dbo.VerificationRequest vr +LEFT JOIN live.dbo.VerificationSetToVerificationType vstvt ON vr.VerificationSetId = vstvt.VerificationSetId +WHERE vstvt.VerificationTypeId = 15 -- 15 is check-in cover +-- AND condition to check that the journey is finished + +-- Goal: get the guest journeys (VRs) where guests have successfully paid for the +-- check-in cover. +SELECT DISTINCT vr.Id +FROM live.dbo.Payment p +LEFT JOIN live.dbo.VerificationToPayment vtp ON p.PaymentId = vtp.PaymentId +LEFT JOIN live.dbo.Verification v ON vtp.VerificationId = v.Id +LEFT JOIN live.dbo.VerificationRequest vr ON v.VerificationRequestId = vr.Id +WHERE vtp.VerificationPaymentTypeId = 5 -- 5 is check-in cover +AND p.PaymentStatusId IN (3,4) -- 3 is Paid, 4 is Refunded + + +-- Goal: get the finished guest journeys only +WITH unfinished_vrs as ( + SELECT DISTINCT v.VerificationRequestId + FROM live.dbo.Verification v + WHERE v.VerificationStatusId NOT IN (1,2,3) -- Confirmed, Revoked and Failed +) +SELECT Id +FROM live.dbo.VerificationRequest vr +LEFT JOIN unfinished_vrs uvr ON vr.Id = uvr.VerificationRequestId +WHERE uvr.VerificationRequestId IS NULL +``` + +Lawrence thinks that the first two ones are ok, although he highlighted that the hardcoded values might be different in environments different than production. + +As for the topic on how to identify finished verifications, Ben confirmed the third query won't make it. + +Instead, he pointed me to the SQL Server function named `GetVerificationProgress`. The source code of the most recent version is here: + +I'm gonna comment it all to make it understandable for me so I can try to replicate it in the DWH: + +```sql +/* +Possible return values: +- Not Started: this happens if there is not guest user still or no verification set related to the booking +- Action Required: returned if any of the verifications + +*/ + + +CREATE OR ALTER FUNCTION [dbo].[GetVerificationProgress](@bookingId int, @verificationSetId int) +RETURNS VARCHAR(100) +AS + +BEGIN + + IF(NULLIF(@verificationSetId, 0) IS NULL) + BEGIN + RETURN 'Not Started' + END + + DECLARE @superhogUserId varchar(200) = (SELECT GuestUserId FROM Booking WHERE BookingId = @bookingId) + + IF(NULLIF(@superhogUserId, '') IS NULL) + BEGIN + RETURN 'Not Started' + END + + DECLARE @expectedVerifications TABLE ([Name] NVARCHAR(MAX)) + DECLARE @bookingOnlyVerifications TABLE(VerificationId int, [Name] varchar(200), VerificationStatusId int) + DECLARE @notFinishedOrStartedVerifications TABLE(VerificationId int, [Name] varchar(200), VerificationStatusId int) + + + -- PPP: This subquery makes a list of the expected verification TYPES + INSERT INTO @expectedVerifications + SELECT + [Name] + FROM + VerificationSetToVerificationType vsvt + INNER JOIN + VerificationType vt ON vsvt.VerificationTypeId = vt.Id + WHERE + VerificationSetId IN (SELECT Id FROM VerificationSet WHERE Id = @verificationSetId) + + + -- PPP: This subquery will get the state of the PaymentValidation and Contract verifications for the related VR and booking. + INSERT INTO @bookingOnlyVerifications + SELECT + v.Id, v.[Name], v.VerificationStatusId + FROM + Verification v + INNER JOIN + VerificationRequest vr ON v.VerificationRequestId = vr.Id + INNER JOIN + Booking b ON b.VerificationRequestId = vr.Id + WHERE + v.SuperhogUserId = @superhogUserId AND b.BookingId = @bookingId AND [Name] IN ('PaymentValidation', 'Contract') + + -- PPP: This subquery pretty much just takes the one above and keeps the records if (1) the types were expected and (2) the verificataions are not in status 1-Confirmed + -- these are the ones from this booking/vr + INSERT INTO @notFinishedOrStartedVerifications + SELECT VerificationId, [Name], VerificationStatusId + FROM @bookingOnlyVerifications WHERE [Name] IN (SELECT [Name] FROM @expectedVerifications) AND VerificationStatusId <> 1 + + + -- PPP: This subquery will get the state of any verification that: + -- - are not PaymentValidation or Contract + -- - that are related to this user + -- - that are of the Types included in the VR + -- - that are not in status 1-Confirmed + + -- these are the ones from this guest that are not part of this vr + INSERT INTO @notFinishedOrStartedVerifications + SELECT + Id, v.[Name], v.VerificationStatusId + FROM + Verification v + WHERE + SuperhogUserId = @superhogUserId AND [Name] NOT IN ('PaymentValidation', 'Contract') + AND + [Name] IN (SELECT [Name] FROM @expectedVerifications) + AND + VerificationStatusId <> 1 + + + -- PPP: this subquery gets verifications that have simply not been started and don't even exist + + -- items not started + INSERT INTO @notFinishedOrStartedVerifications + SELECT + NULL, [Name], NULL + FROM + @expectedVerifications + WHERE + [Name] NOT IN + ( + SELECT v.[Name] FROM Verification v WHERE SuperhogUserId = @superhogUserId AND [Name] NOT IN ('PaymentValidation', 'Contract') + UNION + SELECT [Name] FROM @bookingOnlyVerifications WHERE [Name] IN ('PaymentValidation', 'Contract') + ) + + -- PPP: if any of the previous trouble-searching queries found any records, it means that some of the required verifications + -- are either not finished or not even started at all. + + IF EXISTS(SELECT * FROM @notFinishedOrStartedVerifications) + BEGIN + RETURN 'Action Required' + END + + -- PPP: if we reach this point, this means that all the required Verification Types exist and are in status 1-Confirmed. + -- Thus, the Verification Request is complete. + + RETURN 'Complete' + +END + +GO +``` + +Okay, I think I got it. + +I'm going to try 10 different VR ids and see if results match. + +All results match. Works like a charm. + +### Add required tables from Core to DWH + +- This is the list of tables that I think are required + - VerificationRequest + - VerificationSetToVerificationType + - VerificationToPayment + - Verification + - Payment +- All of them are already in the DWH, so there's no need to add any more tables to the Airbyte sync + +### Build dbt models + +- Staging + - We are missing VerificationSetToVerificationType +- Intermediate + - I'm probably considering enriching the VerificationRequest table with a couple of flag fields +- Reporting + +### Deployment + +- schedule dbt models +- create workspace and + +### Water-in-plumbing changes + +- Adjust naming of fields in dbt models +- Visual and page level filters +- Sanity checks + +### Final roll-out + +- Training for product profiles +- Training for resolutions agents + +# 2024-05-15 + +## Monthly 1:1 one to one with Ben C + +Stuff I'm happy with: + +- I'm happy with Oriol +- I'm excited about Joaquin +- I'm proud that we pulled out some proper vision for CheckIn Cover +- I'm happy about how the business overview is evolving +- I'm happy with the different proactively PMs validating data stuff with us + +Stuff that concerns me/I'm not happy about: + +- J + - Continuous attempt at monopolizing + - Emotional reactions to work situations + - Comments on other colleagues, doubting his own squad + - Key action: protect Oriol +- Tech debt + - CheckIn Cover situation + - Old bugs notified months ago are not addressed + - API squad situation +- Certain expectations like the ones we got from Matt today, general feeling about some colleagues being a bit disappointed of the data progress so far + +# 2024-05-29 + +## APIs Revenue Reporting + +## Booking and Listing fees through Xero + +- Make a dashboard with how much we invoice for booking and listing fees +- Pretty much just two linecharts +- Data coming from Xero + +Open questions: + +- Are booking fees and verification fees separated in Xero, or everything is crammed together? +- Are there invoices with booking fees or verification fees that are associated with contacts that don't have a Dealid? + +Checkpoint: + +- I need to rename the report on PBI Service and drop the new dbt models in production to deliver the listing and verification fees. +- I need to clarify with Jamie why is there such a huge booking fee amount without deal id. +- I need to clarify with Jamie how we can have such a massive gap in some months across SH/Xero booking fee totals. July 2023 is the worst month. + +Current state +- + +## Xero API access + +- +- +- + +## Chat with Lou on Querio + +- Security and data access +- Reinventing the wheel with the context layer + +- Why not just do it in DWH? If you want to do that effort, I could bring it up the backlog + +- We share concerns. +- We decided to run some due diligence on alternatives in the market + - I did some reading on , which is the seminal article by dbt that brought this idea to live. The following competitors to querio are mentioned. + - (now property of cube) + - + - + +## KPI Reporting Needs with Suzannah + +- Headcount manual from Sage +- Bookings and Listings + - Billable bookings + - Currently done with Jamie + - Can be automated by replicating the logic of sh-invoicing + - Listings (top of list priority wise) + - Live: booking created on the month + - Active: checkout in the last six months + - Total: bookings created in the last 12 month + +End of next week we have revenue figures and the quick listings KPIs export. + +I keep working on revenue, Uri works on the listings quick export. + +- I'm not happy with pressure on invoicing data gaps when this gets solved when the issues have been sittign on that backlog + +## Leo's survey + +Leo send me a brief but dense survey, noting here my answers because I think it's an important reflection. + + + +- What are the top three challenges you face in your role that you'd like the wider business to be aware of? + - Cattering to all the branches of Superhog is hard. First, because we need the Data Team needs to hold knowledge in all services and functional areas, as well as understand a lot of processes of different teams, and have deep technical knowledge on our own systems. Second, because we can't be working on all possible lines of work at the same time, so regularly taking in new demand, refining it, and prioritising it is tough. Sometimes I simply need to completely park big areas of work and ask people to just wait because if I try to listen to every requirement, I won't have time to actually get my hands dirty executing stuff. Thankfully we are improving on this a lot. + - The speed at which we plan and deliver products and business changes makes it very hard for me to stay aligned on all the ongoing streams of work. I think having everyone at capacity long-term might impact morale and overall quality of what we do. I feel many short-cuts are taken in different areas which might bite us back soon. Sometimes I wonder if just a tad less velocity could actually make us deliver faster by making gears roll smooth instead of grind. + - I think we are playing a dangerous game in not prioritising more the technical quality of Superhog technologies. I can see first hand how the implementations of certain features and products has been of very low quality due to developers being rushed. I'm afraid this is going to impact delivery speed very soon at a rate that can hurt a lot the company, even be deadly. It certainly makes my life more difficult and makes some of my deliveries order of magnitude more slow/require more effort, since I build things on top of these patchy implementations. + +- What do you think are the top three priorities for the business? + - Achieve profitable growth. + - Leverage our current position in the market to experiment with new services towards hosts and guests. With the hope of finding new great sources of revenue that we can deliver while leveraging our existing infrastructure, unlocking economies of scale. + - Improve our systems and processes to make sure that we can scale our current services efficiently, being able to grow our customerbase and business volume exponentially without our cost structure chasing it. Improve quality so onboarding, sales, invoicing, customer service, etc. work like a clock. + +# 2024-06-04 + +## Ticket 17132 - BUG: Missing deals in May sh-invoicing export + + + +- First step. Do they actually end up in Zero-billed? + - No, they don't appear at all in any of the folders nor in the account summary list. +- Time to look again at the query that generates the list of relevant accounts to invoice and see what might be wrong there. + + ```sql + WITH most_recent_pp_by_user + AS ( + SELECT ppu.id + FROM PricePlanToUser ppu + INNER JOIN ( + SELECT ppu.SuperHogUserId + ,MAX(CASE + WHEN ppu.enddate IS NULL + THEN CAST('2099-12-31 23:59:59' AS DATE) + ELSE ppu.enddate + END) AS most_recent_end_date + FROM PricePlanToUser ppu + WHERE CASE + WHEN ppu.enddate IS NULL THEN CAST('2099-12-31 23:59:59' AS DATE) + ELSE ppu.enddate + END >= CAST('{export_date.strftime(DATETIME_TO_STR_FORMAT_FOR_QUERIES)}' AS DATETIME) + AND ppu.StartDate < CAST('{export_date.strftime(DATETIME_TO_STR_FORMAT_FOR_QUERIES)}' AS DATETIME) + GROUP BY ppu.SuperHogUserId + ) u_and_enddate ON u_and_enddate.SuperHogUserId = ppu.SuperHogUserId + AND u_and_enddate.most_recent_end_date = CASE + WHEN ppu.enddate IS NULL + THEN CAST('2099-12-31 23:59:59' AS DATE) + ELSE ppu.enddate + END + ) + SELECT u.id AS {QUERY_COL_NAMES.ID} + ,u.Firstname + u.Lastname AS {QUERY_COL_NAMES.FULLNAME} + ,u.Email + ,ppu.TaxPercentage AS {QUERY_COL_NAMES.TAXPERCENTAGE} + ,ListingFeeNet + ,BookingFeeNet + ,SupportFeeNet + ,PayAwayPercentage + ,PayAwayMinimumCommission + ,c.[Name] AS PayAwayCurrency + ,u.joindate + ,u.dealId AS {QUERY_COL_NAMES.DEALID} + FROM PricePlanToUser ppu + LEFT JOIN most_recent_pp_by_user recent_pp ON recent_pp.id = ppu.id + LEFT JOIN [user] u ON u.id = ppu.SuperhogUserId + LEFT JOIN PayAway pa ON pa.SuperhogUserId = u.id + AND pa.EndDate IS NULL + LEFT JOIN Currency c ON c.Id = pa.CurrencyId + WHERE ( + ppu.EndDate IS NULL + OR ppu.EndDate >= CAST('{export_date.strftime(DATETIME_TO_STR_FORMAT_FOR_QUERIES)}' AS DATETIME) + ) + AND ppu.StartDate < CAST('{export_date.strftime(DATETIME_TO_STR_FORMAT_FOR_QUERIES)}' AS DATETIME) + ``` + + - Nothing stands out at first sight. I'm going to manually compile it with the right values + +Fuck. I'm pretty confident the whole issue is I exported data for the wrong month. I'm running the export again, this time for the right time period. + +# 2024-06-10 + +## 16919 - Claire's PMS Request + +- The data is ready in the DWH. +- Now I just need to make the monster query. +- Rough ideas + - Select all PMSs + - Join with hosts + - add listings into the mix + - join with net fees by deal + - aggregate everything to deal level + - aggregate everything to PMS level + +## 17240 - CheckIn Hero Reporting Guest Email Bug + + + +- Steps + - Design required dbt changes + - Assess impact on existing reporting + - Plan implementation and rollout + - Execute + +### Required dbt changes + +- Right now, the purchase details table is showing the following guest details: + - first name + - last name + - guest email + - guest phone number +- These fields are all coming from the verification request itself. +- Instead, we should grab the same data from the user details. The right fields from `int_core__unified_user` would be: + - `first_name` + - `last_name` + - `email` + - `phone_number` (currently not in `int_core__unified_user`, but present in `stg_core__user`. We just need to promote it.) + +So, complete changes would include: + +- Add field `phone_number`from `stg_core__user` in `int_core__unified_user`. +- Add `int_core__unified_user` as a joined table in `int_core__vr_check_in_cover` +- Replace the old VR guest fields for the data coming from `int_core__unified_user`. +- Changes should propagate nicely downstream into both the reporting model `core__vr_check_in_cover` and the PBI report itself without any changes required in them. + +### Impact on existing reporting + +- All changes made to `int_core__vr_check_in_cover` and downstream models will only affect the checkinhero reporting. +- The inclusion of the `phone_number` field in `int_core__unified_user` is not expected to have any impact on any of its dependants. + +### Execution plan + +- Set up local environment with all `sync_` dependencies of `int_core__unified_user`and `core__vr_check_in_cover` + - I need tables + - Currency + - User + - SuperhogUser + - VerificationRequest + - PricePlanChargedByType + - PricePlanToUser + - Booking + - BookingState + - PaymentValidationSetToCurrency + - Payment + - PaymentStatus + - VerificationPaymentType + - VerificationToPayment + - Verification + - VerificationType + - VerificationSetToVerificationType +- Create a branch to modify `int_core__unified_user` and implement +- Create a branch to modify `int_core__vr_check_in_cover` and implement + - Check on locally executed report before merging into production + +# 2024-06-17 + +## Prep with Suzannah for Townhall + +- We need to show Revenue figures + - Guest Payments and more lively information + - Add screenshots with data content + +- Listings +- + + +# 1:1 with Uri + +- A few words from my side + - 0 bullshit + - Mercenary, professional sport team +- How have you been so far + - What did you like what did you not + - My impression on you +- What are your plans, how can we fit with them +- Team organization and managing Joaquin + +# 2024-06-27 + +- I've purchased the SaltoKS thingie to enter into Norrsken with a physical key. +- I paid it with my bankinter credit card, and the deposit was of 18.15. + +- [X] Get salto key from Norrsken +- [X] Document how much I paid so I can get it back +- [X] Plan 1:1 with Ben before Holidays +- [X] Send heads-up to Finance team +- [X] Plan invoicing topics +- [X] Send export to Suzannah + +# 2024-07-05 + +## 1:1 with Ben Cotte + +Good +- Pace is picking up, infrastructure is paying off +- We have a good way ahead of us leveraging current resources before we need a lot more +- Excited to step beyond reporting + - Analysing, not reporting + - Data Products + +Bad +- Quality issues all the time +- Tension between PMs and Devs +- Invoicing saga kind of never ends, risks of big bang change + + +Other +- DE, pregnant +- Make job description/business case for Ben Cotte + + +# 2024-07-29 + +## 1:1 with Ben Cotte + +- bonus got inflated + - up to date payment of the bonus since I began + - from now on we get the quarterly version + - Humphrey decided to slash the actual bonus amounts by 50%, but Ben C. negotiated to keep the amount at 85% for me because they are very happy with the performance I've been having. +- back from holidays + - all good, guys did great, we just move forward +- hiring DE + - can i just lead it + - selection process requirements + - decision on seniority + - Ben C. will get green light from Humphrey and then we get going + +- prepare notion page on CIH revenue share + - per host + - variable % + - backend settings + - finance settings +- offer Ana an alignment session + +## Priorities check with Suzannah and Ben + +- +- Guest Payments tax + - Finance needs to provide guidance on how do guest services taxes get calculated + - Then we decided where to visualize tax inclusive/tax exclusive + +# Now + +## Grand Welcome invoicing + +- Franchise +- 80 small accounts in Superhog +- Billed as one Deal Idc + +## Cali's needs + +- How much does each Deal Id bring +- + +## Now + + +- [X] Update news +- [ ] Joan's request on check-in cover dashboard for resolutions + - [X] Create new workspace and publish report + - [X] Requests permissions for the different users + - [X] Do documentation for dbt models + exposure + - [X] Exposures + - [X] Final Model + - [X] Final model int mirror + - [X] check in cover pricing + - [X] Update Data Catalog + - [X] Deploy dbt models to production + - [X] Monitor dbt runs + - [X] Apply post-release adjustments + - validate hardcodes on names and ids + - `Check-in Cover` + - Payment Type 15 + - check that prices are properly updated + - add proper filters to dashboards + - [X] Perform sanity checks on the shown data after we get a bit of records coming in + - [X] Run trainings on the dashboards + - [ ] Deal with verification completeness trouble in DWH/Core + +- [ ] Claire's request + +- +- [X] Solve dbt production error introduced in the 24/25th May +- [X] Give db access to the guys +- [ ] How do we measure OKRs +- [ ] Make meeting with Ben to discuss product board +- [X] Send status of revenue numbers +- [X] Send list of currencies by deal id to Gus +- [X] Kayla wants phone numbers in Reporting -> Bookings Detail + - But it's not in the report schema view, that will make it super hard +- [ ] Make XE.com page +- [ ] Make CosmosDB connector page +- [X] Check Lou's request in ProductBoard: +- [ ] Pull the thread on the stripe payments issues +- [ ] Tune Postgres + +POSTGRES TUNING + +- +- +- +- +- + +- Data Papers + - [ ] Create section in Notion + - [ ] Create template + - [ ] Add first paper + - [ ] Make announcements + +- Data Catalogue + - [ ] Add CosmosDB to data catalogue + +- [ ] Ask IT for mail +- [ ] Place this in Backlog: +- [ ] Story about checking for accounts with no deal id + +- Data literacy roadmap + - Data consumer + - Anyone who requests it + - Report builder + - Who can manage PBI (Louise, Lourdes, Ben C., Alex, Dagmara, Jamie, dev team) + - SQL Writer (Sandbox, reporting layer) + - Who can write SQL (Lourdes, Ben R., dev team) + - DWH Modeler + - Me, other Data team members + - Engineer + - God mode access diff --git a/onboarding_life.md b/onboarding/onboarding_life.md similarity index 95% rename from onboarding_life.md rename to onboarding/onboarding_life.md index 05e868d..07adb4d 100644 --- a/onboarding_life.md +++ b/onboarding/onboarding_life.md @@ -20,8 +20,7 @@ - [ ] Mixpanel (contact Ben Cotte) - [ ] Azure Devops (contact Ben Robinson) - [ ] Sage HR (contact Nicky Floyd) - - [ ] Check that you can access the Support Portal, which we call... Supportal. You should find in the left side panel of your teams desktop app. - - [ ] Get access to PowerBI (contact Ben Robinson) + - [ ] Get access to PowerBI (contact Pablo Martin) - [ ] Get access to Hubspot (contact Alex Anderson) - [ ] Check our document templates at https://guardhog.sharepoint.com/sites/Guardhoggroup/Document%20Centre/Forms/AllItems.aspx?id=%2Fsites%2FGuardhoggroup%2FDocument%20Centre%2FSUPERHOG%2F7%2E%20ALL%20STAFF%2FPowerPoint%20Templates&p=true&ga=1 - [ ] Check our Brand Guidelines here: https://guardhog.sharepoint.com/sites/Guardhoggroup/Document%20Centre/Forms/AllItems.aspx?id=%2Fsites%2FGuardhoggroup%2FDocument%20Centre%2FSUPERHOG%2F3%2E%20MARKETING%2FBranding%2FBrand%20Guidelines%20PDF%2FBrandBook%5F2023%5FSH%26KYG%2Epdf&parent=%2Fsites%2FGuardhoggroup%2FDocument%20Centre%2FSUPERHOG%2F3%2E%20MARKETING%2FBranding%2FBrand%20Guidelines%20PDF&p=true&ga=1 diff --git a/recruiting/Data Analyst Jan 24/interview_notes_template.md b/recruiting/Data Analyst Jan 24/interview_notes_template.md new file mode 100644 index 0000000..4228a61 --- /dev/null +++ b/recruiting/Data Analyst Jan 24/interview_notes_template.md @@ -0,0 +1,17 @@ +- Technical bits + - SQL + - What is your favourite? + - How do you deal with monster queries? + - Tell me the story of the last time you had a slow performant query and what you did with it + - Python + - Git + - Tell me the story of the latest conflict that was a mess + - What branching strategy do you usually go for? + - Visualization tools + - What is your favourite? + - How do you decide whether to do some logic in the modeling layer or in the visual layer? + +- Data Analyst + - Imagine you start. You have an entire company waiting for you. What's your agenda? Where would you start? + - How do you make sure that we don't get lost in an ocean of reports? + - How far into the Data Engineer responsibilities do you feel comfortable venturing in? \ No newline at end of file diff --git a/revenue_reporting.md b/revenue_reporting.md new file mode 100644 index 0000000..3cb6b32 --- /dev/null +++ b/revenue_reporting.md @@ -0,0 +1,14 @@ +What are all our sources of revenue? + +- Guest + - Fee payments + - Deposit-fee payments + - Waiver payments (Superhog keeps waiver) +- Host + - Listing fees + - Booking fees + - Waiver fees (Host keeps waiver) + - Deposit fees (Exceptional cases) + - Membership fees for hosts (monthly, yearly) + +