top of page

Graph Feature for
DataVisor's Feature Platform

Relaationship Feature.png

Intro

Graph features provide a way for customers to build complex features that are based on graph engineering - a technique to store and compute relationships across a network of nodes. Today many commonly used products such as search, page rank, AI-based Q&A uses various graph feature engineering techniques.

PROJECT YEAR

PROJECT GOALS

DESIGNER

CLIENT

Feature Research

Low Fid & High Fid

Mockups

Parinitha Marnekar

DataVisor

2022

Problem

In the fraud detection space, supporting graph feature engineering is nascent. DataVisor’s plan to support graph feature engineering should meet the market needs for building complex detection logic efficiently and strengthen its market leader position in innovation in the fraud and risk management space.

Solution

We will have two new operator categories: Relationship, and Graph. Both categories will be supported by graph engineering. Relationships will target less technical users with a more natural business-terms-based UI limited to three degrees of relationship. The graph will target more technical users and allow any number of degrees with a graphical user interface that resembles a graph with nodes and edges.

TECH STACK USED

BALSAMIQ

FIGMA

JIRA

Understanding the Requirements

Building the relationship feature required a lot of back and forth with the Product team - The Product Manager, the UI team, and the back-end Engg team. It was important for us to first lay out what is needed to build this feature.

BUILDING A RELATIONSHIP

IMAGE1.png

Users will be able to build relationships between 4 entities. The first is the source (origin) and the last is the destination (target). The user will be able to choose event types specific to each entity. eg. card_number.

Once the user chooses the source entity from a dropdown list, they can choose the destination entity. This should be different from the source entity or an error message will pop up.

Artboard.png
Artboard Copy.png

The user has the option to add another entity to the end. If the user adds another entity, this second entity becomes an intermediate entity while the last one (the third) becomes the destination.

CONFIGURING THE RELATIONSHIP

The user will need to configure the relationship by selecting the Operator. We will support All, Last, First, LastN, FirstN. If the user selects All, LastN, or FirstN, they will need to specify the limit.

 

By default the option “Only unique values will be included” is selected. But the user can unselect it.

Artboard Copy 2.png

The option “Return empty if the actual count is greater than___” allows the user to enter a top value beyond which the relationship would be considered too common to have any significance, for example, Gmail domain. The user can enter an integer. If the actual value is greater than the user-specified value, the feature will be set to Empty.
 

The user can also specify the time window and conditions here. 

If the operator is First or Last, the Time Window option will be removed by default. 

BUILDING AN EXAMPLE

To understand how the user can build the relationship between features, we constructed an example below.

We assumed that the user will want to build and 3 hop relationship with the source as card_number and the destination as the snn of all users who have the same master_account_id and phone_number.

Artboard Copy 6.png

This relationship can only be built in a step-by-step manner. This means the user will have to think through the entire flow before building the relationship.

In phase 2, we will make the entities moveable so that the user can move the entities around to create the flow he/she wants without having to delete the entities and re-build them.

Banner - 1.png

Project Objective

An easy and convenient way to build relationships between 2 or more entities and to get a source to destination list.

BUILDING LOW FIDELITY MOCK-UPS OF THE DESIGN

The initial low-fidelity mockups were built in conjunction with the Product Managers and CPO. This gave me a good outline to create in-depth designs keeping the design system in mind.

ITERATION #1

ITERATION #1.png

In this iteration, we got a lot of good feedback from the Engg and Product teams.

  • One of the major feedback was that the selection boxes do not seem connected to the entities.

  • Also, the layout seems a bit misleading since we have to configure the relationship and not the entity itself.

  • Giving an option to add filters

  • All this feedback was taken to create more iterations.

ITERATION #2

ITERATION #2.png

This iteration had some great feedback as well

  • One of the major ones was if the user will be able to relate the build relationship section to the configure relationships section. It is possible that the user will not know that they will need to configure the relationship. Building it another way may help the user relate it better. We looked into creating it as a tab feature. See final design below.

FINAL DESIGN

🟢 Done   ⟶  Relationship (2).png

This is the final mock of the design. As you can see, the tab feature works really well here. The user can toggle between tabs as they configure the relationships between entities. 

NEXT STEPS

The next step in the design process is to design how the page will look once the relationship feature is created. The user should be able to export lists, nodes, paths or link properties. Below is the preliminary design of how it might look.

Screen Shot 2022-03-06 at 7.36.41 PM.png

Learnings from the Project

The design process for this project required a lot of research as the concept was very new to the fraud space. There was not much competitive research to be done but we did look at the concept being used in other products and used our learnings in building this new feature in the Feature Platform.

The feedback process was closely followed to allow all teams to bring forth their concerns about the design so that the feature can be built with all the feedback in mind. This feature will have a lot of improvements in the future through similar iterative processes.

bottom of page