A quick update on merchant feedback (icons and names)

Hey all,

A few of you have been asking why your suggestions for corrections to merchant icons, names and locations haven’t been being fixed in the last few weeks :frowning: Sorry! A few things came together that meant we were working on a new tool for it that depended on the platform migration. Now that’s done, we’ve (that’s the royal we :wink: ) discovered that we need to do some additional work to get it ready.

So…@daniel.cannon has now taken this on immediately so we can get back to fixing icons and names ASAP. If he has a chance, he might be able to give some technical details but the main priority is getting this back up and running. In a day or two, we should have a better idea of timelines that we can share.

Sorry again for the delays, I know it’s frustrating! Thanks for being patient and rest assured it’s now a priority :slight_smile: Please shout if you have any questions.

15 Likes

Thanks for the update Tristan

Any update on this? I have feedback outstanding from 26th July? :frowning:

1 Like

Thanks for update good work

Yep! We have good news :slight_smile: @daniel.cannon has been working furiously and we now have a working tool with literally thousands of feedback items :scream:

@natasha is coordinating a merchant data day on Thursday where all of the operations team and loads of everyone else will be burning through the tasks :slight_smile: So hopefully (!) we’ll have done lots of the updates in the next week :tada:

5 Likes

@daniel.cannon also hinted he might write a brief technical overview of what the issue was and what he’s been working on…anyone interested? :slight_smile:

2 Likes

Ohhh Yes :grinning: im intrested

Thanks for the nomination @tristan! (This post will likely be quite technical, however I will try to keep it informative for people who are not software engineers)

As @tristan mentioned there a couple of reasons why merchant feedback stopped working, one of the reasons was the way our tooling for reviewing all the feedback worked. Previously when reviewing a merchant we needed to be able to search the other merchants in case two merchants needed to be merged :mag_right: Back when we implemented the merchant review tool, we only had a few hundred merchants to review each month, and it was perfectly feasible to load all the merchants into memory. This worked reasonably well for quite a long time but as you can imagine it is not a very scalable solution and now that we have ~300k merchants in our database the page took a very long time to load :hourglass:

However that was not the main issue, once we migrated to our new platform (which runs all of our code on Kubernetes in containers) we started to see issues. This was due to the fact that the containers have what are called “resource quotas” which restrict how much of a computers resources (such as CPU and Memory) a given application can use. Some resources (such as memory) are what are called incompressible which means that if your application exceed the limits it will be terminated :boom: Now as you can imagine when we loaded the ~300k merchants into memory we quickly hit the new limits and caused our application to crash, luckily due to the micro-services architecture we use here at Monzo there was no impact to customers as the code that was causing issues was isolated from the rest of the system.

Now for the fix, I imagine many of you have been saying to yourselves “why didn’t you just use ElasticSearch??”, well you are completely right and that is what I have been working on for the past week. As of writing this post all of our merchant data is stored in both Cassandra (the single source of truth which is still used for powering your feeds) and ElasticSearch (which is updated asynchronously whenever a merchant changes). Now that all of the merchants are easily searchable it is trivial for our merchant review tooling to search for merchants without loading everything into memory and causing any of our services to crash :tada:

Sorry for the wall of text but I hope you found it interesting :slight_smile: If you have any further questions just ask!

15 Likes

Yes, very interesting. Thanks.

As promised! @natasha, @leah, @Ede and @jamesallison powering through feedback today with more people joining soon :slight_smile:

5 Likes

Hey!

Ive noticed with some of the logos on my feed have photographs of either the premise or something else vaguely related. Is there anyway we can make sure its only logos we are uploading? Some restaurants have a picture of a meal and some pubs have a weird picture of the outside. I know you get these from Twitter but wouldn’t it be best to only change them once?

Thanks
Jessy

Would it be fair to say that Monzo’s rich and contextual merchant database could become a useful proposition in itself in the future?

I’m thinking a PostcodeAnywhere type of thing for credit-card Merchants?

Looking forward to the great Taco Bell merge finally happening. :wink:
(To clarify, as of this post, the Lakeside and Chelmsford locations still have separate history but the same icon and name.)

[spoiler]
From the API, just in case this helps.
Lakeside:
merch_000095t394ICRnMJVqYlc1
grp_000095t394JGNpTCy7p6np

Chelmsford:
merch_000096Q9r4e3VcJEpvLXCD
grp_000096Q9r4lr2cOWLcUqp7[/spoiler]

Nothing has changed for me today on my feed. The oldest feedback is from 26th July

Updated a logo this morning and it’s fixed already :+1:t2::+1:t2:

How far will you be going back? I still have reports from the 29th July not resolved?

Hey James! We’ll be reviewing every single feedback submission. If the transaction is over a week old, you’ll need to tap the transaction in your feed to see the merchant data update :blush:

Opening up an old transaction didn’t seem to do anything to update the name or logo. However, a quick log out and back in seems to refresh the whole feed.

Logging out and back in also refreshed the old data for me too. Looks like most of my feedback has been dealt with :slight_smile:

Great tip thanks. Logged out and back in and hey presto, most of the items I’ve submitted over the last few weeks updated. Maybe an added option to clear the app’s cache would be nice to avoid having to do logout periodically for updates.