community
cancel
Showing results for 
Search instead for 
Did you mean: 

Alteryx Designer Ideas

Share your Designer product ideas - we're listening!
Upgrade Alteryx Designer in 10 Steps

Debating whether or not to upgrade to the latest version of Alteryx Designer?

LEARN MORE

Alteryx workflows to run in Java...

Idea:

As a method of deploying preprocessing and ML models it would be awesome to be able to convert a workflow to java... 

 

Rationale:

models are needed to be deployed into Complex event processes or decision systems. Even for SAS there is a need to implement the datastep algorithms and procs to run in JVM.

 

 

Quickwin:

It is possible to convert a workflow into a PMML file and then use JMML package to convert that to Java. Yet the full workflow with all preprocessing alternatives and a series of ML methods may not be captured fully.

 

Competitor example:

For SAS case here is a similar solution: http://www.dullesresearch.com/carolina-features/

4 Comments
Alteryx Certified Partner
Alteryx Certified Partner

Can you expand on the use-case here? Is this to run in other systems? I'm not sure of the business need to run Alteryx modules in Java?

 

What is the underlying rationale? It's likely there are other options than running in Java, and explaining the underlying objective or benefit will help Alteryx (and the community) see the need and potentially vote up your idea (or let Alteryx provide a better alternative). 

Alteryx Partner

Hi Chris, 

You are righ on the need for more elaboration... I worked for Experian sometime and had some relationship with complex event processing. Let me provide you a few examples how the businesses use CEP;

 

In Banks: we do realtime risk analysis and assess 100's of customers in parallel, in realtime, for credit lending or credit card issuing. How we do it, clients SMS their social security number, we gather data from various sources like the bank internal database, credit bureau, utility bureau, social networks etc. in miliseconds and then score that person, decide if we are going to lend money and if we are to do so how much credit limit will be assigned. After that we inform the customer through sms/mms or by e-mail immediately on the decision.

 

In Telcos: When one makes a call, we perform real-time call detail record (CDR) monitoring to assess if that is a fraudulent call... or to assess credibility of the customer to extend it's prepaid calling capability as an airtime advance (just like assigning an overdraft limit in a bank) 

 

IT and manufacturing: we collect multiple sensory data and in real time to assess the risk of breakages. Idea is to optimize utilisation so that with timely preventive maintenances (changing hard drives in a data center or tooling in a manufacturing shop) we fix issues beforehand of a problem occuring and creating srap and delays...

 

E-commerce: We gather real-time device data of the client in order to understand the make and model of the computer or smartphone and assess the affordability for a certain product in order to provide a next best offer...

 

For all these cases there is online data pre-processing, joining streaming data with a current database and running a scoring algorithm either as an sql for a decision tree or an algebraic equation for a regression or worse a code for neural network, all run on the fly. 

 

So Alteryx obviously is not a decisioning tool. In order to deploy workflows on to such systems either one needs to code everythig from scratch by migrating whatever has been done on Alteryx, written in R. Or we can package it as a java app and run it everytime a new task is created, a new client wanted a credit, somebody logged in to an e-marketplace etc.

 

An obvious alternative is PMML coding though it does not yet include all the aspects of an alteryx workflow...

 

The website of Carolina has much more insights on the need as well.

Best regards and thank you for your interest in the idea... hope to discuss with you more...

 

Altan

Alteryx Certified Partner
Alteryx Certified Partner

I think it's important to split out waht is possible now vs what is not possible

 

Possible

 

  • Live decisioning via an Alteryx app in seconds, using input from a user (say an operator in a call centre) or via a scheduling process running against a database
  • In your banking example above using SMS / email to return a result this would be more than adequate - clients don't expect an email back in miiliseconds
  • Scoring out next best actions against a limited range of options e.g. in your "Phone \ Tablet next best offer" above this could be scored nightly rather than being done in realtime, ditto with your example of hard drives about
  • Model Production and deployment of the "R" model for use against R code directly in-DB 

Not possible 

 

  • decisioning in milliseconds, e.g. live on a webpage using user info to decide which advert to display
  • real time streaming

Whether Alteryx have an appetite to venture down the latter "not possible" route is interesting, my opinion is there are well-established solutions that do this well. Given Alteryx's push to create easy to use Analytics for LoB users I cannot see them venturing into this space any time soon. This is an area where you need established "coders" to do the work of getting a very performant datasource, query and process - it's unlikely Alteryx see themselves in that space.

 

Note these opinions do not represent Alteryx on any level, I'm merely giving my opinion as a user. 

Alteryx Partner

Thanks for the reply Chris, certainly I agree that Alteryx shouldn't jump into real-time decisioning software business where

FICO, Experian, SAS are great providers available worldwide and now there are some open-sourse versions comng with apache spark and storm...

 

But exporting workflows to these systems seem to require many IT people as well...

I'm just saying that idea is to quicken integration of models created in Alteryx into their environs by easing model deployment...

 

The idea is not essentially learning online from streaming data yet... just running the scoring algoritms online and thus embedding codes into decisioning seemlessly...

 

Regards