Skip to end of metadata
Go to start of metadata

We'd like folks to freely add 'user stories' to this list - how you see yourself and organizations/users you work with using the core CRM application. They do not have to be long or elaborate, but do provide as many details as possible.

It is especially useful if you specifically state what "pain" the user is having. What general problem is being solved in the scenario?

As we create a system design, we will be testing our design against these narratives.

If you have input on alternative needs/scenarios for an existing narrative, feel free to add comments. For this phase - don't worry too much about duplicate or similar cases. We'll do a pruning and combining process once we have a healthy list.

To add a narrative simply click the "Add Child Page" link to the right. On the next page select the "select a template page" hyperlink. Start with the "User Narrative Template". Alternatively, add a short narrative to the list below by clicking on "Edit Page" to the right (you must be signed in!).

Current narratives:

  • Person signs up for an account on website
  • Person signs up to receive mailings on website
  • Organization imports a batch of contacts from local Access DB or Excel spreadsheet
  • Organization inputs second household member (husband of initial member)
  • Organization admin adds set of custom fields to store constituent demographics etc.

More short narratives


Great Narratives from the Mambo Community

http://forum.mamboserver.com/forumdisplay.php?f=123

User narrative: Environmental advocacy organization

Consolidate multiple lists of activists managed by different staff members in the organization into a single database of approximately 14,000 records. Multiple staff members access the database at the same time within a single physical location (office). Staff members store information on payments made to the organization, contact information for each record, specific information regarding each record as an activist and as a voter, and records of communications with each contact.

Each contact record is coded in a way unique to the organization. Emails are sent directly from the contact record, each member's giving history is easily accessible, and the response rate for campaigns can be tracked.

Ease of customization, access to written manuals and a place to ask questions about how to use tools are important to completing the activities outlined above.

User narrative: Public lands protection organization

Manage major donor campaign. Track initial contacts with donors, track and evaluate donor cultivation strategies, record gifts made by donors. Donors related to the campaign are coded as part of the campaign and accessible by searching. Additional major donor prospects are added to the list, but not coded for the campaign. The same information is tracked for these donors. The executive director and board receives a report outlining the profile of each donor allowing them to plan how best to ask for a major gift.

Advocate to businesses, organizations and county governments to support the passage of legislation.

User narrative: Membership organization

Organization sends renewal notice to users via postal mail. Person complains that they renew every year in February, but the notice was sent in October.

Staff quickly accesses payment history showing contribution payment and renewal payments by typing in user's last name. Staff also accesses screen which records the organization's last contact with that person to determine what the last piece of mail sent to the person was.

Staff can respond to the person's inquiry with full information.

User narrative: Advocacy organization

Organization stores records on 7,000 members and activists. Organization selects any subset of this membership to send broadcast emails to. The full text of the email is stored for every person that received the email. Responses to the email are tracked, allowing the groups receiving different mass mails to be tailored to maximize response rates.

7,000 existing contact records were matched with voter file records adding fields such as party affiliation, date of birth, county, precinct, congressional district, state senate district, and state house district to the database.

By comparing mail responses that determine topical interests of people to voter frequency, a new phone call list was created of users that were most likely to participate in organizing efforts.

User narrative: Events

I'm building a volunteer sign-up site for the Seattle Queer Film
Festival. For each movie, over a ten day period, they need anywhere from
four to eleven volunteers, and each volunteer will do one of three
different tasks. They also need volunteers before, during and after the
opening and closing night parties for other tasks.

The festival isn't until October, but for various reasons, it would be
nice to build the site in the next month or two. And the more custom
hacking I'll have to do, the sooner I want to work on it.

Each movie is an event, but it will require three different types of
volunteers. The parties and other things will also require varying
numbers of volunteers for various tasks. Some people will only volunteer if
they can be an usher but will not take tickets. Others will only
volunteer if they can do it at 7 p.m. or on a specific day or at a specific
theater. So they need to be able to search for 7 p.m. movies needing
an usher or movies at theather X with any volunteer slots left.

