Is it Winter today? (summary presentation)

We started out with an very basic business idea: Sell coats to cold people.

To maximise sales we needed to identify where in westeros the cold people resides and
we tought that shifting clima (like winter is coming) would give us an adventage.

To identify this shifting clima we deployed an IoT solution with tempearture sensors
throughout Westeros that and would help us react to the changes.

We also created a public webpage (isitwinter.today) where the people of Westeros could get answer to the question: is it winter yet? And we could identify buyers for our coats.

Basic buiness idea:

 

 

 

Based on this idea, we created a goal system architecture diagram:

But after spending a day on getting the CDS (Common data service to get up and run), we discovered that the functionality is not production (or in our case) development ready:

In CRM we loaded up with all the houses, members of the house and which region each house is a member of:

 

 

 

 

 

 

 

We created all the regions in CRM, where the each region has a temprature, threshold temperature and winter status:

 

 

 

 

 

 

 

 

 

 

 

When the temperature goes below the threshold. The region changes status to winter.

 

 

 

 

 

 

 

 

 

When a region gets status winter, there is an automatic job creating a marketing list of house members in the region. So that we can start a targeted marketing campaign:

 

 

 

 

 

 

 

 

 

 

 

We are currently monitoring all temperatures in Power BI and have maps showing the current temperature for each region:

 

 

 

 

 

 

 

 

 

 

 

 

To make sure that we still have customers, we did machine learning to calculate the churn based on data from Game of Thrones.

 

 

 

 

 

 

Unfortunatly, we were not able to do any projections where our customers actually survived.

As a second way into our webshop, we have the three eyed raven:

 

 

 

 

 

 

 

 

The three eyed raven is using cognitive services on our website: https://isitwinter.today:

 

 

 

 

 

 

 

 

 

 

 

 

 

To the services does targeted marketing on you and will show you to your correct categories of the webshop:

 

 

 

 

 

 

 

 

 

On the way there we used a lot of epic shit technology:

 

 

 

 

 

 

 

 

 

 

 

 

And remember: Don’t be Joffrey

High Performing Services using Azure Service Fabric

Integration and sharing of data has always been a challenge. There are many aspects that needs to be covered to answer the demands in today’s world of ATAWAD (Anytime, Anywhere Any Device).

To address this our integration backend is utilizing Azure Service Fabric. A platform that provides solutions to a lot of these requirements.

Availability

With a node architecture, and automatic scaling (if for example a node goes down, a new instance get provisioned on another node), we can ensure that our data is available all the time.

We also have the possibility to scale out if we notice that demands are high. This can also be scheduled so that we increase our capacity during peak hours.

We can support several versions of the same service, and with defined upgrade domains, a new roll out of functionality does not produce any downtime.

Security

To secure our data the credentials needed for the integration is stored in an Azure Key Vault. Something that ensures separation of duty, and that we make sure that the management of access is separated from development. No more accounts that have the same password for years, and no hard coded credential in source code.

The services itself utilizes Identity Management in Azure AD. We can present different versions to different types of users, or we can block certain endpoints completely.

Performance

Performance is crucial, and we need to make sure that we can deliver processed data to thin clients. We don’t want to deliver large datasets for processing to a tablet or phone, even though there are usually enough capacity to do so to a pc.

By using in-memory cache, and a Timer Function that trigger the backend to fetch and process data, we can make sure we reach those goals.

Data is processed by one node, and when the processing is complete this data is then sent to the memory of the other nodes.

All this means that when a call is being made to the backend, the result is presented with minimal latency, and for a user the experience is that it is almost instant.

Discovery

The API is using swagger for discovery. And it is very easy to get a feel for what data you will get back, and the datamodel, even by inexperienced consumers.

Well-formatted JSON makes it possible for Power Users to consume the data, and we make sure that the data is available for the right people, at the right time.

As Vesa stated during the Keynote; It is a great time to be a developer.

Live tempratures in CRM

We sell winter clothing, and winter clothing is best sold to cold customers.

To achive live temperatures we have done a setup with a wireless Node MCU card.

The card is connected to temperature sensors that are placed around Westeros.

Each sensor is read every 2. seconds, and sends data to a http service hosted by an azure function:

The azure function sends data to an Eventhub with several consumer groups. Each consumer group is connected to a stream analytics service.

The stream analytics service is sending messages to a service bus, where we have a logic app publishing this data to CRM.

This flow allows us to have a real time updated regions .

Dynamic winter targeted marketing

The night is dark and full of terrors!

Since we like our customers best alive, we will help them.

In CRM we have real time temperatures of all Westeros regions.

When the temperature is higher then the winter threshold, it is not winter, and our marketing list is empty.

When the temperature for that region drops, winter is coming:

And automatically our “The North” marketing list will be filled up with all our contacts living in that region, so that we can specially target these customers:

Increasing sales with the three-eyed raven

Understanding your customer, so you can provide the best matching offers, and increase sales is always a top priority. Therefor we have deployed three-eyed raven technology® on our customer facing website isitwinter.today.

The third eye is watching, identifies the visitor(s) and suggest the best offers matching offer(s), targeted to the audience.

Technology wise we are leveraging cognitive service and client side scripting to provide an efficient targeted marketing solution.

And as a footnote, since typescript, react, vue, etc. now is mainstream, everything is implemented in Vanilla JS (God we miss the hipster badge)

Are your house GDRP Compliant?

As a house of Westeros it is important to know if your house is GDPR compliant, and if you have control over your data.

We have created a Microsoft Form survey for you to take, to be able to score your GDPR Readyness.

The completing of the form will trigger a Microsoft Flow :The Flow will send your info to a custom CRM Entity, which we then can use to calculate your GDPR Readyness, and start a sales process specially targeted to help you reach full GDPR Compliance!

PowerApp – GDPR

GDPR states that users should be able to see what data we have stored about them, and to choose to delete or anonymize it. Unfortunatly, anonym is not an option in Westeros. You are either a person or a living dead.

Anyway, we have created a Powerapp listing all the contacts we have in our system:

 

The app is available for all customers and has a list with name and title. (OK, we know this should only be you!) If you want to see all the information about a contact click the contact for the detailed view:

The detailed view gives you the option to edit information:

Where you as a user could choose to be forgotten:

And since you are either dead or alive, you then actually became dead.. Shame..

The status “Forget me” Will trigger a CRM Workflow that will anonymize the user.

And tada, you exist no more:

This is then reflected all through our systems.