flights.json
Though much of the world is currently in lock-down and air travel is drastically reduced, the questions this post addresses are as relevant now as they will be once the people of the world again feel they can travel safely to be in one another’s company.
尽管目前世界上大部分地区都处于封锁状态,并且航空旅行已大大减少,但此职位现在解决的问题与世界人民再次感到他们可以安全地旅行成为自己的公司时一样具有现实意义。
Imagine the scene: you’re living your normal busy life, doing the day-to-day grind, and you realize you haven’t booked that flight for that trip you’ve got to take. Oh right, you may think, the holidays are coming up, I still need to book my flights. I bet flights cost a fortune already. We can relate. In fact, millions of people around the world can relate — flight pricing is tough to anticipate, including for many Google Flights users. Flight prices are subject to changes, inconsistent across sites, and hard to understand. As this video from CNN says, “It’s rocket science.”
我想像一下情况:您过着正常的忙碌生活,每天进行日常磨削,并且您意识到自己并没有为这次旅行预订机票。 哦,对了 ,您可能会认为, 假期快到了,我仍然需要预订航班。 我敢打赌,航班已经花了一大笔钱。 我们可以联系。 实际上,全世界有数百万人可以联系在一起-航班价格难以预测,包括许多Google Flights用户。 航班价格可能会发生变化,各个站点之间会不一致,并且难以理解。 正如CNN的这段视频所说 :“这是火箭科学。”
Identifying patterns in flight prices is tricky. They change a lot. According to some popular blogs, even on a single plane, a type of seat that sells for 100 dollars to one user can easily sell for 500 dollars to another user.
确定航班价格的模式非常棘手。 他们变化很大。 根据一些流行的博客 ,即使是在一架飞机上,向一个用户出售100美元的一种座椅也很容易向另一个用户出售500美元。
We at Google Flights thought that if we can put some of the data and smartness in the hands of our users, that could help them demystify what they’ll need to pay at a certain time for a certain flight. We hoped we might save our users time, stress, and maybe some money too!
Google Flights的负责人认为,如果我们可以将某些数据和智慧交到用户手中,则可以帮助他们揭开他们在特定时间段内需要为特定航班支付的费用的神秘感。 我们希望可以节省用户的时间,压力,也许还可以节省一些钱!
Our first stop was the Explainability + Trust chapter of PAIR’s People + AI Guidebook which provides a useful framework for thinking about these sorts of issues. Here’s what we came up with when we applied it to our unique challenges.
我们的第一站是《 PAIR的人员+ AI指南》的“ 解释性+信任”一章,该章为思考此类问题提供了有用的框架。 这是我们将其应用于独特挑战时想到的。
用户需求 (The user need)
In user study after user study, the Google Flights team kept hearing the same message: buying a plane ticket is nothing like buying a cappuccino. When searching for flights to new destinations, it’s difficult to estimate the fairness of a price, not to mention that prices can jump up or down in unpredictable ways, sometimes doubling or tripling in a matter of hours. And then you have to figure out the fee for checking your bags.
在经过用户研究之后,Google Flights团队不断听到相同的信息:买机票就像买卡布奇诺咖啡。 在寻找飞往新目的地的航班时,很难估计价格的公平性,更不用说价格会以无法预测的方式上涨或下跌,有时在几个小时内就会翻倍或翻三番。 然后,您必须弄清楚托运行李的费用。
It’s no surprise that flight shopping can be extremely stressful and emotionally taxing. We found that Google Flights users could fall into one of the following categories:
毫不奇怪的是,乘飞机购物会带来极大的压力和情感上的负担。 我们发现Google Flights用户可能属于以下类别之一:
The Gambler. These travelers are trying to game the flight pricing system to get a good deal. They find any kind of price insights in the Flights interface helpful, but might also bet against the predictions.
赌徒 。 这些旅行者正在尝试通过航班定价系统获得大量优惠。 他们发现,Flights界面中的任何价格见解都会有所帮助,但也可能与预测不符。
The Worrier. These travelers are much more concerned about getting a fair price, especially when they travel to a new place they have never visited before. They find price tips reassuring but are generally anxious about buying.
担心者。 这些旅行者更关心获得合理的价格,尤其是当他们旅行到从未去过的新地方时。 他们发现价格提示令人放心,但通常对购买感到焦虑。
The Dreamer. These travelers enjoy browsing flights to new and unfamiliar destinations, but it takes a lot of heartfelt commitment to take the leap and book a trip. These users might book if they could recognize a great deal when they see one.
梦想家。 这些旅行者喜欢浏览飞往不熟悉的新目的地的航班,但是要跨越并预订旅行需要很多衷心的承诺。 这些用户可能会预订,如果他们在看到书时能认出很多东西。
Of course, there are many more user types. But we found that almost all users compare prices across multiple sites trying to understand what influences flight pricing. We also found that users will frequently wait for as long as possible before booking, waiting until they develop a “gut feeling” for what is a good price for a given flight. This process could take anywhere from a couple of days to several months.
当然,还有更多的用户类型。 但是我们发现,几乎所有用户都在比较多个站点的价格,以了解是什么因素影响航班价格。 我们还发现,用户在预订之前会经常等待尽可能长的时间,一直等到他们对给定航班的合理价格感到“胆量”。 此过程可能需要几天到几个月的时间。
我们如何通过AI来解决这个问题 (How we approached this with AI)
Many AI products prioritize information over user needs. This approach typically leads to products that can give users specific insights into the intricate workings of ML models, showing confidence intervals and training data sources, but frequently run the risk of overloading the user with too much information. But does the user require all that additional information, or is the user just trying to figure out whether now is a good time to book or not?
许多AI产品都将信息置于用户需求之上。 这种方法通常会产生一些产品,这些产品可以为用户提供有关ML模型的复杂工作的特定见解,显示置信区间和训练数据源,但是经常会冒给用户过多信息的风险。 但是用户是否需要所有这些附加信息,或者用户是否只是想弄清楚现在是否是预订的好时机?
The engineering team built a model of flight prices to help users understand if the prices they’re looking at are high, low, or average. Our team also wanted to balance details and actionability by linking the details of our AI prediction with a specific action that users could take as the next step: should they go ahead and book or try changing some of the parameters of their search to find cheaper flights?
工程团队建立了一个航班价格模型,以帮助用户了解他们正在查看的价格是高价,低价还是平ASP。 我们的团队还希望通过将我们的AI预测的细节与用户下一步可以采取的具体行动联系起来,从而在细节和可操作性之间取得平衡:用户应该继续预订还是尝试更改搜索参数以找到更便宜的航班?
技术问题 (The technology problem)
The issue with predictions, and a common theme across AI-driven products, is that machine learning predictions can’t be 100% right all the time. After all, learning, by machines or humans, can’t happen without making mistakes. First, the predictions are specific to certain flights to certain places at specific times. Second, for some places, we don’t have enough pricing data to provide an accurate prediction of whether the price is fair or not.
预测问题以及AI驱动产品的共同主题是,机器学习预测不可能一直都是100%正确的。 毕竟,机器或人类的学习不可能不犯错误。 首先,预测特定于特定时间到特定地方的特定航班。 其次,对于某些地方,我们没有足够的定价数据来提供价格是否公平的准确预测。
So we knew it was important to help users make informed and better decisions by explaining where this data was coming from and what it relates to. We needed to allow users to:
因此,我们知道通过解释数据的来源以及与之相关的内容来帮助用户做出明智且更好的决策非常重要。 我们需要允许用户:
- Assess price ‘goodness’ today and in the future 评估当今和未来的价格“优劣”
- Keep track of the model’s predictions and check them 跟踪模型的预测并进行检查
- Make confident decisions about when to book 对何时预订做出自信的决定
While also making sure that they:
同时还要确保他们:
- Understand where our data is coming from 了解我们的数据来自哪里
- Get a feel for the general trends in flight pricing 了解机票价格的总体趋势
- Have reasonable expectations for the correctness of our predictions 对我们的预测的正确性有合理的期望
设计问题 (The design problem)
So, we started designing a new tool to help users understand whether the prices for a given flight are currently high, low, or typical, and help users learn market trends for similar trips. The team also developed a prediction model for how a price might change in the future. In order to make this information clear to both frequent fliers and twice-a-year travelers we needed to sort out how people decide to book.
因此,我们开始设计一种新工具,以帮助用户了解给定航班的价格当前是高,低还是典型,并帮助用户了解类似旅行的市场趋势。 该团队还开发了一个预测模型,用于将来价格的变化。 为了使常旅客和一年两次的旅行者都清楚知道此信息,我们需要弄清人们如何决定预订。
At one point, we thought we should pivot to a more directive approach, hiding the complicated calculations we were doing in the background, and just giving the simple conclusion, such as, “Today is a good day to book.” But when we tested this approach in our research, users expressed that this was salesy, upsetting, and not trustworthy.
有一次,我们认为我们应该转向一种更具指导性的方法,隐藏我们在后台所做的复杂计算,并给出一个简单的结论,例如:“今天是美好的一天”。 但是,当我们在研究中测试这种方法时,用户表示这是销售,令人沮丧且不可信的。
That was a no-go for us, because Google Flights only works because people trust it. So we knew this wasn’t the right balance of information and actionability. To start setting some guide rails for further iterations, our team came up with three design principles for price intelligence in Flights. Any price insights we surfaced to users would have to be:
这对我们来说是不行的,因为Google Flights仅因为人们信任它而起作用。 因此,我们知道这不是信息和可操作性之间的恰当平衡。 为了开始设置一些导轨以进行进一步的迭代,我们的团队提出了三种针对航班价格智能的设计原则。 我们向用户展示的任何价格洞察都必须是:
Honest
诚实
Actionable
可行的
Concise, yet explorable
简洁但可探索
There are two things that we were explaining to the user in this interface:
我们在此界面中向用户解释了两件事:
Whether the price was high, medium, or low
价格是高,中还是低
- How confident we were that prices might change in the near future. 我们对价格可能在不久的将来发生变化的信心如何。
So how could we explain the ML model output in a way that is actionable and compelling, but also accurate?
那么,我们如何才能以一种既可行又引人注目的又准确的方式来解释ML模型的输出呢?
我们的解决方案 (Our solution)
We used multiple design elements to explain the price insight and foster trust.
我们使用了多种设计元素来解释价格洞察力并建立信任。
- A price ‘goodness’ indicator, with the corresponding descriptions of ‘high’, ‘typical’, or ‘low’. 价格“好”指标,以及对“高”,“典型”或“低”的相应描述。
- A single-line explanation of the usual price for a trip like the one the user is planning. 单行解释行程通常价格的方式,例如用户计划的价格。
- Prediction text, saying whether prices are likely to go up or not go down. 预测文本,表示价格可能上涨还是下跌。
- An info icon that opens an explanation bubble with text explaining what data sources were used to compute the insight. 一个信息图标,将打开一个说明气泡,其中包含说明使用哪些数据源来计算见解的文本。
The wording of the text we used had a significant impact on user comprehension during our research studies. This is why we focused it down to make it as compelling and actionable as possible, while still allowing users to explore the data backing it up. Using progressive disclosure with the info icon was extremely helpful, but so was iterating on what words we used, whether or not we would show confidence, and if so, how.
在我们的研究过程中,我们使用的文字措词对用户的理解力产生了重大影响。 这就是为什么我们专注于使它尽可能引人注目和可操作,同时仍允许用户浏览支持它的数据的原因。 使用带有信息图标的渐进式披露非常有帮助,但是反复使用我们所用的单词,是否显示信心以及如何显示也是如此。
模型置信度显示 (Model confidence displays)
Unintended consequences of radical transparency
根本透明的意外后果
At first, we attempted to show the likelihood that a price would go up or down in a very specific way. We tested out wording similar to the following: “Prices are unlikely to drop and there’s a 75% chance they’ll increase by $17 in the next 5 days.” This is what we might call radical transparency — that’s a lot of information for a user to process before making a decision. But we felt it was better to tell them everything and let them make the call on their own.
首先,我们试图显示价格以特定方式上涨或下跌的可能性。 我们测试了类似于以下内容的措辞:“价格不太可能下降,并且在接下来的5天中有75%的机会将价格提高17美元。” 这就是我们所谓的根本透明-这是用户在做出决定之前需要处理的大量信息。 但是我们觉得最好告诉他们一切,让他们自己打个电话。
Turns out, people are very optimistic about their chances. Even when you say “85% likely to go up in the next 2 days” some users interpreted this as “15% likely to go down eventually,” and they liked those odds. Other times users wouldn’t do the math, or couldn’t understand it, so they substituted a simpler question in their mind. They asked themselves: “Can I afford to spend $50 on putting off booking for 3 days?” If yes, then they would hesitate to book.
事实证明,人们对机会非常乐观。 即使您说“未来两天可能上升85%”,一些用户也将其解释为“最终可能下降15%”,他们也喜欢这些赔率。 有时用户不会做数学或无法理解数学,因此他们在脑海中替换了一个更简单的问题。 他们问自己:“我能负担得起50美元的延期3天预订费用吗?” 如果是,那么他们会犹豫预订。