We only want users to volunteer for movies. They need to be able to
log back in and see what they've signed up for. They should also be
able to get rid of a volunteer sign-up if they discover a conflict.
(Potentially, this could turn-off at some specified time, though that's not
required, since you always assume some number of no-shows.) But it
should be very, very easy for users to volunteer for many things at once.
Tons of people sign up for only one shift; the average is three or
four; but quite a few sign up for ten or more. The most user friendly
scenario, where you select various volunteer tasks and then confirm all of
them, made me think of hacking drupal's e-commerce module; instead of
buying things, you'd be signing up for things. And then there'd be a
confirm/check-out. Though I still feel that the event and volunteer
modules should be better for this.

Administrators need to be able to sign people up for events. It should
be easy for an administrator to find out, for each user, what they've
signed up for and how many things they've signed up for. It should also
be easy for an administrator to log in and see who has signed up for
any event.

It would be incredibly cool if there were a way to use node_import to
import events with their volunteer requirements. Or even to specify the
volunteer requirements for a whole bunch of events you're importing at
once, just as you can specify a taxonomy they should all join. Though
if someone had to go through and specify the volunteers for each movie,
it wouldn't be the end of the world. It could take a few hours, but
it's a one-shot deal.
-Julie Goldberg

User Narrative: Blended Practice - Consulting and Online Tools

(submitted by Simon Parrish - sparrish at innonet dot org)

Like others here, we'd need to start by consolidating multiple lists of colleagues; former, current, and prospective clients (nonprofits and funders); vendors and media contacts; and current and former staff and board members into a single database – approximately 8,000 records at the outset, should be expandable up to probably 50,000 active records.

Web users are currently maintained in a separate system to protect their privacy; they are not moved into our contacts/prospects system unless they specifically request that we do so (for example, a web user who has used our online tools for some time wants to explore possibilities of working with our consulting practice – at that point, they become a prospect.) Web users send feedback email reporting a problem; the system suggests editable responses based on operator categorization of problem. Web users send feedback giving a compliment; the system allows for tracking of whether that person has given permission to be quoted.

Multiple staff members access the database at the same time, preferably from multiple locations (two offices plus staff on site visits). Staff members store information on contact information for each record, plus specific information regarding each record as prospect (what are they interested in), client (what kinds of services have they received), vendor (what do they provide to us, plus applicable account numbers and ordering information), staff (some personal information, would need to be protected with a higher permissions level), and records of communications with each contact. Prospects are coded by priority level, but we'd also want to be able to see all the prospects in the same view. Each type of contact would need separate tags for "former" and "current" – the existing timeframe tag should work fine here. We'd also need some flexibility for an ad-hoc "VIP" list – e.g., the Executive Director wants to send a personal note to these 212 people who are not grouped together in any other way.

We're interested in organizational information (programmatic areas broken out according to IRS/Guidestar definitions, operating budgets/staffing sizes), not personal information (household income, voting record).

At this time it's not necessary for us to be able to send/track email directly from the contact record, but easily exporting a group of contacts to receive a merged email would be necessary. Down the road, it would be useful to have a sound and trustworthy confirmed-opt-in and secure unsubscribe functionality built into the system.

Ease of customization is critical. Access to written manuals and online tutorial material a plus; access to email support is a necessity.

User Narrative: Complex tokenization requirements

(submitted by Moshe Weitzman)
Let's say I want to send an email to all group leaders. I want the example content of the email to say:

"Dear JoeLeader, you are currently the leader of the following groups. Please delete any groups which are no longer active."

  • Alabama Skiers
  • Boise Potatoes
  • Alaska Salmon Fishermen"

You can see that the content is personalized for the recipient. This use case implies a tokenization API which supports function calls.

User signs up for specific issues of interest, and or organizes an event

