In Progress

Panel Management

Panel Management (PanMan)

I want to build a management software for a participant panel. The people in the panel get invited to participate in online surveys. The panel at the moment includes mostly demographic information of the participants.

The final product should enable me to do four things:

1) select participants (or users, ie, a record from the existing address database) based on different criteria

2) invite these participants for a survey via a customizable e-mail form (more about what an survey is below)

3) generate cvs files for payments (paypal mass payment format)

4) track how many people are in the database, how often they participated ...

All this in a nice web interface :-)

ad 1) Participant selection

Currently participants sign up through a webpage. The data gets stored in the table below:

CREATE TABLE /*!32312 IF NOT EXISTS*/ `demography` (

`iddemography` int(10) unsigned NOT NULL auto_increment,

`pid` varchar(12) NOT NULL default '',

`firstname` varchar(30) default NULL,

`lastname` varchar(50) default NULL,

`byear` int(4) default NULL,

`bmonth` int(2) default NULL,

`bday` int(2) default NULL,

`sex` varchar(10) default NULL,

`email` varchar(100) default NULL,

`ppemail` varchar(100) default NULL,

`smoking` varchar(10) default NULL,

`address1` varchar(100) default NULL,

`address2` varchar(100) default NULL,

`town` varchar(20) NOT NULL default '',

`country` varchar(25) default NULL,

`zipcode` int(10) default NULL,

`phone` int(10) default NULL,

`primary_lang` varchar(30) default NULL,

`secondary_lang` varchar(30) default NULL,

`occupation` varchar(20) default NULL,

`friend` varchar(100) default NULL,

`lang` char(2) NOT NULL default '',

`referrer` varchar(255) NOT NULL default '',

`ip` varchar(18) NOT NULL default '',

`acc_active` tinyint(1) default '0',

`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

PRIMARY KEY (`iddemography`)


Selection should be possible on all of the available fields from the above table. I would like to be able to first define a set of fields for the filtering and then use these to generate a set of participants. A series of dynamic drop down menus would be my preferred solution (I am open to your suggestions here).

An additional selection criterion is whether participants have already participated in certain experiments before. This is recorded in a table called: 'invited' at the moment.

CREATE TABLE /*!32312 IF NOT EXISTS*/ `invited` (

`id` int(11) NOT NULL auto_increment,

`pid` char(12) NOT NULL default '',

`experiment_id` int(11) NOT NULL default '0',

`startedExp` tinyint(1) default NULL,

`finishedExp` tinyint(1) default NULL,

`invited_time` datetime NOT NULL default '0000-00-00 00:00:00',

`started_time` datetime NOT NULL default '0000-00-00 00:00:00',

`ended_time` datetime NOT NULL default '0000-00-00 00:00:00',




a) I tell the system that I am looking for 200 participants.

b) My interest is in a sample of 'men AND women', 'smokers' AND 'english speaking'

c) For 'sex' I additionally want a 50% men and 50% woman split - which gives me 100 men and 100 women who are smoking and speaking english.

d) I do not want to have participants who already participated in survey 5 (experiment_id).

e) participants should have a score larger than 2 (see below at 4 e)

the set should be saved and used in step 2

2) Invitation

After the above selection I want to send out invitations. There should be a customizable e-mail form where I can enter the invitation for the e-mails and the link to an survey. At the moment I do this via a link with the pid and exp_id - maybe it is possible to reduce this to the pid because this gives away the smallest amount of information to the participants.

The should be a log kept who (pid+e-mail) was invited when to which survey.

3) Payment

After the survey is done I have to pay participants. For this step the system should check first who finished an survey. For these people I enter a payment amount and a short comment.

The format for the paypal mass payment is the following tab-delimited list:

e-mail amount currency pid comment

it looks like:

demo#[url removed, login to view] 3 USD a07428c3c215 Thanks for participating in the survey!


(the # should be an @ of course - the GAF system does not allow to post e-mail addresses!)

This list should be generated, download-able to my local machine and be stored on the server as a reference file.

Additionally the database should be updated for those participants who were payed (ie exported).

4) Statistics

Am existing system called RMS guides participants through a survey. This system logs which participant (pid) has done which survey, on which path, to what point - the comes from this table:

CREATE TABLE /*!32312 IF NOT EXISTS*/ `log` (

`id` int(11) NOT NULL auto_increment,

`exp_id` int(11) NOT NULL default '0',

`pid` varchar(12) NOT NULL default '',

`path_id` int(11) NOT NULL default '0',

`path` text,

`step_number` double NOT NULL default '0',

`history` text,

`is_end` enum('n','y') NOT NULL default 'n',



The provider will be given access to the source code of RMS once the project has started.

a) overview:

list of all experiments with name, short name and survey number in the database

b) registration

overview chart eg with: [url removed, login to view]

showing number of participants in the database

number of participants who started an survey

number of participants who finished an survey

number of participants payed

c) survey snapshot

drop down menu to select an survey

the following information should be shown then:


survey Number


Inception Date (date when the survey was started)

End date

Most Recent Date with Hits

Number of Paths

Max number of participants

Recruitment Status:

Active in the last 7 days?

Total number of subjects entering RMS to date:

Total number of subjects completing the survey to date

Subject Completion Rate (percentage of subjects finishing of subjects entering to date)

Total number of subjects completing the survey by path(condition):

Path # 1

Hits 24


The path completions should also be shown in a bar chart.

d) Demographics

drop down menus to select an survey

the demographics for the FINISHED participants are show

mean age


overall and per path

e) scoring

I would like to have a table that keeps track of how often a person who was invited to an survey actually finished it. An idea would be to add points to an account associated to each participant. For a short survey a participant gets 1 point for a long survey 2 ... I want to be able to determine the amount of points added.

I will provide escrow payment of 50% of the agreed price after start of the project.

I want to see a fully working version on the providers server. Then the other 50% will be transferred into escrow before the code transfer.

Skills: PHP

See more: php panel management, management panel, panel management, thanks participating survey, panel management open source, panel management solution, working escrow account online, women code, woman sign, use reference, mean payment escrow, key selection criteria example, pending mean paypal payment, pending mean paypal, payment pending mean paypal, escrow mean online payment, email address mean, want create chart, use escrow online payment, use escrow system payment, total escrow, survey interface, status pending paypal, start escrow online, sign woman

About the Employer:
( 20 reviews ) New York, United States

Project ID: #226906