我们学到了什么 (What we learned)
We decided not to show confidence as percentages because people either didn’t read them or didn’t understand them for flight prices. We decided if we aren’t super confident — 90% or higher — we wouldn’t show a prediction at all. “Medium” confidence predictions were confusing and not actionable. When we were confident in the prediction, we used much simpler wording: “likely to go up” or “not likely to go down”.
我们决定不以百分比显示信心,因为人们要么不阅读它们,要么不理解航班价格。 我们决定是否对90%或更高的状态没有超级自信-我们根本不会表现出预测。 “中等”的置信度预测令人困惑,无法采取行动。 当我们对预测充满信心时,我们使用了简单得多的措辞:“可能上升”或“不太可能下降”。
To make sure our price insights were communicating the right message, we decided to complement each price insight with an additional price history data visualization. You can read more about graphic-based indications of certainty in the Explainability + Trust chapter of the People + AI Guidebook.
为了确保我们的价格洞察力传达正确的信息,我们决定通过附加的价格历史数据可视化来补充每个价格洞察力。 您可以在《 People + AI指南》的“ 解释性+信任”一章中阅读有关基于图形的确定性指示的更多信息。
Now for some flights we show users how the price has changed over the past few months and notify them when we predict that prices may go up soon or won’t get any lower. This feature performed really well in usability tests so we launched it to the public in August 2019. When people saw the price history graph and expressed satisfaction in what they were seeing, we knew we were on the right track.
现在,对于某些航班,我们向用户展示了价格在过去几个月中的变化情况,并在预测价格可能很快上涨或不会进一步下跌时通知他们。 该功能在可用性测试中表现非常出色,因此我们于2019年8月向公众发布了该功能。当人们看到价格历史记录图表并对所看到的内容表示满意时,我们知道我们走上了正确的道路。

