DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Low-Code Development: Leverage low and no code to streamline your workflow so that you can focus on higher priorities.

DZone Security Research: Tell us your top security strategies in 2024, influence our research, and enter for a chance to win $!

Launch your software development career: Dive head first into the SDLC and learn how to build high-quality software and teams.

Open Source Migration Practices and Patterns: Explore key traits of migrating open-source software and its impact on software development.

Related

  • Bringing Order to Chaos: How CloudFabrix Streamlines Work for Technology Professionals
  • Harnessing Integration Platforms To Unscramble the Data Mess
  • Simplifying SAP Data Integration With Google Cloud
  • 5 Best Practices for Data Warehousing

Trending

  • Leveraging Microsoft Graph API for Unified Data Access and Insights
  • Performance and Scalability Analysis of Redis and Memcached
  • PostgreSQL BiDirectional Replication
  • Partitioning Hot and Cold Data Tier in Apache Kafka Cluster for Optimal Performance
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. How Dgraph Cloud Can Assist Your Customer 360 Goals

How Dgraph Cloud Can Assist Your Customer 360 Goals

Successful corporations leverage a customer 360. Check out how Dgraph can provide top-notch analyses quickly and effectively.

By 
John Vester user avatar
John Vester
DZone Core CORE ·
Jun. 28, 21 · Analysis
Like (6)
Save
Tweet
Share
132.2K Views

Join the DZone community and get the full member experience.

Join For Free

Reaching the point where a project or initiative succeeds is exciting. However, the goal isn’t really to be successful. Instead, the objective is simply “wanting to be successful.”

Let’s use an example to put things into perspective.

Consider a scenario where you find yourself so excited after reaching an important milestone that you actually stop what you are doing to reach out to your spouse, friend, or loved one to share your most recent news. 

Did you get excited and want to reach out because of an easy opportunity that fell into your lap? Most likely, no. Instead, your excitement from the success is really the result of hard work paying dividends.

In actuality, the work started with an underlying desire to be successful. That trait was further ingrained in your soul and fueled by the passion of working on something you enjoy. With a solid foundation in place, a natural period of cultivation and refactoring led to you creating something of value that was completed successfully.

Regardless of what “it” is that was labeled “successful,” some ensuing customer bought into your passion and made the necessary connection to yield the partnership a “success.” I find it useful to think of “success” in the same way Pat Summitt described “winning.” Below is a paraphrased version of Summitt’s words, where I substituted winning for success:

“Success is fun … yes. But success is not the point. Wanting to be successful is the point. Not giving up is the point. Not letting up is the point. Never being completely satisfied with what you have done is the point.“ - adapted from Pat Summitt’s definition of “winning” 

Now the Hard Part Begins

While the thrill of riding the “endorphin high” and celebrating with others is an amazing experience, the reality is that the hardest challenges are now on your radar. You’ve won the customer … now the hardest part is keeping the customer.

You won this customer, ultimately, because they were interested in taking things in a new direction. While your product or service is amazing, it took action on the customer’s side to really start the sales process.  

So, what is keeping them from tossing your offering aside in favor of something newer?

Sound familiar?

What is a Customer 360?

The best way to maintain a successful relationship with your customers is to have a full understanding of your customer. This “complete view of the customer” is commonly referred to as a Customer 360.

It is important to note that a Customer 360—that complete view of the customer—is from your perspective. This view is more than having an understanding on who your customer is, but includes information such as:

  • interactions with your website or application services, using site tracking tooling

  • gaining an understanding of support tickets logged by representatives of your customer

  • monitoring of social media data

With a solid Customer 360 in place, you will naturally find yourself in the best position to meet the needs of your customer. This minimizes lost potential and closes the gap in understanding between you and your customer’s needs.

How Dgraph Cloud Provides Value

In prior articles, I have provided examples of how Dgraph Cloud (formerly Slash GraphQL) provides a top-notch service platform to meet your analytical needs:

  • Building an Amazon-Like Recommendation Engine Using Slash GraphQL

  • Tracking the Worst Sci-Fi Movies With Angular and Slash GraphQL

  • Using Slash GraphQL to Create InstaMeme—A Meme Sharing App

