Santiago Hernández, Developer in Buenos Aires, Argentina
Santiago is available for hire
Hire Santiago

Santiago Hernández

Verified Expert  in Engineering

Machine Learning Engineer and Developer

Location
Buenos Aires, Argentina
Toptal Member Since
January 29, 2019

Santiago is a machine learning engineer keen on solving large-scale data, optimization, and engineering problems. He has led a team of data scientists to build products that predict the value of over 300 million users worldwide to optimize the advertisement of world-leading companies. Santiago considers it a serious undertaking when developing elegant, efficient, and well-designed software systems.

Portfolio

ZeeMaps (via Toptal)
Bootstrap, PostgreSQL, Redis, Plotly, IPython Notebook, Docker, SaaS, Dash...
MercadoLibre (with Mutt Data)
Docker, Machine Learning, IPython Notebook, Optimization, Programming...
Jampp
Pandas, Scikit-learn, Tornado, C, Presto DB, PostgreSQL, Bash, Git...

Experience

Availability

Part-time

Preferred Environment

Bash, Vim Text Editor, Python, Git, Linux

The most amazing...

...machine learning system I've developed streams over 60 million messages per hour and builds datasets in real time to predict monetization on mobile apps.

Work Experience

Data Scientist

2019 - PRESENT
ZeeMaps (via Toptal)
  • Analyzed the company's system-as-a-service (SaaS) data to find insights and make strategic business decisions.
  • Built a dashboard to evaluate the company's evolution and easily see the analysis and aid decision making.
  • Classified subscribed users into acquired and at-risk users—enabling us to focus on preventing risk users of churning, driving the company's growth.
  • Provided visibility on the revenue, lifetime value, churn rate and other metrics per user category.
  • Tagged users in high and medium churn risk to allow focused support and customer service.
  • Analyzed and optimized sponsored search campaigns to acquire new users.
  • Dockerized the setup and deployment of the dashboard system.
  • Performed cost analysis per plan and per user to evaluate the current SaaS's pricing methodology and improve the revenue by performing deals with high consumers when appropriate.
Technologies: Bootstrap, PostgreSQL, Redis, Plotly, IPython Notebook, Docker, SaaS, Dash, Python, Data Science

Machine Learning and Optimization Leader

2019 - 2020
MercadoLibre (with Mutt Data)
  • Defined an optimization problem to optimize the marketing's team budget and target ROAS (return on advertising spend) goal allocations revenue from Google Shopping.
  • Performed an exploratory data analysis on the company's and the marketing's team data in order to understand the relationship between budgets, goals, and results.
  • Developed a system to forecast and predict cost, revenue and return of investment of Google Shopping campaigns depending on the budget and target ROAS goal subject to business constraints.
  • Engineered and developed a system to solve the optimization problem and define how to set up digital marketing campaigns on Google Shopping based on the predictions, forecasts and business constraints.
  • Dockerized the setup and deployment of the system using docker containers and docker compose.
  • Deployed the system for two accounts in a single country, after the results, on five more accounts on the same country, followed by rolling out to other countries.
Technologies: Docker, Machine Learning, IPython Notebook, Optimization, Programming, Prophet ERP, Pandas, Scikit-learn, Forecasting, Data Science, Python

Machine Learning Engineering Leader

2015 - 2019
Jampp
  • Built machine learning online estimators processing over 60 million programmatic advertisement messages per hour (an auction's win rate, the second price auction's costs, and new user and in-app events conversions).
  • Performed optimization and feature engineering on models leading to over 15% in conversions and a 30% increase in the company's net revenue.
  • Developed a revenue and inventory purchase optimization system that resulted in over 20% increase in the net revenue.
  • Created several web interfaces to provide visibility and interpretability to machine learning and optimization systems.
  • Led data scientists to define and develop user clustering systems processing over 200 million users.
  • Developed a system that uses the previously mentioned ones to make various decisions—like how much to bid and for which client—during real-time auctions selling advertisement slots on mobile apps.
Technologies: Pandas, Scikit-learn, Tornado, C, Presto DB, PostgreSQL, Bash, Git, Amazon Web Services (AWS), Linux, Python

Researcher | Developer

