Mauro Moraes Jr’s Portfolio

I’ve been working in the digital analysis for the past few years. I’ve experience with multiple business intelligence tools and E-commerce website development.

I’m passionate about digital marketing and love working with it to find insights that can help businesses improve their key performance indicators.

This portfolio page gives recruiters the opportunity to analyse highlights of some of my personal digital projects. These projects that I have chosen to showcase below are those that I am most proud of and that I believe best represent my skills and abilities.


Personal Website Portfolio

I have experience in working across a wide range of business website niches. I’m the senior manager developer responsible for creating all digital marketing content, website design, and innovative ideas within this website portfolio. By entrusting your business to my expertise, you can expect an elevated level of content that surpasses expectations.

Website Portfolio by Mauro Moraes Jr

 


Communications Officer

As a political analyst, I had the privilege of working as a communications officer for the Liberal Democrat in the UK. My role proved pivotal in the party’s historic success in the 2024’s election, where Lib Dems secured 71 seats in Westminster, re-establishing themselves as the third-largest party. This remarkable achievement was the result of a combined effort to revitalise their political messaging and engage voters through innovative digital strategies.

I worked remotely alongside Penelope James, I lead various aspects of the digital marketing campaign. My responsibilities included crafting compelling political campaign, wrote impactful scripts, developed social media content strategies, and sighted online content publication. This multifaceted approach allowed the content to reach a broader audience and effectively communicate the party’s vision for the future.

This work experience improved my skills in political communication, social media content strategy, and digital marketing within the fast-paced world of British politics. It demonstrated my ability to adapt to rapidly changing situations and deliver results under pressure. The success of our campaign strategy not only contributed to the Liberal Democrats’ best-ever electoral performance but also showcased my capacity to drive meaningful change through effective communication.

For a more detailed account of my contributions and capabilities, I invite you to read Penelope James’s recommendation on my LinkedIn profile. You can read it here: https://www.linkedin.com/in/mauro-moraes/details/recommendations

This endorsement provides further insight into my work ethic, skills, and the impact I made during this pivotal campaign. I’ll bring this level of professional experience and proven track record of success to new challenges in political campaigns.

 


Digital Analytics

Digital analytics is the practice of collecting, analysing, and interpreting data from various digital channels and platforms in order to understand how people are interacting with a company’s online presence.

By measuring key performance indicators “KPIs”, we can gain insights into how well a business is achieving its key objectives, such as increasing revenue, improving customer satisfaction, and maximising ROI.

In this analysis, we will be looking at a range of KPIs, including revenue, sales, profit, customer satisfaction, employee satisfaction, and market alignment goals. By analysing this data, we aim to make informed decisions that will drive business growth and success.

 


Python

Python is a programming language that is widely used in the digital analytics field. It’s a powerful tool that helps businesses to perform digital marketing analysis, data mining, and machine learning.

Olympics Data Analysis with Python

The purpose of this project is to analyse data from 1896 to 2016 Olympics using Python. We will further explore the data from the Olympic games in Rio 2016. The data will include information on the athletes, type of events, ranking and medal results. We will use Python to analyse this data and to create graphs and charts to visualise the data.

Data Summary:

The data shows the top 10 countries in terms of team participation in the Olympic games from 1896 to 2016. The United States had the highest number of team participation with 17,847, followed by France with 11,988, Great Britain with 11,404, Italy with 10,260, Germany with 9,326, Canada with 9,279, Japan with 8,289, Sweden with 8,052, Australia with 7,513, and Hungary with 6,547.

Data Analysis:

  • The United States had the highest number of team participation in the Olympic games, with almost 18,000 teams representing the country.
  • France, Great Britain, Italy, and Germany all had a significant number of team participation, with over 10,000 teams representing each of these countries.
  • The remaining countries on the list (Canada, Japan, Sweden, Australia, and Hungary) all had a somewhat lower number of team participation, but still a significant presence in the Olympic games.

Conclusion:

  • The data shows that the United States has had the highest number of team participation in the Olympic games from 1896 to 2016, followed by France, Great Britain, Italy, and Germany.
1898 - 2016
United States    17847
France           11988
Great Britain    11404
Italy            10260
Germany           9326
Canada            9279
Japan             8289
Sweden            8052
Australia         7513
Hungary           6547

Since the table above doesn’t look visually appealing. A stylish bar graph has been coded in order to create a more visual comparison between countries.

 

Age Distribution 

An age distribution graph shows the number or percentage of individuals within a population that fall into different age ranges. In the case of the Olympic Games, the age distribution graph is showing the distribution of ages among the athletes competing in the games over time.

For example, if the graph showed a high number of athletes in the 18-35 age range and a low number of athletes in the 40-55 age range, it could indicate that there are relatively more young athletes competing in the games compared to older athletes.

The age distribution of athletes in the Olympic Games can be influenced by a variety of factors, such as the rules and eligibility requirements for the games, the physical demands and training requirements of different sports, and the overall demographics of the athletes.

