Category Archives: Technology

Meaningful Connections @ Facebook

Facebook invited me (and a few hundred others!) to a private event at their London offices to network and hear presentations from several of their engineers.

Allan Mertner – Welcome
Allan was previously at King (makers of Candy Crush) and joined just five months ago. He leads the Ads group in London – the largest group in Facebook London. The culture is to move fast and ship things, to make things better – at scale.

Damien Lefortier – Causal Modeling: Delivering Incremental Advertiser Value
Incrementality
A conversion is any event of interest happening on the advertiser’s side (subscribing, purchasing etc). Incrementality is a conversion caused by the ad that would not have happened otherwise. So reporting these incremental conversions is a goal for any advertising platform. But it’s hard to assess – how to measure people that would have discovered the advertiser anyway.

Attribution frameworks
Used as a proxy to incrementality for determining which conversions are considered for both reporting and delivering. Eg. 1-day or 7-day click-through (so record that the person saw the ad, then count it if they convert within some period if going to the advertiser’s site). Or 1-day View-through – the whole thing from showing the ad to converting within a day. But not all attributed conversions are incremental – may have happened anyway.

Delivering incremental value
First need to measure incremental conversions! Then you can assess if you’re improving your delivery. So you can measure random samples of people that are shown/not shown the ad, and see how many convert.

Causal modelling – model both the conversion probability given ad exposure and given non ad exposure. No need for attribution with this approach. E.g. 1 – Natural Experiments – use the natural randomisation in the system to get data. Use this to train a model – but needs correction for biases. E.g. 2 – Small randomised trials – collect data, but typically means less data to teach models.

A model can not only be used for measuring, but also predicting the impact of an ad campaign. It’s a hard, and interesting, machine learning problem. But it actually works – such as for Brand Awareness following ad campaigns.

Brian Rosenthal – How Facebook culture influenced our ad system evolution
Brian has been at Facebook for over 8 years and has worked on much of the Ads codebase.

Mission driven, monetisation business. Facebook don’t want you to see ads that waste your time and the advertiser’s money. This helps frame the problem as one of efficiency – which is appealing to engineers!

Stage 1: Launching Quickly
Ads started in 2004/2005 – it was initially a college site, so the adverts were related to colleges, storage and moving companies. Ads were integrated as part of the social media interface, not just as banner ads. They had an Advert creation interface, where you could add your ad – with identification of who is running it. Then in 2007, an auction where you could bid per click (where a higher bid increased the likelihood of it being seen). In 2009, you could finally edit your ads (previously, they were only created or bulk uploaded)

Stage 2: Embrace best practices
Figured out the right principles – unlike stage 1 (which was quick and dirty to launch), they really understood the problems. Fixed bugs due to database inconsistencies – instead, adopted modular, transactional units – taking 12 months to ensure consistency (half of that time writing tests). Enforced a strict API layer (so internal code also had to use the API as well as outside users). The auction functionality matured – multi-objective optimisation. You could now bid on all the actions you wanted.

Stage 3: Deeper lessons
Try things again, decouple concerns. In 2011, the world was moving to mobile, but ads didn’t work on mobile! They tested ads on mobile and it was a failure. Trying again with deeper knowledge helped to get it right. Decoupled concerns – an early design error was to have objectives and ad formats entangled. These were separated so that every format supported every objective and the code was independent. Dynamic Ads introduced – made the ad more suited to the person (‘customer segmentation’). Objective-based ad buying – do you want to increase adds to cart or checkouts?

Current problems
Scaling, fighting fraud, quality, malicious actors. Biggest thing has been to be adaptive, to change what they do to meet demand.

Ben Savage – Reducing Unintentional Clicks
Ben joined Facebook in 2013 – initially thinking it would be for a year or so, but has stayed because it’s a fun place to work!

Facebook has a long term view – they need their advertisers to be happy, getting return on investment and increasing their budget year-on-year. This enables Facebook to increase the sophistication of their offering – they used to bill by Clicks, now can model conversions.

Audience Network – the problem was that the value of a click was lower than that on Facebook news feed. They saw that the number of clicks reported was not well associated with the number of significant website sessions. Hypothesis – this poor conversion was due to unintentional clicks. This was frustrating for the users and reduced the value per click.

Tinder uses audience network for its ads. The click goes to Web View – so you can measure the time spent in the browser (before they go back to the launching app). At Facebook, Data Wins Arguments. If there are short sessions, it’s likely the click was unintentional. Could they remove the financial incentive to get these unintentional clicks?

Well, what if they stop billing advertisers for such clicks? Blogged that the company would stop billing for this, even though it reduced revenue, because it’s the right thing to do. As an engineer, that’s pretty rewarding. The hope is that advertisers would then re-design ads (such as removing active whitespace areas) because they wouldn’t count clicks for that anyway.

Wrap up
The panel answered questions from the audience. One development they would love to see is that, for users who allow mobile Facebook to track their location, associating showing an ad with the user physically visiting the store to make a purchase. Another feature that’s already available is “Why am I seeing this?” if you’re wondering why a particular ad was selected for you.

Leave a comment

Filed under Meetup, Technology

IET Meetup: A Cloud Enabled World, Neil Lewis (Hitachi)

meetup-cloud-enabled-worldThis evening’s presentation at the Institute of Engineering and Technology was sponsored by Hitachi on the subject of The Cloud.

As the Public Cloud is seeing explosive growth for modern internet based business and their web native applications, how can traditional IT originations with a more traditional IT landscape benefit from some of these trends whilst maintaining their legacy?