2013 - 2014
Integrative Neuroscience Lab
  • Created a mind speller in Python using Fisher’s LDA and SVMs compatible with the EMOTIV EPOC electroencephalography headsets.
  • Worked on a relaxation-based competition game using alpha brainwave detection among players.
  • Contributed to the development of a steady-state visually evoked potential selection interface to control Lego Mindstorm cars from afar.
  • Built a web server to control the headsets, launch the different systems, and record the brain activity and user input to enlarge our datasets.
  • Researched on mind-speller variants using different classification algorithms and signaling environments.
Technologies: Emotiv SDK, Python

Building Stronger Data Science Teams

Nowadays, working on a data science team involves working with people from different backgrounds, such as mathematicians, economists, actuaries, physicists, and engineers. And being a technical leader of a data science team means that not only you have to ensure that the research, insights, and products add value to the company but also that they are reproducible, maintainable, reliable, scalable, performant, testable, and correct.

For this reason, I started a series of on-site technical pieces of training in computer science and software engineering because the team's data scientist did not have an engineering or computer science background.

The training sessions were on topics like algorithmic complexity, programming exercises, environment setups, data structures, object-oriented philosophy, and software architecture.

On the tech side, this—in conjunction with proper onboardings and code reviews—led to better products and faster development times. On the social side, we were happy to find out that we were unexpectedly making a stronger team by the bonding that arose from studying and debating shared interests.

Dynamic Spend Model for Digital Marketing

In the digital marketing industry, performance marketing platforms and their customers have to define the advertisement campaign's goals and a spend model to determine how the customer will be charged (like a fixed CPM, CPC, CPI or CPA).

I worked on a new spend model in which the client and the platform agree on a maximum budget and goals—such as a maximum cost per click or purchase—and the system finds the optimum price to charge the client while achieving the goals and ensuring satisfactory results for both parties.

Event Predictions in Mobile Applications

I built a statistical learning system to estimate the probabilities of mobile app users performing events on applications. The online algorithm processes over 4 million data points per day to continually fit new data.

This was a challenging project as there were different types of apps (like food delivery or flight reservation apps), different types of events (like searches or purchases), and delayed conversion feedback (people usually do not book a flight right after watching an ad).

Before deploying it to production and using it for revenue optimization, it was important to answer a number of questions:
• What is the minimum amount of data required to fit a good estimator?
• What happens if you stop learning from the data and keep using your current estimator?
• How much are you willing to wait for delayed feedback?
• Of all the events in an app which one do you want to predict?

After working on the problem and considering the possible contingencies, the system was rolled out successfully without any issues.

Financial Education Mobile Game

I designed and built the back-end of a mobile game oriented to provide financial education to teenagers.

The game consisted of a simulation of a rapper's career from the ground up, in which the player had to give concerts playing mini-games and take good decisions in order to progress in their career.

The player's manager helps him by giving him advice and suggestions to balance leisure time, taking loans for playing in bigger venues and buying swag to increase the avatar's flow. The project was presented at a contest organized by Itau Bank and Red Hat.

Languages

Python 3, Python, SQL, Bash Script, Bash, C, HTML, JavaScript

Libraries/APIs

Scikit-learn, Pandas, REST APIs, NumPy, SciPy, Matplotlib, ZeroMQ, Keras

Storage

PostgreSQL, Redis, Amazon S3 (AWS S3), MySQL

Other

Click-through Rates (CTR), Machine Learning, Tornado, Algorithms, Distributed Systems, Optimization, Vowpal Wabbit, SSH, Multiprocessing, Dash, SaaS, Forecasting, Programming, Image Processing

Frameworks

Presto DB, Flask, Bootstrap

Tools

Git, Docker Compose, Vim Text Editor, Emotiv SDK, IPython Notebook, Plotly, Prophet ERP

Paradigms

Data Science

Platforms

Linux, Docker, Jupyter Notebook, Amazon Web Services (AWS), Amazon EC2

2015 - 2019

Master's Degree in Computer Science

University of Buenos Aires - Buenos Aires, Argentina

2009 - 2014

Bachelor's Degree in Computer Science

University of Buenos Aires - Buenos Aires, Argentina

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring