all speakers

Andrew Goldberg

Andrew Goldberg

Las Vegas-based casino analytics, database & technology consultant

Andrew has led analytics and finance teams at casinos in Las Vegas, Atlantic City, and elsewhere, as well as consulting with a variety of casinos and hospitality companies under the alias "Centerfield Nine." He invented a new blackjack variant, "Dealer-First Blackjack," where players wait until the dealer's hand is final before deciding whether to hit, and created KeepMyVIPs, a tool and system for player development personnel to increase engagement among high-value guests in order to reduce churn and abandonment. Although he has built applications with Python, JavaScript, Java and Dart, Andrew vastly prefers Kotlin and has built all his recent projects in this wonderful language. Andrew previously traded interest rates at Chase Manhattan Bank and earned an MBA at Duke University.

Replacing SQL with Kotlin's 'dataframe' on the Las Vegas Strip

Casinos have long been pioneers in brick & mortar customer spend tracking and subsequent 1-to-1 customized marketing. Gamble more, and you'll receive more free meals, rooms, suites, event tickets, limos and of course, free money to gamble with. Most internal workflows for executing these marketing campaigns are SQL-based, often hidden underneath extremely expensive "marketing automation systems" or complex ETL processes.

Seeking a simpler, more flexible alternative, I wanted to migrate as much as possible from SQL to code. Specifically, Kotlin code. Fortunately, Kotlin's dataframe library, although still pre-beta, was in active development and was gaining features. This turned out to be the perfect solution -- and a major improvement over the most obvious alternative, Python's 'pandas.'

We'll walk through how I reduced reliance on SQL by about 80-90% and replaced it with a faster, easier, more flexible, integratable process based upon dataframe. We'll also review some of dataframe's top features in compiled code and in Jupyter notebooks and discuss why it is so much easier, less error-prone, and just way more fun than 'pandas' can ever hope to be.