class: center, middle, inverse, title-slide # How to win an AI Hackathon ## Without using AI ### Colin Gillespie (
@csgillespie
) --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: right, middle, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- ### About Me ## Co-founder: Jumping Rivers --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- ### About Jumping Rivers * Winner of the most mysterious name 2019 * Not a water company -- * Training, Consultancy, App development * Python, R, Git, Docker, ... --- layout: true background-image: url(graphics/leakage.png) background-size: contain class: left, top, inverse --- --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: right, middle, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # Northumbrian Water # Leakage Hack 2018 --- # Two days of background # Two hack days # Ten teams --- # Data on Azure --- # Goal: reduce leaks by 20% --- layout: true background-image: url(graphics/bigdata-low.jpg) background-size: contain class: left, top --- # Lots of data!!! * Spatial * Time series * Estimates --- ### Historical data * Reported leaks! -- * Flow rates -- * Usage -- * Estimated leakage --- ### Infrastructure data * Pipe type * Pipe location * Pipe size --- ### Location data * Social * Business --- ### Other * Weather * General stuff --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # Problem set-up * Classic ML / data science -- * Previous results * Predict the future -- * GBM vs Neural net face off --- layout: true background-image: url(graphics/computer-small-low.jpg) background-size: contain class: left, top --- # Me --- layout: true background-image: url(graphics/clipboard-robot.jpg) background-size: contain class: left, top --- # Seb (approximate likeness) --- ### He asked questions -- ### All of the 1st day! --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: right, middle, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- ## Remember: reduce leaks by 20% --- # Why? --- # Seems like a silly question? --- # Answer: they get charged -- # A lot --- # ~~Reduce leaks by 20%~~ -- # Reduce the amount lost due to leakage --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- ### How do you estimate leakage? -- * Per DMA -- * Minimum flow rate -- * Not the most precise measurement? --- ### What do you need to fix leaks? -- * An engineer -- * Data! --- ### What data does an engineer need? -- * Flow rate, pipe type, historical leakage * Weather, traffic, crime, ... -- * Takes ~two hours per day to get this information -- * 35 engineers! --- # Data is hard --- layout: true class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # Even in the 24th Century -- <iframe width="924" height="519" src="https://drive.google.com/file/d/1gluC0HqnAVAQ63uqc8KRRt-ocWn300jU/preview" allowfullscreen></iframe> --- ### Solution: Reduce engineer time! * Easy * Do-able --- layout: true background-image: url(graphics/a-team.jpg) background-size: contain class: left, top --- # An app in 1/2 a day? --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # Decide what to "make" -- # Decide what to bluff --- # Decide what is obvious --- # We can demo a single DMA -- # Do we need more? --- # We can display pipe location & type -- # Pipe size is "obvious" --- layout: true background-image: url(graphics/screen1.png) background-size: contain class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # __dplyr__ & __DT__ --- layout: true background-image: url(graphics/screen2.png) background-size: contain class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # __plotly__ & __ggplot2__ --- layout: true background-image: url(graphics/screen3.png) background-size: contain class: left, top <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # __leaflet__ & __Javascript__ -- __Python__, __Dokku__, __Docker__, __Traefik__ for deployment --- layout: true background-image: url(graphics/nwl-2019.jpg) background-size: contain class: left, top --- # Oh, we won this year as well --- layout: true background-image: url(graphics/waterhub.jpg) background-size: contain class: left, top --- # And this --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- # What about AI? --- layout: true class: center, middle, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- <iframe width="924" height="519" src="https://drive.google.com/file/d/1Z6nkaP6dCUzlZVISyst_mNgRXkMTWzzt/preview" allowfullscreen></iframe> --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: center, middle, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- ## The "AI Solution" --- ## At a certain level ## AI == Magic -- ### Any sufficiently advanced technology is indistinguishable from magic --- ### Some will believe the magic -- ### Regression + Cloud = AI --- layout: true background-image: url(assets/title-jr-white-logo.png) background-size: cover class: left, top, inverse <div class="jr-header-inverse"> <img class="logo" src="assets/header-jr-white-logo.png"/> <span class="social"> <table><tr> <td> <img src="assets/header-twitter.gif"/> </td> <td>@jumping_uk</td></tr> </table> </span> </div> <div class="jr-footer-inverse"> <span>© 2019 Jumping Rivers (jumpingrivers.com) </span> <div> jumpingrivers.com/t/2019-budbi </div> </div> --- ### Summary * Think about your problem * Don't jump in with both feet -- * Don't send me to a Hackathon without others (I lost) -- * SatRdays Newcastle 2020 (~£30) * Julie Silge keynote <!-- # Reality --> <!-- <iframe width="840" height="472" src="https://www.youtube-nocookie.com/embed/PtXtIivRRKQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> -->