Building upon the knowledge I have gained in writing these publications, I believe Dgraph Cloud is ideal for building a Customer 360 view. Here are some reasons why:

  1. A graph database is the ideal choice for Customer 360 data, and Dgraph Cloud is the #1 graph database on GitHub.

  2. Dgraph Cloud provides everything you need to get up and running quickly; you just provide the schema and the data.

  3. Dgraph Cloud’s underlying architecture allows for continual iterations not only during the prototyping phase, but also as requirements change.

  4. Dgraph Cloud offers lambda resolves—which utilize standard JavaScript—to perform advanced operations that assist in data gathering, transformation, and analysis.

  5. Dgraph Cloud is designed to adapt to your evolving business demands in a manner which minimizes (or completely eliminates) downtime.

Using Dgraph Cloud for Customer 360


Consider the following illustration, which provides a high-level overview of input sources for a 360 view of the customer:

In this example, the customer interacts in the following manners:

  • Utilizes applications and websites for which you can track site analytics

  • Orders products from a catalog you maintain

  • Reviews products about you or your products

  • Creates support tickets when an issue arises

  • Joins loyalty programs in exchange for discounts or even free services

  • Mentions you or your products on social media

As noted earlier, these high-level examples represent the full view of the customer from your perspective. 

Data Integration and Transformation

A valid assumption is that each import source has data which is not in a graph database. In fact, most of these systems likely utilize a relational database, which is geared toward performing transactions … and performing them quite well.

The key is to transform the payloads from these data sources in a way that brings value to Dgraph Cloud and the resulting Customer 360. With this in mind, the original illustration can be refactored as shown below:

With this model in place, a simplified schema could be drafted as shown below:

TypeScript
 
type Customer  {
	id: ID! 
	name: String! 
      loyaltyPrograms: [LoyaltyProgram] 
      orders: [Order] 
	products: [Product] 
	supportTickets: [SupportTicket] 
	reviews: [Review] 
	siteDataResults: [SiteData] 
	socialMediaPosts: [SocialMedia] 
}

type LoyaltyProgram  {
	id: ID! 
	joined: DateTime! 
	level: Int! 
}

type Product  {
	id: ID! 
	name: String! 
	category: String! 
	price: Float! 
}

type Order  {
	id: ID! 
	products: [Product!] 
	amount: Float! 
}

type SupportTicket  {
	id: ID! 
	category: String! 
	status: String! 
	order: Order 
	product: Product 
	loyaltyProgram: LoyaltyProgram 
	summary: String! 
	created: DateTime! 
	lastUpdated: DateTime 
}

type Review  {
	id: ID! 
	product: Product! 
	rating: Int! 
	summary: String 
}

type SiteData  {
	id: ID! 
	category: String! 
	summary: String! 
	date: DateTime! 
}

type SocialMedia  {
	id: ID! 
	source: String! 
	tags: [String] 
	summary: String! 
	posted: DateTime! 
}

Dgraph Cloud In Action

Upon inserting some sample data into the schema (which would normally arrive via Dgraph Cloud-driven integrations with external systems), the Data Studio view in Dgraph Cloud presents a high-level view of the customer:

The Data Studio allows me to navigate through the data relationships with ease.  As an example, expanding the “siteDataResults” presents the following data:

These results could be from analytical data captured during usage of customer-facing websites and ecommerce solutions.

The following example query could be created using Dgraph Cloud:

TypeScript
 
query MyQuery {
  queryCustomer(filter: {id: "0x28caba09"}) {
    id
    loyaltyPrograms {
      joined
      level
    }
    orders {
      amount
      products {
        name
        category
        reviews {
          rating
          summary
        }
      }
    }
    siteDataResults {
      date
      category
      summary
    }
    supportTickets {
      category
      summary
      status
    }
    socialMediaPosts {
      posted
      source
      summary
      tags
    }
    name
  }
}

Using sample data, the results may appear as shown below:

JSON
 
