Each project gives you credit for the computations your computers performs for the project.

BOINC's credit system is based on a 'reference computer' that can do

BOINC's unit of credit, the Cobblestone 1, is 1/300 day of CPU time on the reference computer.

Some BOINC projects grant credit only after results have been validated.

Each project maintains two types of credit:

Both types of credit (total and recent average) are maintained for each user and host.

Leader boards

BOINC lets projects export the credit-related parts of their database as XML files. These XML files can be used to generate other breakdowns of users, hosts and teams, or to generate leaderboards based on the sum of credit from different projects.

Possible future improvements

How 'Recent Average Credit' is computed

Each time new credit granted, the following function is used to update the recent average credit of the host, user and team:
#define LOG2 M_LN2
    // log(2)
#define SECONDS_IN_DAY (3600*24)
#define AVG_HALF_LIFE  (SECONDS_IN_DAY*7)

// decay an exponential average of credit per day,
// and possibly add an increment for new credit
//
void update_average(
    double credit_assigned_time,        // when work was started for new credit
                                        // (or zero if no new credit)
    double credit,                      // amount of new credit
    double& avg,                        // average credit per day (in and out)
    double& avg_time                    // when average was last computed
) {
    double now = dtime();

    if (avg_time) {
        double diff = now - avg_time;
        double diff_days = diff/SECONDS_IN_DAY;
        double weight = exp(-diff*LOG2/AVG_HALF_LIFE);
        avg *= weight;
        avg += (1-weight)*(credit/diff_days);
    } else {
        double dd = (now - credit_assigned_time)/SECONDS_IN_DAY;
        avg = credit/dd;
    }
    avg_time = now;
}
This function is also invoked
1 Named after Jeff Cobb of SETI@home "; page_tail(); ?>