On top of this, we wanted to signal to users that, based on our predictions, we were confident that they were booking at the lowest possible price. In late summer 2019, we piloted a price guarantee program in the US that showed a badge on flights when we were very confident the price wouldn’t drop any further — the cheapest available deal. After the user books, we kept tracking the price of the flight, and if it dropped against our original prediction, we paid them back the difference. In user research we found that the feature gave users more confidence to book, making flight shopping a less stressful experience overall.
最重要的是,我们想告知用户,根据我们的预测,我们相信他们将以最低的价格预订。 在2019年夏末,我们在美国试行了一个价格保证计划 ,该计划在航班上显示了徽章,这是我们非常有信心价格不会进一步下跌时(最便宜的交易)。 在用户预订之后,我们会继续跟踪航班的价格,如果价格与我们最初的预测相悖,我们会退还差价。 在用户研究中,我们发现该功能使用户更有信心进行预订,从而使乘飞机购物的总体压力降低。
With price guarantees, we were able to align feedback with model improvement and give users important signals about our prediction confidence. You can read more about this in the Feedback + Control chapter of the People + AI Guidebook.
有了价格保证,我们就能使反馈与模型改进保持一致,并向用户提供有关我们的预测信心的重要信号。 您可以在《 People + AI指南》的“ 反馈+控制”一章中了解更多信息。