{
  "data": {
    "queryCustomer": [
      {
        "id": "0x28caba09",
        "loyaltyPrograms": [
          {
            "joined": "2020-01-01T00:00:00Z",
            "level": 3
          }
        ],
        "orders": [
          {
            "amount": 20.25,
            "products": [
              {
                "name": "Chelated Magnesium",
                "category": "health",
                "reviews": []
              }
            ]
          },
          {
            "amount": 21.5,
            "products": [
              {
                "name": "A&I Formula",
                "category": "health",
                "reviews": []
              },
              {
                "name": "Micellized Vitamin D3",
                "category": "vitamins",
                "reviews": [
                  {
                    "rating": 5,
                    "summary": "Great product, excellent taste!"
                  }
                ]
              }
            ]
          }
        ],
        "siteDataResults": [
          {
            "date": "2021-05-26T00:00:00Z",
            "category": "faq",
            "summary": "loyalty program not working"
          },
          {
            "date": "2021-05-25T00:00:00Z",
            "category": "loyalty",
            "summary": "join loyalty program"
          },
          {
            "date": "2021-05-24T00:00:00Z",
            "category": "potential-sale",
            "summary": "added A&I Formula to cart"
          },
          {
            "date": "2021-05-24T00:00:00Z",
            "category": "potential-sale",
            "summary": "added Chelated Magnesium to cart"
          },
          {
            "date": "2021-05-24T00:00:00Z",
            "category": "potential-sale",
            "summary": "added Micellized Vitamin D3 to cart"
          },
          {
            "date": "2021-05-24T00:00:00Z",
            "category": "potential-sale",
            "summary": "added Buffered Vitamin C to cart"
          },
          {
            "date": "2021-05-25T00:00:00Z",
            "category": "lost-sale",
            "summary": "removed Buffered Vitamin C to cart"
          }
        ],
        "supportTickets": [
          {
            "category": "loyalty",
            "summary": "Not getting free shipping option",
            "status": "closed"
          }
        ],
        "socialMediaPosts": [
          {
            "posted": "2021-06-02T00:00:00Z",
            "source": "twitter",
            "summary": "Loving the way I feel taking Micellized Vitamin D3 everyday!",
            "tags": [
              "#companyNameGoesHere",
              "#vitaminD3",
              "#health"
            ]
          },
          {
            "posted": "2021-06-01T00:00:00Z",
            "source": "twitter",
            "summary": "Who has the best price on Buffered Vitamin C?",
            "tags": [
              "#vitaminC",
              "#health",
              "#buffered"
            ]
          }
        ],
        "name": "John Doe"
      }
    ]
  }
}

By reviewing this data, the following discoveries could be made:

  • While the customer is focused on healthy solutions, there is a strong preference for products that taste good.

  • The customer is not happy with the Buffered Vitamin C product.

  • There may be a bigger issue with being able to join a loyalty program and immediately using the free shipping option.

Conclusion

Starting in 2021, I began focusing on the following mission statement which I feel can apply to any IT professional:

“Focus your time on delivering features/functionality which extends the value of your intellectual property. Leverage frameworks, products, and services for everything else.”
- J. Vester

This mission statement provides direction and guidance on how best to reach the “success” interpretation inspired by Pat Summitt’s “winning” inspirational quote. Essentially: don’t lose your focus by trying to reinvent a solid solution which already exists.

Because “success” is tied to the desire to be successful, there is truly no end to this definition. In fact, one successful milestone is merely a signal to begin the next journey.

In this publication, we focused on maintaining the customer relationship—knowing it is a continual series of wanting to be successful. Using a Customer 360 approach provides multiple sources of data, helping you maintain a full view of the customer from your perspective.

Dgraph Cloud is an amazing SaaS solution which allows you to meet those needs. As a bonus, the service very much falls into my personal mission statement above by providing the platform for your feature teams to be successful.

Have a really great day!

Cloud Data integration ASSIST (computing)

Opinions expressed by DZone contributors are their own.

Related

  • Bringing Order to Chaos: How CloudFabrix Streamlines Work for Technology Professionals
  • Harnessing Integration Platforms To Unscramble the Data Mess
  • Simplifying SAP Data Integration With Google Cloud
  • 5 Best Practices for Data Warehousing

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: