CiviCRM Community Forums (archive)

*

News:

Have a question about CiviCRM?
Get it answered quickly at the new
CiviCRM Stack Exchange Q+A site

This forum was archived on 25 November 2017. Learn more.
How to get involved.
What to do if you think you've found a bug.



  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Sector / Interest groups »
  • Fundraising Donor Journeys with CiviCRM »
  • Automating donor journey by combining civiCRM with RapidMiner Server (?)
Pages: [1]

Author Topic: Automating donor journey by combining civiCRM with RapidMiner Server (?)  (Read 4007 times)

ilja

  • I’m new here
  • *
  • Posts: 11
  • Karma: 2
  • A passioned fundraiser and a data analytics freak
  • CiviCRM version: 4.2
  • CMS version: Drupal 7.15
  • MySQL version: MySQL 5.5.25
  • PHP version: PHP 5.3.14
Automating donor journey by combining civiCRM with RapidMiner Server (?)
March 06, 2014, 01:11:08 am
Hi guys,

As promised a second post - basically to update you on what I'm doing that could advance stuff for us all.

At our unconference Erik presented some issues in standard civiCRM concerning automating donor journeys. I' list them again for you:
* Not possible to search on 'not member of group' in Advanced Search
* Group search in Search Builder does not work as expected, when combining 'in group' and 'not in group’
* Scheduled Reminders can only be used for mails
* Using activities to distinguish results in a huge list
* No UI to set up Donor Journey
* Households vs. Individuals conflict with workflow for payment driven communication
* Automatic group movement?

I was thinking that several of these issues are covered with functionalities in RapidMiner, data data analytics / data mining software I use, for sure in it's server edition. (have a look at www.rapidminer.com. it is at least to a certain degree open source as well)
* RM has large functionalities to filter records, do advanced calculations to create new attribtution, do some modelling on data... that could be an answer to some of the search issues.
* RM server has the functionality to set up an analytical process (for example defining in what stage of the donor journey a donor is) and set cron jobs to run this process on a regular basis.
*  RM server has the capacity to import data from a CRM system and to send results back to the CRM system, or to send (email) a results list to somebody (a TM-agency for example)
* RM has a nice user interface allowing non programmer like my to design an analytical script by just drag and drop (but it does take some time, and you have some learning time needed)

So at Amnesty Flanders I made or famous IT-guy George install the RM server software and connect it to our civi-data. I'm now test how they both communicate and what in reality I could do with it.

Soon I'll have more contact with civicoop and the people of RM do go through this all in detail. If it all works, the RM server could play a role as the engine to enable automated donor journeys.  ;)

I'll keep you posted.

In attach a drawing of mine on how I see civiCRM and RM server working together in automated donor journeys...

Greetings,
Ilja

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
March 10, 2014, 12:51:32 pm
Good stuff Ilja, thanks for sharing!
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

ilja

  • I’m new here
  • *
  • Posts: 11
  • Karma: 2
  • A passioned fundraiser and a data analytics freak
  • CiviCRM version: 4.2
  • CMS version: Drupal 7.15
  • MySQL version: MySQL 5.5.25
  • PHP version: PHP 5.3.14
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 03, 2014, 01:42:48 am
Just to update on this:

I finished the biggest part of testing and what I initially had in mind seems working:
I can pull out data from civi, do some fancy geeky dataporn with it and send the result back to civi (for example as a new group or tag). Sending back to civi does still need some optimisation but it works.

So I now start building real analytic processes supporting donor journeys. Exiting ;-)

Greetings,
Ilja

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 03, 2014, 02:14:55 am
How do you send back data to civi? directly at the db level? using the rest interface? ...
-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 03, 2014, 02:39:30 am
At the moment Ilja is sending it directly to the database, which IMO is not the best option. I would prefer Ilja to use the REST API but we need to check if RapidMiner allows that.
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

JEdward

  • I’m new here
  • *
  • Posts: 3
  • Karma: 1
  • CiviCRM version: NA
  • CMS version: Drupal
  • MySQL version: 5+
  • PHP version: NA
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 07, 2014, 03:48:50 am
Thought I'd chime in, I was browsing the internet to solve a different problem and saw this post. 

Yes, you can use a REST API with RapidMiner (especially the server version). 

I've built a number of processes that do exactly this (although not with CiviCRM specifically) and it's very straightforward.  If you need any pointers I'd happily point you guys in the right direction. 

I'm sure you've already come across webservices on RapidMiner already so know that you can also trigger this whenever you need rather than simply a batch schedule (depending on your need). 
So, for example within CiviCRM you'd fire call to the RMServer webservice with a parameter of a MemberURN, RM then fires a query to the CiviCRM REST API requesting additional data regarding that member (using the URN you pass), it then scores the member based on your data model and updates CiviCRM with this score by passing it back using another REST API call. 
All very doable. 

You can normally find me lurking around the RapidMiner forums with this username too. 

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 07, 2014, 03:51:17 am
Thanks for the feedback JEdward!
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

JEdward

  • I’m new here
  • *
  • Posts: 3
  • Karma: 1
  • CiviCRM version: NA
  • CMS version: Drupal
  • MySQL version: 5+
  • PHP version: NA
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 07, 2014, 07:50:28 pm
No worries,  ;) I'm a fan of the work that Amnesty does and would like them to be successful in their goals. 

If I get free time from the day job then I'll make a start on some sample RapidMiner processes based on the CiviCRM REST API docs and Ilja's donor journey pdf.  Are there any specific calls that I should look at immediately?  (login, search contact & update contact are three that I note from the V2 docs).
Also, if you've any updated API (V3?) documentation feel free to email it across. 