Understanding the age distribution of athletes in the games can provide insight into these and other factors that may be impacting the makeup of the athlete’s population.

 

Modalities 

Based on these lists, we can see that the Olympic games have included a wide range of sports across both winter and summer categories. Some of the notable sports included in the winter Olympics are ice hockey, alpine skiing, and figure skating, while some of the notable sports included in the summer Olympics are athletics (track and field), swimming, and gymnastics.

It is interesting to note that some sports, such as ice hockey and figure skating, are included in both the winter and summer Olympics, while others, like alpinism and aeronautics, are included in only one category. The inclusion of such a diverse range of sports in the Olympic games highlights the international and inclusive nature of the event.

Winter sport modalities from 1896 to 2016

array([‘Speed Skating’, ‘Cross Country Skiing’, ‘Ice Hockey’, ‘Biathlon’, ‘Alpine Skiing’, ‘Luge’, ‘Bobsleigh’, ‘Figure Skating’, ‘Nordic Combined’, ‘Freestyle Skiing’, ‘Ski Jumping’, ‘Curling’, ‘Snowboarding’, ‘Short Track Speed Skating’, ‘Skeleton’, ‘Military Ski Patrol’, ‘Alpinism’], dtype=object)

Summer sport modalities from 1896 to 2016

array([‘Basketball’, ‘Judo’, ‘Football’, ‘Tug-Of-War’, ‘Athletics’, ‘Swimming’, ‘Badminton’, ‘Sailing’, ‘Gymnastics’, ‘Art Competitions’, ‘Handball’, ‘Weightlifting’, ‘Wrestling’, ‘Water Polo’, ‘Hockey’, ‘Rowing’, ‘Fencing’, ‘Equestrianism’, ‘Shooting’, ‘Boxing’, ‘Taekwondo’, ‘Cycling’, ‘Diving’, ‘Canoeing’, ‘Tennis’, ‘Modern Pentathlon’, ‘Golf’, ‘Softball’, ‘Archery’, ‘Volleyball’, ‘Synchronized Swimming’, ‘Table Tennis’, ‘Baseball’, ‘Rhythmic Gymnastics’, ‘Rugby Sevens’, ‘Trampolining’, ‘Beach Volleyball’, ‘Triathlon’, ‘Rugby’, ‘Lacrosse’, ‘Polo’, ‘Cricket’, ‘Ice Hockey’, ‘Racquets’, ‘Motorboating’, ‘Croquet’, ‘Figure Skating’, ‘Jeu De Paume’, ‘Roque’, ‘Basque Pelota’, ‘Alpinism’, ‘Aeronautics’], dtype=object)

 

Proportion of Athletes 

M    196594
F     74522

Over the past few decades, the proportion of female athletes participating in the Olympic games has significantly increased. This trend towards greater gender equality in sports is encouraging and highlights the progress that has been made towards ensuring that women have the opportunity to compete and succeed at the highest levels of international sports.

Data Summary:

The data shows the overall number of male and female athletes who participated in the modern era of the Olympic games, from 1896 to 2016. There were a total of 271,116 athletes, of which 27.5% were female and 72.5% were male.

Data Analysis:

  • The data shows that there were significantly more male athletes than female athletes in the Olympic games from 1896 to 2016. Out of the total number of athletes, 72.5% were male and only 27.5% were female.
  • The difference in the number of male and female athletes is significant, with almost three times as many male athletes as female athletes.

Conclusions:

  • The data suggests that there is a significant gender imbalance in the Olympic games, with far more male athletes participating compared to female athletes.
  • This gender imbalance may be due to a variety of factors, including societal attitudes and cultural norms that may discourage or restrict women’s participation in sports.

Overall number of the Olympic games medals from 1896 to 2016:

Gold      13372
Bronze    13295
Silver    13116

Data Summary:

The data shows the overall number of Olympic medals that were awarded in the era of the Olympic games, from 1896 to 2016. There were a total of 13,372 gold medals awarded, 13,295 bronze medals awarded, and 13,116 silver medals awarded.

Conclusions:

  • Overall, the data shows that there were a relatively equal number of gold, bronze, and silver medals awarded in the Olympic games from 1896 to 2016.

 

Olympic Games in Rio de Janeiro | 2016

The Olympic games are a global sporting event that brings together athletes from around the world to compete at the highest level of international sports.

The 2016 Olympic games, held in Rio de Janeiro, Brazil, were no exception, with athletes from over 207 countries participating in a wide range of summer sports. This report will focus on the Olympic games in Rio 2016, examining various aspects of the event and its impact on the host city and country.

Through analysis of data and other relevant information, we will explore the successes and challenges of the 2016 Olympic games, as well as their lasting legacy. Whether you are a sports fan, a member of the Olympic community, or simply interested in international events, this report aims to provide a comprehensive overview of the Olympic games in Rio 2016.

India Visitor Influx

India is a country rich in culture and history, with numerous tourist attractions, ranging from ancient temples and monuments to stunning beaches and hill stations. In recent years, the country has seen a significant influx of tourists from all over the world. The data presented here showcases the trends in tourist arrivals to India from various regions and countries from the year 2001 to 2016.

