Being a Data Analytics Swiss Army Knife – My Experience as an Intern in Deloitte France

While Accountancy student Lee Tze Yiing was on exchange in France, he decided that he wanted to challenge himself and source for a local internship on his own, to gain the experience of working in another country. Armed with his knowledge in data analytics and machine learning (he was certainly very skilled as you will find out soon!), he successfully secured an internship with Deloitte France. Here is his story.



By Lee Tze Yiing, SMU School of Accountancy

I recently completed a 6-month internship in France at Deloitte, and I can confidently say that it was one of the most fulfilling, challenging and important experiences for me in many ways.


Finding the Internship

I began the internship search almost 8 months before my eventual start date in June 2018. In fact, I was actually on exchange in Paris, France, when I started the search, so that was where I first began the internship hunt.

Finding an internship as a foreigner was, honestly, not easy. I used multiple digital methods to get my resume out to employers, such as unsolicited emails, LinkedIn listings, Angel List and Welcome To The Jungle.

Another strategy that I adopted was to apply through the career portal of each CAC40 (the French version of Dow Jones) company that I was interested in. Many of these companies are very traditional in their hiring practices and do not cast their net widely by posting their listings to job boards.

In the end, after applying to over 250 different internship positions located in Paris and with an average call-back-rate of around 2 per cent, I finally landed an offer at Deloitte France. I do think that it is beneficial to apply to companies that have an international and diverse workforce, as they would be accustomed to the hiring process for overseas interns.

On a side note: I recommend taking a look at the list of companies participating in the French Tech Visa. There are many companies (mostly startups) of various sizes that are actively growing and are open to hiring foreigners.


The doorways to the Deloitte France Financial Advisory office on the 33rd floor


The Internship

On my contract, it said Stagaire Data Analyste, which translates to Data Analyst Intern. I accepted the offer by Deloitte France Forensic & Disputes, a department within Deloitte France Financial Advisory.

Within the department, it is split between general investigators and tech-specialist investigators. The tech-related investigators are then further split into eDiscovery and Analytics. eDiscovery handles forensic data searching for clients, while the Analytics team deals with all forms of data services, from due diligence to Know Your Customer (KYC) services.


Due Diligence Machine Learning Model

When it comes to journal entry investigations, the traditional workflow was to extract the general ledger, and use Excel to manually slice and filter the data according to certain criterion that were “red flags”. These “red flags” are usually built up from scratch in collaboration between the clients and the investigators, but there are usually some common red flags that pop up across each of these journal entry investigation projects.

As you can imagine, attempting to use Excel to slice and dice the data into manageable chunks to select suspicious entries is an extremely difficult thing to do. Many of these requirements change according to context (such as the country of incorporation of the clients), time (such as corporate restructuring), and scope of focus (for example, some clients are only interested in a particular keyword). This meant that there was very little workflow re-use between projects, with many of these projects being started from scratch each time.

One of the projects I was assigned was to improve the efficiency of this task. I created Python scripts that would load and parse a General Ledger into a common format (regardless of whether clients were using different accounting systems providers), scrape relevant data that investigators would normally search manually on Google, and pipelined all of that data into a prediction model based on the AdaBoosted Extra Trees classifier. There was some rudimentary text scoring on the journal entry descriptions, but due to time constraints, I was not able to incorporate some NLP techniques that I knew of. Original datasets were based on past efforts to use analytical methods through Excel, where investigators had created a basic risk “score”.

The overall result of these efforts led to cutting down the time required to produce a selection of medium and high-risk entries from a dataset of sometimes hundreds of thousands of entries. Normally, a dataset of 300K to 500k entries would take around 3 to 4 days of gruelling Excel work, but the Python package could process them within 30 minutes with the exact same results. Investigators could then zoom in onto highly suspicious entries much faster. We were able to successfully use the package in a due diligence project in Morocco, and was able to validate that the proof-of-concept worked.

The final hurdle of this project was to develop a solution respectful of client-confidentiality, that could be used by investigators as well as to be sold to clients as an ongoing service. This was rather challenging, as I had to architect the application to be completely offline, as well as an online solution as well. Due to resource constraints (i.e. I was the only skilled developer able to work on this), I decided to use the Flask framework for the server, and a browser-based user interface based on React. This allowed the application to be either bundled up as a single offline Windows binary with the help of PyInstaller, or separated by decoupling the application’s frontend and backend into the static files generated by React, and the server in a Docker container.

Due to the time and resource constraints of the project, I was able to only ship the first version of the internal application that passed user requirements whilst ensuring that it was well-tested and documented. It was a great learning experience that allowed me to pick up many different technologies and frameworks, such as the Javascript testing framework Jest as a testing runner, Google Chrome’s headless node API Puppeteer for UI testing, and many others.


Foosball during breaks with colleagues, referred to as “baby-foot” in French. There were other distractions as well, like a Nintendo switch for Mario Kart and some arcade games.


Everything in French?

One question I got a lot when I reached back home in Singapore was: Was all my work in French?

Not really. There was definitely a large proportion of administrative things that were in French, such as communicating with HR, department meetings, and sometimes team meetings. One of my proudest achievements was to hold a complete conversation with a Deloitte IT support staff completely in French while talking about a Sharepoint Active Directory syncing problem. Many of my interactions with IT support was in French as well, and explaining my technical problems such as BIOS virtualisation enabling was definitely tricky.

I do think that the entire 6 months was a huge benefit to my French speaking ability, and it is a great opportunity to practice the language immersion and improve your reading and speaking ability. If you are not at a C1 level, it definitely helps to be in an English-first professional setting.


A free popup jazz concert during lunch in summertime at La Défense – the French equivalent of Raffles Place


As a Whole…

This internship was sort of like a journey of personal and professional growth, with much greater technical challenges as compared to my previous internship. It was both fulfilling and rewarding in so many ways, and I do think that anyone considering an overseas internship should definitely try it out for themselves, no matter how hard it is to get your foot through the door.

Nothing will happen unless you take the first leap.


© 2018-2019 Lee Tze Yiing. All rights reserved.

The above blog story is an extract of Tze Ying’s full blog post on his internship experience in France. Read his full post at


Meet more inspiring individuals like Tze Ying in SMU School of Accountancy! Common acceptance closes 24 May 2019. Accept your offer today.


PG acton none