Neil Lewis explained that, despite years at the forefront of Data Services, Hitachi Data Systems is now re-positioning itself as a Cloud Solutions provider, rather than solely provisioning private infrastructure and software support to enterprises. Whether they can compete with Amazon Web Services or Microsoft Azure, time will tell – but Hitachi have decided to adapt rather than see their business model become irrelevant.
screen-shot-2017-01-11-at-21-02-13

Leave a comment

Filed under Meetup, Technology

Artificial Intelligence Primer, David Kelnar

IAmWire.com published this excellent post on artificial intelligence.

The last 10 years have been about building a world that is mobile-first. In the next 10 years, we will shift to a world that is AI-first.” (Sundar Pichai, CEO of Google, October 2016)

Having witnessed the scope of AI-based projects referenced at 2016’s Intel Software Developer Conference, it’s hard to argue. The range of disciplines that have been revolutionised in the last couple of years by deep learning is deeply impressive. Step changes in speech recognition and image classification have been shown and there’s massive potential for development in other areas such as medical diagnosis. Here’s what Deep Mind Medical have to say:

We think that machine learning technology, a type of artificial intelligence, can bring huge benefits to medical research. By using this technology to analyse medical data, we want to find ways to improve how illnesses are diagnosed and treated. Our goal is to help clinicians to give faster, better treatment to their patients and all our research work is done in collaboration with doctors and professional healthcare researchers.

There could be very few jobs that remain untouched by artificial intelligence in the coming years, but hopefully there’ll still be plenty of programming jobs.

Leave a comment

Filed under Technology

IET Meetup: Rosetta Spacecraft Seminar

Meetup - Rosetta SpacecraftI was thrilled when the IET announced that they were organising a seminar on the European Space Agency’s Rosetta mission. I’d followed the progress of the mission and the audacious landing of the Philae probe on the comet – it was fascinating to meet Paulo Ferri, the Operations Manager for the mission. Also speaking was Mark Bentley, Principal Investigator of the MIDAS instrument on board Rosetta.

Rosetta67P

I asked Paulo how the agency chose comet 67P as the target for the mission. Apparently, it wasn’t the original choice, but a failed Ariane rocket caused the mission to pause and the launch window for the original comet was missed. They re-examined the list of choices and given that Rosetta and Philae had already been built, the only other suitable comet for a mission of that type was 67P!

Leave a comment

Filed under Meetup, Technology

IET Meetup: Robots Helping People, Yiannis Demiris

IETLogo
Meetup - Robots helping PeopleProfessor Yiannis Demiris gave the latest Prestige Lecture at the IET. His work is truly inspirational – his research aims to develop robots that can help both children with disabilities and adults with chronic or mobility problems. A running theme throughout his talk was the need for the robot’s behaviour to adapt during the life of the relationship with the person – as the person learns a skill, the robot can lower its levels of assistance. Or, the robot can take the person to the next level, for example in therapeutic exercises or in gaming.
YiannisDemiris
The speaker heads the Personal Robotics Laboratory at Imperial College London, where he conducts research in personalised assistive robotic systems, with applications in healthcare, in-vehicle intelligence, and support for children and adults with disabilities.

Leave a comment

Filed under Meetup, Technology

BCS Meetup – The Trust Machine, Simon Taylor

BCS LogoThe BCS hosted a presentation by Simon Taylor of Barclays Bank.

Meetup - The Trust Machine

With the full potential of the uses of blockchain databases still yet to be discovered, there is a race, led by financial services, following the growth of Bitcoin, to find new, transformational business models that will exploit this technology.

Simon will explain that, while a Blockchain is just a kind of shared database, it is quite different because it creates a system of transparent, unalterable and permanent records of agreements. The impact of this is to allow all parties to organise themselves without fear of cheating. Simon will explain how cryptographic keys are used to create this trust, how it stops any single party from having more control than any other, and how, by allowing parties, for instance a buyer and a seller, to directly connect, it is seen as an opportunity and a threat by established trusted intermediaries, like his own organisation.

Simon covered a lot of interesting use cases in his presentation and shone light on the differences between bitcoin/blockchain as a technology. For example, this scenario was in his talk and on his blog:

Problem: When an investor comes to raise a Seed, things get messy, people fall out. Solution: Store this on a Blockchain at NASDAQ which has perfect time stamps, and digital signatures and no database administrator can edit the record without signatures of the founders. Could you do this with a database? Sure, but you’d lose that audit trail.

There are plenty of links to further reading on the blog post, 10 things you should know about Blockchains.  Also, What is the Blockchain and why should you care on Recode is worth a read.

Leave a comment

Filed under Meetup, Technology

F# Meetup – Microservices Chaos Testing

Meetup - Microservice Chaos TestingThis was the first event I’ve attended by the F#unctional Londoners group and the venue at Skillsmatter.com was excellent.

Some of the biggest growing pains we’ve experienced with our microservice architecture at Jet is in preparing for system outages.

In this talk, Rachel will discuss Jet.com’s chaos testing methods and code in depth, as well as lay out a path to implementation that everyone can use.

I haven’t used chaos testing in my own work, but in the world of distributed services, it makes sense to test the robustness of the system to failures on individual nodes. Rachel’s story was quite compelling, even if her own developers aren’t all convinced of the attractions of chaos testing on the production system just yet!

Leave a comment

Filed under F#, Meetup, Programming, Technology