The data has been categorised based on the region of the world from which the tourists comes from. These regions include North America, Central and South America, Western Europe, Eastern Europe, Africa, Middle East, Southeast Asia, East Asia, Australasia, and Others. The data points for each region have been further categorised by country, and the number of tourists arriving in India in each year has been presented in tabular form.

The data presented here is interactive, as viewers can click on each data point to filter the data by a specific country, region, or year. This feature allows viewers to obtain insights into the patterns and trends of tourist inflows to India over the years. Additionally, the data can be analyzed to identify the percentage increase or decrease in tourist arrivals from the previous year, enabling informed business intelligence decision-making.

Overall, this data is a valuable resource for anyone interested in studying the tourism industry in India. It provides valuable insights into the regions and countries that contribute the most to India’s tourism industry and can assist policymakers, travel agencies, and other stakeholders in making informed decisions.

 

Tourist Arrivals to India by Region:

  1. Western Europe: The number of visitors from Western Europe has steadily increased over the years, reaching over 2 million in 2016. The United Kingdom is the top contributor to the region, with over 942,000 visitors in 2016 with 23%
  2. North America: The number of visitors from North America has steadily increased from around 418,000 in 2001 to over 1,6 million in 2016. The United States is the top contributor to the region in 2016 with 18%.
  3. South Asia: The number of visitors from this region has steadily increased over the years, reaching 2,2 million in 2016. Bangladesh is the top contributor to the region, with around 1,400,000 visitors in 2016 with 25%.

Overall, the data indicates that Western Europe, North America and South Asia are the top contributors to tourist inflows to India. The number of visitors from these regions has steadily increased over the years, while the number of visitors from other regions has fluctuated.

 

Viz of the Day

This Tableau project demonstrates a strong understanding of business intelligence fundamentals and the ability to design and customise interactive dashboards. The project includes the use of dimensions and measures, as well as various types of charts, such as average by region, donut, and pie charts. The portfolio also includes the creation of sales and profit dashboards, as well as the ability to link overall dashboards to sales dashboards and create segment dashboards.

In addition to these skills, the portfolio showcases the use of actions in Tableau, such as sales by category stacked with reference bands and lines. The project also includes dashboards focused on profit, population, health and economy with the goal of improving KPI for the business.

Overall, this project demonstrates a strong foundation in business intelligence and data visualisation through the use of Tableau. The ability to create various types of charts and dashboards, as well as utilise actions in Tableau, highlights the skills needed to succeed as a data analyst. I am confident in my abilities and I’m open to taking on similar projects in the role of a data analyst.

 

 


 

Exploring Employee Hierarchy with Recursive Queries

This query uses a recursive CTE to generate the hierarchy of employees, starting with the CEO at the top.

#Calculate number of employee under each manager + avg salary:

SELECT e1.Manager_ID, e2.Employee_Name as Manager_Name, COUNT(e1.Employee_ID) as Num_Employees, AVG(e1.Salary) as Avg_Salary
FROM Employee e1
LEFT JOIN Employee e2 ON e1.Manager_ID = e2.Employee_ID
GROUP BY e1.Manager_ID;

This query uses window functions to calculate the number of employees under each manager and the average salary of the employees under each manager. However, as you can notice on the table above, the query is incorrect.

The query uses a LEFT JOIN, which includes all rows from the left table Employee_e1 and any matching rows from the right table Employee_e2, but it returns NULL for any non-matching rows in the right table. This means that if there are employees in the e1 table who do not have a matching manager in the e2 table, those employees will be included in the result set with NULL values for Manager_ID and Manager_Name.

I need to review the data and the join condition to make sure the join is correctly matching the manager and employee. I decided to use an INNER JOIN instead of a LEFT JOIN. This will only return the matched records and not include the non-matching records.

Here’s the modified code:

SELECT e1.Manager_ID, e2.Employee_Name as Manager_Name, COUNT(e1.Employee_ID) as Num_Employees, AVG(e1.Salary) as Avg_Salary
FROM Employee e1
INNER JOIN Employee e2 ON e1.Manager_ID = e2.Employee_ID
GROUP BY e1.Manager_ID;

This only return the results where there is a match between the Manager_ID in the e1 table and the Employee_ID in the e2 table, avoiding the NULL values on Manager_ID and Manager_Name.

 

Final Query

This final query has been used to retrieve a list of all the Employee’s salary in descending order. The query starts by selecting the Level, Employee_Name and Salary columns from the Employee table.

It then filters the results using a WHERE clause that checks if the Level and Salary combination exists in a sub-query. The sub-query retrieves the Level and Salary columns from the Employee table and groups them by Level.

Finally, the outer query orders the results by Salary in descending order.

#List of all the Employee’s salary by DESC:

SELECT Level, Employee_Name, Salary FROM Employee
WHERE (Level, Salary) IN (
SELECT Level, Salary FROM Employee GROUP BY Level
) ORDER BY Salary DESC;

Conclusions