Best,
John.

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 07, 2014, 11:25:39 pm
John,

great if you want to contribute!! The best API documentation is on the Wiki: http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
The idea is that the data analysis is done in RapidMiner and donors are then placed in CiviCRM groups which deal with the donor journeys. So the API's to have a go with are the GroupContact API's. Probably this is stuff you know but just in case:
Use <your civicrm site>/api/doc to get to documentation on what parameters to use
Use <your civicrm site>/api/explorer to try the specific API call you need and see what it should be in code
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

xavier

  • Forum Godess / God
  • I’m (like) Lobo ;)
  • *****
  • Posts: 4453
  • Karma: 161
    • Tech To The People
  • CiviCRM version: yes probably
  • CMS version: drupal
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 08, 2014, 01:05:56 am
John,

In which language do you need to write the rapidminder process?
It might be worthwhile writing a separate lib that provides a simple function crmAPI that takes an associative array as the param and returns the entities as a result and that hides the complexity of the rest call under.

For instance for node.js (in javascript)
https://www.npmjs.org/package/civicrm

or api/v3/class.api.php (in php)

-Hackathon and data journalism about the European parliament 24-26 jan. Watch out the result

JEdward

  • I’m new here
  • *
  • Posts: 3
  • Karma: 1
  • CiviCRM version: NA
  • CMS version: Drupal
  • MySQL version: 5+
  • PHP version: NA
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
July 10, 2014, 11:22:30 pm
Hi Xavier,

Node.JS is great, I'm just starting to learn JQuery to help improve my skills, but with this it would all be done with no coding needed; it would all be written directly as a RapidMiner processes (each API call would be a separate process) which can then be called from other processes and fired by the RapidMiner server in batches or as a webservice. 
It's something I've done many times already to integrate various ESPs, Facebook & Twitter data into RM. 

It's possible to code extensions & scripts for RapidMiner when needed, but I don't think it's necessary here.  Particularly as, should the API ever change, there are more people who know how to read a RapidMiner process and debug it to help keep the CiviCRM-RM process updated than there are people who can keep the code of a RapidMiner extension updated. 

Erik,

What I'll do (as I'm pretty pressed with the day job) is build the basics alongside instructions for use and how to build more calls and then post it either directly here or via a file sharing link which you can then download and import onto your test system and once you're happy and comfortable with it, you can then integrate it into Amnesty's RM processes. 

However, I've not got access to a CiviCRM implementation and will build this on my laptop.  It should be possible from the briefly reading the documentation to build it blind by using the example outputs, etc, but I would prefer to have something I can test.
Do you or anyone else have an API key and server details for a demo or unused installation that I can build the process on for testing? 

Best,
John.

ilja

  • I’m new here
  • *
  • Posts: 11
  • Karma: 2
  • A passioned fundraiser and a data analytics freak
  • CiviCRM version: 4.2
  • CMS version: Drupal 7.15
  • MySQL version: MySQL 5.5.25
  • PHP version: PHP 5.3.14
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
September 08, 2014, 03:03:22 am
Hi guys,

An other update: basically to let you know I did manage to set up an API call from RapidMiner server to civiCRM.

The dream of doing some advance analytics to determine and update the status of a donor in his/her donor journey now technically came trough. It is actually quite easy to set up (unless you are that stupid as me to confuse "api_key" and "key"...

That basically wide opens the gate to integrate in donor journeys information from data mining processes such as churn prediction, anomaly detection, relationship scorings, clustering and profiling, webcrawling...  Al types of information that could run regulary with cron jobs to feed the MAF/civicoop civi trigger action to send automatic messages to specific groups.

So I'm a happy fundraising analyst these days...

I'm present some of this stuff at civicon in London... See you then.

Ilja

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
September 08, 2014, 05:21:24 am
Really cool and exciting news Ilja!
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

Masked Marauder

  • I post occasionally
  • **
  • Posts: 30
  • Karma: 1
  • \__^..^
  • CiviCRM version: 4.5.5
  • CMS version: drupal-6.34
  • MySQL version: 5.5.40-36
  • PHP version: 5.4.34
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
September 11, 2015, 01:19:29 pm
Very interesting.  We're just now getting to the point of contemplating something like this, but haven't started yet.

Has there been any progress in the year since this last message?

  JE

Erik Hommel

  • Forum Godess / God
  • I live on this forum
  • *****
  • Posts: 1773
  • Karma: 59
    • EE-atWork
  • CiviCRM version: all sorts
  • CMS version: Drupal
  • MySQL version: Ubuntu's latest LTS version
  • PHP version: Ubuntu's latest LTS version
Re: Automating donor journey by combining civiCRM with RapidMiner Server (?)
September 12, 2015, 04:01:36 am
Yes there has been progress, but Ilja should tell you more about this. I know he has succesfully linked RapidMiner with the CiviCRM database, and is about to use CiviRules to setup his donor journeys. We will be at CiviCon London but not sure if that will be in your region....
Check out this blog post too: https://civicrm.org/blogs/erikhommel/extension-civirules-now-avaible-download-live-showcase-maf-norge
Consultant/project manager at EEatWork and CiviCooP (http://www.civicoop.org/)

Pages: [1]
  • CiviCRM Community Forums (archive) »
  • Old sections (read-only, deprecated) »
  • Sector / Interest groups »
  • Fundraising Donor Journeys with CiviCRM »
  • Automating donor journey by combining civiCRM with RapidMiner Server (?)

This forum was archived on 2017-11-26.