Melbourne user's group john bertsias presentation

Post on 01-Dec-2014

599 views 0 download

description

 

Transcript of Melbourne user's group john bertsias presentation

Save the Children Australia

Raiser’s Edge

Examples using the VBA Module

John Bertsias

Marketing Database Manager

Why Save the Children Australia (SCA) decided

to purchase the VBA Module.

Two main factors

• Data quality (Garbage in – Garbage out)

• Having greater flexibility to custom Raiser‟s Edge to meet our ever growing

organisational needs.

VBA code at the Constituent Bio level

What we require…

IF (donor has a Title1=“Mr”) AND (donor Gender is set to “Female” OR

“Unknown”) THEN

Alert and Change(?) to “Male”

ENDIF

IF (donor has a Title1={“Miss”, ”Ms”, ”Mrs”) AND (donor Gender is set to

“Male” OR “Unknown”) THEN

Alert and Change(?) to “Female”

ENDIF

Issue: Raiser‟s Edge does not check Title1 against Gender to make sure its

logical.

If a user tried to SAVE this donor record, the following message would

appear…

If a user selects the “OK” button, the VBA code would change the gender to

MALE.

If the user selects the “Cancel” button the VBA code will CANCEL the SAVE

& CLOSE request.

VBA code at the Constituent Address level

Issue: Raiser‟s Edge does not check the address before SAVE & CLOSE.

What we require is…

Check the donors address against QAS (Auspost).

IF (QAS check < 97% confidence) THEN

Have the user verify suggestions from QAS

IF user chooses to bypass QAS suggestions THEN

Ask for reason – save this as an address attribute to follow-up

ENDIF

ENDIF

IF (QAS check >=97%) OR (user verified address) THEN

CHECK for Has no valid address tickbox and inquire.

Add MOSIAC Address Attribute (create new Attr is required)

Add GPS longitude Address Attribute (create new Attr is required)

ENDIF

If a user tries to bypass the QAS suggestion box, the following form will be

displayed - asking for reason why…

If a good match is made the following data is added/ edited into the Address

Attribute tab of the preferred address.

One important final check is made…

VBA code at the Constituent Address Phone level

Issue: Raiser‟s Edge does not check whether the phone number matches

the phone type.

What we require is…

Check the donors Home and Mobile number against telephone numbering

format, the email address against a typical email format…

IF (Phone type is “Home” <> {“02”, “03”, “07”…}) OR

((Phone number < 10 digits) AND (Phone number >0 digits)) THEN

User to verify with the donor.

ENDIF

IF (Phone type is “Mobile” <> {“04}) OR

((Phone number < 10 digits) AND (Phone number >0 digits)) THEN

User to verify with the donor.

ENDIF

IF (Phone type is “E-mail” <> CONTAIN {“@”, ”.”}) THEN

User to verify with the donor.

ENDIF

We can see the home number entered is not correct (as a Home type)…

If the user tries to SAVE & CLOSE the donor record the following is displayed…

We can see the mobile number entered is not correct…

If the user tries to SAVE & CLOSE the donor record the following is displayed…

We can see the email address entered is not correct…

If the user tries to SAVE & CLOSE the donor record the following is displayed…

One final note on Phone types, the following is displayed when a constituent

record is opened (if required).

VBA code at the Constituent Gift (&Attribute) level

Issue: Raiser‟s Edge cannot check process requirements of an organisation.

What we require (not an exhaustive list)…

If a recurring gift has a „Pending Transaction‟ – CANCEL the save request.

If a recurring gift has a “Completed” status – CANCEL the save request.

If an ACTIVE recurring gift has a next transaction date in the past – CANCEL the

save request.

If an ACTIVE recurring gift has a Direct Debit pay method and the Reference

number field is BLANK – CANCEL the save request.

If an ACTIVE recurring gift does not have the EFT tick-box ticked – CANCEL the

save request.

If any particular Gift Attribute of interest is missing either a Description or the Date

– CANCEL the save request.

If the user tries to SAVE & CLOSE the gift record the following are displayed…

One final note on (Gift) Attributes, you can also add the user who entered the

attribute for record auditing in the Comment column.

Practical example: Outbound calls (using Actions)

The requirement:

1. Outbound Team to be able to identify donors requiring a call, the number of

attempts already made, data time of last call attempt, and who made the last

attempt.

2. Record all call attempts - date time, outcome, and solicitor.

3. Based on the last call outcome, check if the Action should be set to “Completed”

or “Not Completed”.

4. If some sufficient time has elapsed- “Complete” the Action, unless it‟s a “Call back”

outcome – normally 2 weeks from Action date but may vary (self-completing).

5. All the correct Action Attributes have been set for each call type.

6. If more than 3 uncontactable outcomes in a row, “Complete” the Action, unless the

donor has previously requested a call back.

7. If not enough time has elapsed between each call, do not treat as a new call

attempts.

Solution…

Write lots of VBA code or ask for help.

Possible error/ information messages…

Fun Example: Queries

The Data Analyst in your team hands over a list of 10,000 (random) donors IDs (from

Raiser‟s Edge) which they would like to use as the universe for the next segment

mail run using Mail->Quick Letters.

Question: How do you create a

query for all those donors

WITHOUT using a flag?

Answer: Use the a Static Query

Uploader using VBA.

Last Example: Cost centres

Issue: Save the Children uses a 10 segment General Ledger code to track its

income and expenditure.

It is not immediately obvious from a gift record what the cost centre is.

Information is stored within the Campaign, Fund, Appeal, Constituent and Gift levels

Solution: Use VBA coding to collate all this information for the user.

Questions?