(分离)词 ((De)parting words)
You know how flight prices are unpredictable? We’re trying to fix that by giving users a better understanding of what happened to these prices in the past. We found that these three strategies were most helpful in the design of price insights in Flights:
您知道航班价格如何变幻莫测吗? 我们正在尝试通过使用户更好地了解过去这些价格所发生的情况来解决此问题。 我们发现以下三种策略对设计Flight的价格洞察最为有用:
Articulate data sources: Telling the user what data are being used in the AI’s prediction helped our product team avoid contextual surprises and privacy suspicion, and helped the user know when to apply their own judgment.
明确的数据来源 :告诉用户AI预测中正在使用哪些数据,有助于我们的产品团队避免出现上下文意外和隐私怀疑,并帮助用户知道何时应用自己的判断。
Experiment with different confidence indicators: Showing model confidence in categorical buckets and visual graphs helped us to give users relevant information about flight prices in a way that was easy for them to understand.
使用不同的置信度指标进行试验 :显示模型对分类存储区的置信度和可视化图形有助于我们以易于理解的方式向用户提供有关航班价格的相关信息。
Account for unexpected user behaviours: Conducting user research early and frequently helped us anticipate any unintended consequences of detailed explanations, helping the product team to change our communications approach and bolster user trust.
应对意外的用户行为 :尽早进行用户研究并经常帮助我们预期详细解释的任何意料之外的后果,从而帮助产品团队改变我们的沟通方式并增强用户的信任度。
Building ML products is hard. But sometimes the hardest part is communicating what your ML does to the user in a way that is both accessible and useful. If and how you offer explanations of the inner workings of your ML system can profoundly influence the user’s trust in your system and the ML’s usefulness in their decision-making. This applies to flight shopping as much as it does for any other human activity.
建立ML产品很难 。 但是有时最困难的部分是以一种可访问且有用的方式向您传达ML所做的事情。 您是否以及如何提供对ML系统内部工作原理的解释会深刻影响用户对系统的信任以及ML在决策中的用处。 这与任何其他人类活动一样,适用于购物。
Authors: Slava Polonski, UX Researcher at Google and Roxanne Pinto, UX Writer at Google.
作者: Google UX研究员Slava Polonski 和 Google UX Writer Roxanne Pinto 。
Editor: David Weinberger, Writer-in-Residence at Google
编辑: Google驻地作家 David Weinberger
Originally written for Google’s People+AI Guidebook Medium Channel on May 22, 2020.
最初于 2020年5月22日 为 Google的People + AI Guidebook Medium Channel 编写 。
flights.json