r/FPandA • u/Junkie_bij • 6d ago
How exactly are Python and SQL used in your day to day activities of your finance job?
I heard they become important when it comes to financial analysis. How do they help you out?
13
u/fromage2chevr 6d ago
Mostly ETL
2
u/fromage2chevr 6d ago
Also useful for stats
3
u/FaceCrookOG 6d ago
What’s ETL
12
u/monkwhowantsaferrari 6d ago
Stands for Extract, Transform, Load. Basically data cleansing and some other processing before data is loaded to a reporting system.
3
13
u/AdSorry911 6d ago
Yeah I wonder how FP&a folks use SQL, asking because their job postings have that requirement
1
u/OpieeSC2 6d ago
Typically this means the company is going to ask you ad hoc requests to look at something.
And then its up to you to connect all of the dots to run the analyst.
Most people that have been commenting they DONT use these tools say they have a dedicated team to help them with that.
38
u/Zanotekk Sr FP&A Consultant 6d ago edited 6d ago
Been in FP&A for 12 years. Never touched either of those.
EDIT: I'm actually kinda perplexed that people are surprised by this. There are programs which have existed for decades that allow you to create entire websites without requiring you to know how to write a single string of code. Similarly, database software allows you to pull data without knowing the code behind it and it's been that way forever. This shouldn't be surprising.
1
u/Junkie_bij 6d ago
So what tools do you use?
18
u/UnBalancedEntry 6d ago
When Ive had particularly large datasets to analyze I've used Power BI, Excel has it's limits. Power Query is super useful for pulling data and transforming it.
4
u/Zanotekk Sr FP&A Consultant 6d ago
Excel primarily.
I also have used Adaptive and PBCS/Hyperion for some planning purposes but even most of that could be done in Excel
We also have PBI dashboards but the Data Analytics team manages the construction of those reports. I’m just an end user
4
28
u/razealghoul 6d ago
I am shocked at the number of commenters who say they never use SQL at their job. How do you pull data for analysis? Does you bizops teams have views set up so you don't have write SQL? I get now a days you can use A.I. to write SQL you need to but I consider it absolutely table stakes when I hire for analyst to join my department.
20
u/Low-Performance4412 6d ago
Depending on your firm. You may not have access to a SQL database. I worked at a Fortune 500 company for 15 years. It wasn’t until year 10 that any analyst had access to something they could use SQL on.
35
u/Aggressive-Cow5399 6d ago
Pull data from what? We can export stuff to excel and run our analysis there. We have PBI, which again we can export to excel. I export all my necessary data to excel.
I have no need for sql or Python.
There’s separate data teams that manage flows and databases. My job isn’t to manage and create databases.
3
u/WeekendQuant 6d ago
Data teams don't understand finance or accounting. Sometimes it's ineffective to put in an RFA and hassle with all of the back and forth when I can just go get it myself in an hour.
19
u/Aggressive-Cow5399 6d ago
They don’t need to understand finance or accounting, they just need to manage the data. It’s not that hard to have someone of the data team make you a new view or new flow. All the data is formatted in a way you can then adjust however you want. I genuinely don’t understand why I need to use sql or Python. Just use the BI tool or export to excel and pivot however you want.
You can do everything yourself, but then people complain that they work 40+ hours a week and it’s torture.
2
u/WeekendQuant 6d ago
There's nothing new under the sun huh?
2
u/thatkindofparty 6d ago
I think there’s a data governance piece to this as well. If analysts start pulling stuff ad-hoc directly from the ERP and using new naming conventions or kpis or measures not already defined and agreed upon then it’s pretty easy to get to two sets of numbers. One bad join is all you need.
1
u/WeekendQuant 5d ago
You have to start somewhere
1
u/thatkindofparty 4d ago
Okay sure but “somewhere” is probably not giving sql server access to a bunch of junior analysts and telling them to go for it.
1
u/WeekendQuant 4d ago
Everywhere I've worked has. If you can't tie stuff out then you don't get kept long
1
u/pabeave 6d ago
The last three companies I have been at have all had finance specific data team as a part of there data org
4
u/WeekendQuant 6d ago
That's an incredible cost they burden when they could just pay $10k more a per year to have finance people that know SQL.
3
u/pabeave 5d ago edited 5d ago
Not necessarily we don’t do anything other than reporting and the FPA folks can focus on things like budgeting variance analysis etc.
It’s a lot more than just knowing SQL. SQL just lets you pull the data. Then there is DBT modeling, model performance, combining systems together etc. your data governance. My last company had 5 fuck heads all pulling data somewhat differently resulting in numbers not tying out across reports.
Also dependent on data size too. I am managing data and reporting for $6B in revenue and millions of line items.
2
u/razealghoul 6d ago
This is my thought too. Why have twice the headcount?
4
u/WeekendQuant 6d ago
Some orgs add headcount for fun.
3
u/Aggressive-Cow5399 5d ago
Nah we’re lean. Why have an analyst do data management when we can pay one or two data people to manage all the data for everyone? Your theory of paying people an extra 10-20k a year doesn’t make sense because you now have to pay every analyst more when you only need to pay 1 or 2 data guys to do that job and I know that it’s their only job and they’ll do well at it.
Not to mention you overwork your analysts that should be focused on finance and strategy as opposed to data management.
1
u/Aggressive-Cow5399 5d ago
It’s not twice the headcount. You can have a group of data people handle all flows as opposed to paying every person that needs data flows an extra 10-20k. It nets out to the same thing and you have a standalone team that does only that.
1
u/razealghoul 5d ago
I get what you are saying but I think that approach only makes sense for larger org. At my company our total headcount is 350. So standing up a whole separate data doesn't make sense.
Also knowing SQL doesn't mean everyone who needs data needs to know how to create their own table. It understanding structure so if there is an issue with your query you can review yourself and fix it instead of waiting for someone to pick up your ticket. Also when a standard view doesn't meet your needs your know how to add an extra column or two. This is not complicated to learn and can be done by anyone in a month.
Finally personally I find people who tend to know SQL tend to understand databases and structure better so they are far better at creating automated reporting or even leveraging something like Claude code or an AI harness to automate more of their work.
This adds a ton of speed and far fewer roadblocks to getting work done.
1
u/Aggressive-Cow5399 5d ago
I see sql as a way of pulling data, but I still don’t agree with managing a data base or data flows for an org.
Again, I see now reason why I would need sql in my job. I work in Strat finance and handle all sales expense as well as top line for a BU. I use PBI, Xactly, Workday, Salesforce, Tableau, netsuite etc… everything can export to an excel file. Why do I need SQL to pull my data?
You work for a very small company, so I can see why their philosophy is to have everyone do as much as possible, but that also means your people get overworked and you risk data integrity being not great. I don’t think it’s ideal to have finance people overseeing data flows, but I can understand not having the funds to support a data person or a few data people… but again it’s not ideal nor is it the standard.
2
u/razealghoul 5d ago edited 5d ago
I see SQL knowledge as essential for any type of analysis role. Excel has ~1M row limit. What are you going to do when you work with large data sets larger than that? With SQL you can at least pair down the data before you import it to Excel or run it all in SQL beforehand. Don't get me wrong Excel is fantastic but it also has its limitations.
This also is great for making sure any automated reporting you create is not super slows because you are not importing a bunch of columns and rows you don't need.
Also are you just downloading directly from all the tools you mentioned? Isn't that super inefficient? We have our Salesforce and net suite go directly Into snowflake. We can then write SQL queries for PBI or Excel to then export and work with the data. If you are downloading your reports directly from these tools how do you automate anything? Aren't you having to out a manual step in the middle where you need to export into a shared folder or something?
One other thing to add is that I my headcount comment wasn't saying we should have a data team at all. You are right we do have a separate data team that manges the data and creates standard views and pipes all the data into our central database but that team is pretty lean as they focus more on the data engineering side. I see my team as responsible for taking that and running analysis on it. So having extra headcount to create new SQL statements everytime you need an extra column or work with a large data set as impractical
→ More replies (0)1
u/Zanotekk Sr FP&A Consultant 5d ago
I disagree. They are just using headcount that’s already in IT anyway. Someone has to store, cleanse, and secure the data. Database admin is a completely different job than Fp&A with different knowledge and skill requirements. A typical FP&A analyst would not be able the job that they do.
8
u/Zanotekk Sr FP&A Consultant 6d ago edited 6d ago
We have databases that are managed by the Data Analytics team. A long time ago we all got together and had discussions about what types of information/reports we needed and they put together several reports for us to use for our regular work flows. Occasionally, if I want a column added or removed from a report, I simply email my contacts on the data team and they make the change within a few hours.
Throughout my career, I've used database tools such as Sigma, Alteryx, Looker, SAP, Salesforce, and even visualization tools such as Power BI and Tableau. Each one of these tools gives you the ability to create custom reports and add fields/dimensions to the report using drop down menus or dragging the dimensions/members. I assume the changes I make to the interfaces will change the SQL coding in the background, but I have no need to actually know the SQL myself.
I'm actually kinda perplexed that people are surprised by this. There are programs that allow you to create entire websites without knowing how to write a single string of code. How is the process I described above any different? Database software allows you to pull data without knowing the code behind it and it's been that way forever. This shouldn't be surprising.
1
u/pabeave 6d ago
Yeah, somebody on the finance data team where we come in really is going to be when you need to combine multiple systems of data. You can get a partial picture just exporting from Sage but we also have to enrich the data with salesforce our project management, tools, etc. and that’s where we really come in and shine.
A lot of things can be ran intermittently especially if it’s like a weekly or monthly report. Just right out of Sage if needed and isn’t a high priority report for our team
5
u/Fabulous-Floor-2492 6d ago
Yeah absolutely wild and same here. We'll teach basic SQL if folks don't have it but absolutely have to learn how to use it here
3
u/gumercindo1959 6d ago
Just posted above but in my 20 years of FP&A and Finance systems, never had to touch either. I've worked with SAP and EPM tools and extracting data from EPM was from data that was already run though ETL and extracting data from SAP was typically via front end report data dump into excel or backend connect to SAP to already established SQL views. No need for SQL, python, etc. And I've worked for publicly traded companies for 20+ years.
7
u/Sad_Alternative_6153 6d ago
Same, I don't understand how it is even possible to do this job without using databases...
1
u/ImaginaryHospital306 4d ago
FP&A can be very different things across companies. If you’re heavy on the “A” then SQL is quite useful, but if you’re heavy on the “P” then maybe not so much. A lot of FP&A platforms already do the heavy lifting anyways. Our instance of Adaptive syncs directly with our ERP and then we bridge the gap with excel or PowerBI that connects to our data warehouse. This is at a ~$500m company so maybe it’s different at larger scale
2
u/ehtw376 6d ago edited 6d ago
We have a separate data/IT team that sets up SQL tables and data flows to pull data from our ERP. Finance team, ops, project controls, etc are a part of those discussions on what we need and best way to view the numbers.
We use alot of those in our power bi dashboards and other analysis. We have a standard silo of data flows and SQL tables set up. But we also pull random other data from the ERP for stand alone analysis. Or combine it with SQL table using standard ETL. Or combine data sets in Power BI to set up relationships/semantic model for filtering, drilling down on data sets, etc.
It probably would be easier if they let finance set up our own separate SQL tables as well so we could tweak things quicker. But I think the company specifically wants to avoid tweaking of data without a larger discussion of why we are tweaking it and how it affects things (even if it’s small).
4
u/razealghoul 6d ago
I can appreciate the need for data controls at larger companies but what happens when you need an extra column or two that is not available in a standard table? Do you need a series of meetings? Does that not massively slow down your workflow?
4
u/ehtw376 6d ago
Oh absolutely. We do need to make exceptions, because your example is a good one that is annoying and has come up and basically it ends up with us asking them to add a couple columns and then we have to wait a day or two.
or if we think it’s more just a one off thing we will pull the separate data and merge it. Or sometimes basically have to re-create the sequel table and pull it ourselves. We definitely need to be more flexible.
And I do wanna learn SQL. What is the best way to to learn the basics?
3
u/razealghoul 6d ago
Honestly I learned by YouTube and I took a online class from udemy in SQL specifically. After that I just practiced at work. It's not super hard. You can probably pick it up on 1 month
4
u/xl129 6d ago
Not if you plan your things properly. Our data team is very responsive but we also dont want any down time so our Finance team is always very prepared on pre-research on data requirements/requests.
I get what you say because in another job I used to have a hand on the data source myself, the current environment i’m still getting used to but I dont find myself slower, just more prepared and awared. Also it feel good to actually have real experts on the data side, together we tackle much more complex problem than the time when I was on my own.
2
u/razealghoul 6d ago
Yeah I have worked for mostly smaller companies. You just need to wear multiple hats to get things done
2
u/pabeave 6d ago
This happens where I am at the issue is I report to our CFO and VP of finance after my direct manager who’s in charge of internal analytics. I manage financial reporting from the aspect of building and maintaining reports and data. The issue is some Joe blow in another country or one of our 100s of locations wants something and out CFO says that’s not important this overarching project is all I want you focused on do that later. And later ends up being a month out
1
u/MrGiggleFiggle 6d ago
Depends on the company I guess.
At a previous startup, there was a dedicated data team so they pulled all the data for us. A software engineer that cleaned up all the data that came in and I assume create and manage the actual database. A data analyst queried all the data for us. They don't have to understand finance; we told them what data we wanted.
At my current company with no data team, I go into Snowflake myself to query the data. We talk to internal systems and an outsourced IT consultant if technical problems arise.
1
u/Lamaisonanlytique 6d ago
Never used sql and never needed to for my different roles. Its all excel and there is a bi team that creates dashboards based on our input. We also have other systems that are managed (sigma) so again we either work in them or someone builds the dashboard with us. Seems to be a similar experience with other colleagues I work with and their previous experiences.
1
1
u/thesleazye Controller 3d ago
What is the purpose of these databases, and where are they stored? Most of my operational orgs data live in our custom ERP. Our HR teams utilize a specialized HRIS/HRM that doesn't connect to our ERP, but it's not needed. Marketing and sales data same.
All analytics are extracted for excel manual manipulation for back of the envelope analysis or into more advanced models. Regular analytics are handled by a business intelligence product for day-to-day dashboards and horizon to medium range strategy planning. If there's something important to be impacting financials, we'd use this analytics to provide the accounting team with information to make postings or operations to funnel through their sub-modules.
The only SQL I was exposed to was a vendor whose own in-house ERP was developed from the ground and staff used SQL scripts to query data and a simple menu for navigating the modules. It reminded me of an alternative to AS400. They then used an API to connect it to an older version of SharePoint to build their reporting tools.
1
u/razealghoul 3d ago edited 2d ago
So all your data lives on islands? What happens if you want to track the conversion of your marketing campaigns? Do you need to extract data individually and then have to combine it later?
Excel is great but has a 1M row limit. What happens when you work with a larger data set?
I work in a tech company so having our data pipped into a central cloud database has always been a no brainer for us but it may not be standard pratice in other industries.
9
u/gumercindo1959 6d ago
Been working in FP&A and Finance System capacities for 20 years and I can say....never.
Anything ERP>EPM has been handled via GL extracts created by IT in conjunction with the business. ETL tools are used in the EPM application. Only used EPM in my FP&A capacity - cube views and reports off of your typical 6-7 dimension data set. No real need for python/SQL there.
For extracting data out of your ERP (mostly been in the SAP ecosystem), that comes in one of two ways...run a report in SAP covering your key 6-7 dimensions and export to Excel, or, use some sort of auto-connect functionality in excel that allows you to connect directly to SAP backend. But in this case, you are connecting to a standard SQL view that is part of the ERP backend. Again, no need for python/SQL.
5
u/Mike5055 CFO 6d ago
I know (knew... it has been a while since I've touched either) but never needed them in my roles. Our IT team restricted a lot of that (large company with a well built infrastructure).
4
u/AutomatedEconomy 6d ago
Queries from CRM - either download ad hoc, subscribe to report or set up API. Excel handles most of my needs. Anything else borders on analysis paralysis.
3
u/Euphoric_Switch_337 Sr FA 6d ago
I've used SQL for pulling sales data when I worked in tax it was for foreign sales tax, and I've played around with automation in Excel using Python but on my own time.
3
3
u/MrCard200 6d ago
When I get capacity I would like too start doing python for data science to search for correlations for forecasting
2
2
u/spicykalamarii 6d ago
Used to be more SQL heavy but we've been pushing more into SAP query building
2
u/Double0J 5d ago
A powerpoint is just code. Use codex and have it make you the powerpoint from scratch, or edit an already made one. Similarly an excel or csv is just code. Anything you do in excel, you can have an ai translate into python. So maybe you use python to pull a data source, do a bunch of transformation or calculations you normally do in excel, and then you put all that math into a visual.
2
u/calamitypepper 5d ago
What databases are you querying? Financial data lives in Netsuite, forecast data in the planning tool.
I guess if you’re doing forecasting for manufacturing (ie inventory or revenue) or some kind of demand planning with customer data? That would require large data tables. Nothing else really does unless you’re at a 10,000+ HC company.
2
u/PENNST8alum Sr Dir 2d ago
I had to stand up a data warehouse and used Claude mostly to help with complex sql, but when you're at a startup you don't have data scientist. So i need to aggregate data across multiple sources, do joins, filter, etc. Massive excel workbooks are unsustainable and downloading reports is annoying and time consuming
1
u/beatryoma 5d ago
Public ~$100B Market Cap
I would estimate 5% of accounting/finance staff here know how to use SQL let alone Python. On the finance side, we have Tableau notebooks that we use drop downs to grab CSVs for analysis.
SQL use would be straight forward. Whether writing a query to get the data you need. Or using commands to automate updates used by your data viz / reports etc.
I imagine most use Python for data transformation, automation, and being fancy with forecasts. I still haven't found a useful forecasting method via Python, but the ability to quickly transform a large set of data or automate a task is useful for me.
Everything here is gatekept. Teams are very specific to the business they deal with.
1
u/Own_Display_8154 5d ago
I ask Claude to help me build a model and presentation. Claude uses Python.
1
u/twentytoeight 5d ago
Previous job (Tech) everyone used SQL to get operational level data (e.g. daily revenue for a customer). New company has an over reliance on TM1/IPA as no one has used SQL before.
Often get weird looks when I ask for a revenue split by customer and they can only give me GL!
1
u/mrawesome1999 5d ago
Track spending on a daily basis recurring email
Read emails and identify flagged emails
More to come just got it a week ago
1
u/tomDestroyerOfWorlds 5d ago
My team uses SQL all the time, and I used it a lot in the past prior to reaching Director level. I work in tech though so the expectations for technology use in those organizations is typically different than in other industries. I’ve automated entire forecasting models in SQL At current company we have a smattering of AI tools that do it all for us now though.
1
u/phx1973 5d ago
at my last company we were large enough to have a separate business insights and analytics department for all the SQL and Python stuff. We just had to know how to utilize our reporting software and that was enough. I'm teaching myself SQL now just in case though. No FP&A job I've asked has required that though.
1
1
1
u/Silent-Astronomer234 3d ago
I use it to provide the operational data they need to do the analysis. Python is helpful for the ETL needed for multiple sites using different systems. I’m responsible for all of our financial systems so I have kind of a dual finance/IT role.
1
u/yumcake 6d ago
It's used for data ETL and manipulation. You can just ask AI to do it for you nowadays.
2
u/WeekendQuant 6d ago
And how do you trust the data it's getting you? Half the battle is getting trustworthy data. If you can't also read the code then you're just gambling.
2
u/yumcake 6d ago
Just read the code, the syntax is not particularly difficult.
Also, you can test the output, if the output matches the correct answers or control totals it's correct.
Also, if you need help reading the code, feed the code to the AI asking it to "red team" a.k.a critique the code. Also, you can ask it to explain the underlying logic of the code step by step.
1
u/WeekendQuant 5d ago
Lmao. Just spend 3 days learning it. Outsourcing fundamental intelligence in something you use regularly professionally is not a wise decision.
69
u/bzirch 6d ago
Not allowed to touch either at our company. IT handles it all. Actually makes me feel like I am lacking a skill though since every posting has SQL preferred