submitted by ryan: sumarATucscDOT.edu
1. user visits site for the first time. sees a sign up box on the side and fills in their name, email, phone, and ticks checkboxes corresponding to the specific things that interest them.
2. they are flagged in the system according to which boxes they've clicked. after they click submit, they are taken to a page taht thanks them and lists the organizations and events on file that are have the flags that the user specified by checking boxes. they could either browse through listed organizations, even navigating to listings of organizations with different flags than they specified, or sign up to attend one of the events.
3. also on this thanks page, they see a link "want to start your own group?" they click it and are taken to a page that allows them to post an event and flag it with the same checkboxes they saw on the first page.
4. the user would then have access to volunteer organizer tools for everyone that signs up to attend their event, and an email would be sent to the admin user (or group of vetters/moderators) notifying the admin of the new event so that they could choose whether or not to allow the new user access to data on users who have similar flags.

Labels
  • None
  1. Feb 09, 2005

    Summary: add "interest_area" and associated support.

    Discussion: I suggest the CRM incorporate an awareness of an object that might be called "interest_area." An interest_area is a topic that a constituent is concerned with.

    Although "extended properties" can be used to incorporate some support for interest areas, I think that the "interest_area" concept is a central one in relationship management, and support for its use should pervade the system in ways that go beyond what generic extended properties might offer.

    For example: we might wish to build a heirarchy of interest area so that we can be as specific or generic as possible.

    – environment
    – toxic waste
    – incinerator project in Fooville

    When someone responds to an email about the incinerator, we might later infer that they are interested in the environment.

    Possible narratives:

    1) An email is sent out; we want to track the topics that it addresses so that we can more easily enrich our awareness of (for example) what topics move what percentage of our constituents or what topics move a specific constituent.

    2) We have a phone conversation with a constituent and wish to record their concerns. Rather free form text in a field, we wish to use an agreed on set of known identifiers that every staff member and volunteer shares.

    And so on. I think that once you begin thinking about this, uses begin to suggest themselves in almost every context in a CRM.

  2. Feb 11, 2005

    Contact should have relationships to each other:
    While a traditional CRM system allows an organization to manage data in a top-down way (i.e. I'm an org. staff person and I communicate to my membership base and I enter all the data, etc) I think there is an opportunity here to push outwardly, the control and workload by allowing users build relationships with each other so that they can share in some of the work. One of the challenging things about large data systems is that while they can save an org some time, help them raise more funds, etc; systems can also begin to consume more and more time and thus funds. Data managemment then begins to take away from executing the mission.

    In the scenario I'm envisioning, an org or its staff members are related to all contacts. However, if I'm Joe Member, I can form an opt-in group which is either already present or that I invite. Then I have the abilities to perform certain functions with that group (i.e. email them, invite them to an event, etc). I would envision sort of a blend of a FOAF system and a traditional top-down CRM model.

    While I would understand that this is not version 1.0 functionality, I think this kind of capability should be inherent in the design of the schema, APIs, etc.

    -John Lorance

  3. May 06, 2005

    since another NPO close to my heart has been shopping for fundraising software lately, i wrote up a list for its Board to consider as they check the demos and talk with sales reps.

    ---------
    excerpt from my email to this organization's Development/FR committee
    ---------
    Ten Hairy Data-Management Tasks:
    Can the software do these things?

    1) Track & acknowledge 5 gifts from different people in memory of one person, with an acknowledgement going to that person's family member. Merge and print all 6 letters w/ envelopes in no more than two steps/5 minutes.

    2) Track, acknowledge, and invoice a sponsorship pledge; then acknowledge it again when the actual check arrives from the company.

    Then if the sponsor receives benefits (say, an ad in a program and a table at the event), track the fair market value of the benefits and set reminders for when to follow up on providing those benefits--advance notice of ad artwork deadlines, directions to an event, etc..

    OR similarly, track and acknowledge a pledge for a gift of $100/month for one year, to be charged to a credit card (perhaps one that expires 3 months from now) on the 11th day of each month, and all gifts toward that pledge, remembering to send a reminder in advance when the card or the pledge is about to expire, and whether the donor wants to receive receipts for each monthly charge (& if so, whether you have sent those receipts).

    3) Track & acknowledge a gift designated for a particular fund or purpose, without creating a whole separate letter template just for that person's designation.

    4) Track & acknowledge an anonymous donation from someone who also makes non-anonymous donations. And/or track the donor's actual name(s) AND the name they want listed in the annual report or thank-you letter (e.g. gift from Jane X, DDS, and Ms. Doe and her kids; list in annual report as "The X Family").

    Correlate different name formats with different purposes (for mailing labels, skip titles and suffixes; for annual report, anonymous; for acknowledgement letter, name on check; for appeal letter from personal friend on the organization's Board, nickname).

    5) Track ticket purchases, memberships, subscriptions or other non-deductible or partially deductible payments from someone who also makes regular 100% deductible donations.

    6) Track acknowledgement letters: when entering a new donation, can the DB help you ensure that the acknowledgement letter assigned for that donation is not one the donor has received before; & when printing letters, can it segment the mailing, printing all the appropriate letters for all gifts at once rather than doing them in groups?

    When you generate appeal letters or acknowledgment letters, does the database remember who got which letter, or do you have to enter that information yourself?

    7) Track solicitors and approach restrictions for each person: if some people in your database are personal friends of a particular staff or Board member, make sure letters to that person are always printed with their personal contact's name.

    Distinguish people who should only be contacted by their personal friend in the organization from people who could be contacted by anyone but who might respond more favorably to a particular person.

    8) Track who has gotten which appeal letters, w/o entering the information on each individual record. I.e. create groups of records, and globally add/change/delete some fields on those records. Can the software establish groups of gifts, people/organizations, tasks, events, relationships, based on complex criteria, and change certain fields on those records globally rather than going through one by one?

    ***AND, LAST BUT NOT LEAST, MY TWO FAVORITES:***

    9) Track & acknowledge a pledge statement from United Way showing 10 anonymous and 10 named pledgers (only 5 of whom want to be acknowledged), 11 of whom paid their pledge in full with a check or credit card, 9 of whom will pay by payroll deduction (3 with 12 paychecks/year, 3 with 26 paychecks/year, 3 with 24 paychecks/year).

    This is even more fun if you have offices in different areas, served by different United Ways, and if the United Ways also send you donations from the Combined Federal Campaign and/or a California State Employees' Charitable Campaign in addition to the workplace designations through their own campaigns.

    10) THEN track & acknowledge an actual check or EFT transaction from United Way. Suppose on February 10, 2005, you receive a check from your local United Way for $320.31, dated January 27, 2005, representing the final payment of employee designations paid in December 2004, pledged in the fall of 2003 for the 2003-2004 campaign. Naturally, your organization uses a July-June fiscal year, while the United Way goes by calendar year.
    The statement with the check lists the name, pledge amount, amount received from the donor this year, fee paid to UW this year, amount paid to your organization this year, and amount included on this check as follows:

    DNR 04PLGE YTDREC'D YTDFEE YTDPMT CURRPMT
    Jane X 50.05 36.64 5.06 31.58 9.66
    Pat N 130.00 123.20 17.00 106.20 21.00
    Mary G 455.00 440.90 60.84 380.06 100.80
    Ed G 120.00 108.53 9.77 98.76 20.46
    Kay H 260.00 251.94 27.71 224.23 59.46
    anon 52.00 50.39 6.95 43.44 11.52
    Dora L 74.00 72.75 10.04 62.71 16.49
    Val P 650.00 276.91 38.21 238.70 80.92
    Lorne T 240.00 240.00 33.12 206.88 .00
    ---------------------------------------------------------
    totals 2031.05 1601.26 208.70 1392.56 320.31

    Needless to say (question), sometimes the pledgers leave their jobs and never fulfill their pledges; other times their payments exceed their pledges because they do not suspend payroll deductions even after the pledge is fulfilled. Sometimes the employer covers the admin fee; other times not. Sometimes the employer matches the donation; most times not.

    Can your database keep track of the total amount actually received (for accounting/audit purposes), i.e. progress toward pledge fulfillment, and acknowledge donors for their intended and actual gifts?

    have fun!

    ###

  4. Jun 02, 2006

    I was reading through the civicrm_data.mysql script and saw a note about needing county data.  If you need USA state/county data, it's available from the US Census Bureau.  Here's a link to an appendix with only that data: http://www.census.gov/geo/tigerline/app_a03.txt

    Apologies in advance if this is the wrong place for such info.

    /Perry 


Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.