AHP-OS Data Download and Import in Excel

Most data generated with AHP-OS can be downloaded as csv files for import into a spreadsheet program and further analysis:

  • From the Hierarchy Input Menu – decision hierarchy and local & global priorities
  • From the Group Result Menu – Priorities by node and consolidated decision matrix
  • From the Project Data Menu – Decision matrices from each participant

For each download you can select “.” or “,” as decimal separator. The downloaded csv (text) file is coded in UTF-8 and supports multi-language characters like Chinese, Korean, Japanese and of course a variety of Western languages.

How to import into excel?

Open Excel, click on “File” -> “New” to have a blank worksheet. Click on “Data“. On the left top you will find the “Get External Data” box.

Click on From Text to select the downloaded cvs file for import. The Text Import Wizzard will open.

Now it is important to select 65001 : Unicode (UTF-8) under File origin.

Then, depending on your decimal separator, select Comma or Semicolon as Delimiters:

When the import is done, your text characters should be displayed correctly.  Save the file “Save as” as Excel workbook (*.xlsx).

Incoming search terms:

Share on Facebook

Group Decision Making with AHP-OS

My AHP free online software AHP-OS has a feature to involve a group of decision makers to give their inputs to a decision problem. In contrast to my AHP Excel template, in AHP-OS the number of participants is practically unlimited. As of now, I see users having up to 100 participants in one project.

How to use AHP-OS for Group Decision Making?

As registered user you need to start with a new project by defining your decision hierarchy. In the Project Administration Menu click on New, define your hierarchy, Submit and Save as project. You have the possibility to give a short project description, explaining the project, before it is saved.

Once saved, you will be automatically brought back to your project page, and the project will be shown on top of your project list.


The session code is a unique code identifying the project. When you click on the session code link, the Group Session Input screen will open, and you see a message like “Hierarchy evaluation. Session code EvUhUn Session Chair: Klaus. Project has 0 participants’ inputs. You are participating as Klaus.” Now you can either participate yourself as a decision maker in the project, or get a link to provide to your participants for their inputs.

Participating by yourself as a member of the group

Simply click on the AHP button to start the pairwise comparisons, and – once completed – click on Submit for group eval to submit your inputs.

Provide a link to let others participate as members of the group

In the group input menu click on Leave group input mode and confirm ok to leave the input mode without submitting your pairwise comparisons in the pop-up window.


Now you will see the link that you can copy/paste and send to your group members for their participation in the project.


Click on Done in the Active session menu to go back to your project list.

Participants input

Your participants don’t need to be registered users. If you want to test by yourself, you need to logout from AHP-OS, before you open the group link.

When your participants open the link, they will be asked for their name, before they can start their pairwise comparisons. They will then see the decision hierarchy with a red lined AHP button and  a message “Click on AHP to complete pairwise comparisons. Click on Submit for group eval once completed.”


Now they can start their pairwise comparisons. When completed, all AHP buttons and priorities will be marked green.


After a click on Submit for group eval the AHP button disappears and a message “Ok. Data were submitted. Thank You for your participation!” is displayed.

Group results

Once you have participants submitted data, a click on the session code link in your project list will automatically bring you to the group result page. As a participant you will get a button View group result in the Group input menu.


The group result page gives you on top the project data and list of all participants. Individual participants can be selected or deselected to analyze the group results in further details.

projdata  partlist

The next sections of the group result page shows the decision hierarchy with consolidated priorities, a breakdown by nodes (categories) with priorities for the node and the consolidated (aggregated) decision matrix. It also shows the AHP consensus indicator as a measure of group consensus.


Input data for each participant is available under View Input Data in the group result menu:


For you as chair of the group session, it is also possible to download data as csv text file for further processing in a spreadsheet program. With Use consol. priorities you now can define Alternatives with the consolidated priorities of selected participants.



Share on Facebook

How to make your Synology Disk station (NAS) more secure?


Recently I bought the network attached storage (NAS) DS1513+ from Synology and integrated it into my home network in order to have a central place to store and access my data. This NAS has several server functions, making it convenient to access data remotely, but also making it vulnerable to unauthorized intrusion. So the question arises, how to mitigate this risk without restricting the remote functionality of the NAS. There is a lot of information available in the web; yet for me it took some time to identify and understand the most important modifications and to implement them:

  1. VPN Virtual Private Network – to remotely access the local area home network
  2. SSH Secure Shell – for secure login as root user or admin to fully access the (embedded) operating system
  3. SSL/TLS – to secure traffic between website and browser (HTTPS)
  4. Enable 2-Step Verification for DSM web access
  5. Store all critical data (certificates and private keys) on an encrypted memory card

1. VPN Virtual Private Network

Whenever possible, use VPN to access your NAS. I decided for the openVPN protocol, as it will work under Windows and iOS and allows for a flexible configuration of ports, protocol and authentications. The standard port for openVPN is 1193 UDP. I changed it to 8080 TCP  in order to have the possibility to tunnel through firewalls.

Necessary steps and modifications

  • Install Synology VPN server and use openVPN to remotely access your disk station and local network.
  • Generate your own set of certificates using EasyRSA or OpenSSL.
  • Change the VPN server configuration to make authentication with client certificates mandatory
  • Ensure verification of server certificate and server name on the client side.


For openVPN I use self-signed certificates. All server and client certificates can be generated using EasyRSA and OpenSSL.

You need to generate a

  1. Root certificate ( self signed, will replace ca.crt), a
  2. Server certificate (to replace server.crt) with the
  3. Server key (server.key), and a
  4. Client certificate (user.crt) with the private
  5. Client key (user.key).

Root and server certificates, as well as the server key, are found in the directory /var/packages/VPNCenter/target/etc/openvpn/keys/. Login to the Synology NAS as root user, using a terminal program, change to this directory and place your own certificates and server key there. Rename the original files ca.crt, server.cer and server.key before copying, to keep them as backup.

On the client system under Windows, the client certificate can be imported with the command (“run”) certificate manager certmgr.msc, or it can be part of the openVPN client configuration file using <cert> </cert> and <key> </key> (necessary for iOS).

OpenVPN Server configuration (DSM 5.2)

Then change the authentication procedure for openVPN and make the use of a client certificate and password mandatory. The openVPN server configuration file can be found under /usr/syno/etc/packages/VPNCenter/openvpn. Use vi editor in the BusyBox build-in shell to modify the openvpn.conf file.

Replace the lines starting with cacert and key with

ca /var/packages/VPNCenter/target/etc/openvpn/keys/your_ca.crt
cert /var/packages/VPNCenter/target/etc/openvpn/keys/your_server.crt
key /var/packages/VPNCenter/target/etc/openvpn/keys/your_server.key

Then comment out (#) the line client-cert-not-required:


OpenVPN Client configuration

On the client side use the following lines in your openVPN client configuration file:

#Root certificate (self signed)
<ca> Copy and paste your ca root certificate here </ca>
#verify type of certificate to be server authentication:
remote-cert-tls server
#verify correct server name:
verify-x509-name ‘xxx.com’ name

#either get client certificate in pkcs12 format from an encrypted memory card:
pkcs12 Y:/pki/private/[user name].p12

#or get client certificate using Microsoft crypto api for windows PCs:

#or for iOS devices copy/paste public and private part of the client certificate:
<cert> copy/paste client certificate here </cert>
<key> copy paste your client key here </key>
auth SHA1

#login with user name – password

2. SSH – Secure Shell

With SSH root login you have full access to the embedded OS and can modify any configuration of the NAS. Therefore, if you really need to allow SSH access remotely, you should always be extremely careful and verify the correct connection. In addition the login should be changed from user name/password authentication to RSA key authentication. SSH works under windows with Pageant/Putty, on iOS devices I use iTerminal Pro.

Necessary steps and modifications

  • Always verify server fingerprint of your SSH host
  • Change SSH standard TCP port 22 to a high port number
  • Replace user- password log in with RSA key authorization

SSH Host

The ssh server (host) keys can be found in the directory /etc/ssh. By default there are key pairs for DSA, ECDSA and RSA. The public key files have the extension .pub. Note down the fingerprint of the host keys using the command ssh-keygen -l -f [public key file name], for example ssh_host_rsa_key.pub

When you call the SSH terminal program and the server key is not cashed, you will be prompted with the fingerprint of the server key to trust the server. To delete a cashed fingerprint under Windows using PuTTY

  1. Open the registry (regedit)
  2. Go to HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Delete the cashed key.

SSH Client

First generate an RSA key pair (public and private) with the program puttygen. I use an SSH2-RSA key with 2048 bits. By default the public key of the root user is expected to be found in the directory /root/.ssh/ under the file name authorized_keys.

#AuthorizedKeysFile .ssh/authorized_keys

So you need to create the directory .ssh and put the public key, generated with puttygen, into this directory under the name authorized_keys.

In order to disable password login for the root user, you then need to modify the file sshd_config in the directory /etc/ssh. Change the line

#PasswordAuthentication yes to
PasswordAuthentication no

3. SSL Secure Sockets Layer – to secure traffic between website and browser (HTTPS)

Though SSL does not protect from unauthorized access, it helps to avoid eavesdropping of your data when using the web interface. Most critical is the web access to the disk station manager with admin rights. The standard access ports are 5000 (HTTP) and 5001 (HTTPS).

Steps and modifications

  • Disable standard admin user account
  • Allow access via HTTPS only
  • Use a really strong password with 15 characters or more

For administration via web interface disable the standard admin account and use a different user name first. Then allow DSM login under https (default port 5001) only, in addition you could use port forwarding in your router to change to a high port number). The most important measure is to use a really strong password. The password should be at least 15 characters long and consist of a mixture of small/capital letters, numbers and special chars.

4. Enable 2-Step Verification for DSM web access

DSM allow to introduce a second layer of authentication. You can enable 2-step verification for the admin user. A good step-by-step description can be found 2-step-authentication.

5. Storage of critical Data

All measure shown above will be useless, if the private keys are not kept secret. Your passwords, key pairs and certificates should never be made accessible to any unauthorized users. Here I use a mountable encrypted memory card. When leaving the computer I can unmount the card or take it with me.

6. Useful links

How to connect to Synology’s VPN Server using a Windows PC or Mac http://www.synology.com/en-us/support/tutorials/592

Incoming search terms:

  • HowtomakeyourSynologyDiskstation(NAS)moresecure?|BPMSG
  • synology change ssh port
  • install easy-rsa on synology
  • synology webstation ssl
  • dsm default ssh port
  • x509 synology self signed puttygen
Share on Facebook

AHP-OS online software – Frequently Asked Questions

Note: All answers assume that you are a registered user and logged in.

Q: How do I save a new AHP hierarchy definition?

A: In the Session Administration Menu click on New.

The hierarchy window is displayed. Define a new hierarchy in the text input field and click on Submit new hierarchy, then Save in the Hierarchy Input Menu.

The group session window will open. Optionally provide a project short description and  click Go, and the defined hierarchy is stored and shown as type “H” (Hierarchy) in the project table of the Session Administration Menu.

Q: How can I define and store a project for the evaluation of alternatives?

A: Start with a hierarchy definition, save and resume from the project table by clicking on the session code link. Complete all pairwise comparisons (Click on AHP in the hierarchy) to define the weights of criteria. (Before alternatives can be evaluated, criteria weights need to be defined.) Submit for group evaluation and view the result. In the group result page click on Use consol. priorities.

Then click on Evaluate Alternatives in the decision hierarchy display. Provide number and names of your alternatives and save a new project. It will be saved as type “A” (Alternative Evaluation). From there you can resume and start the alternative evaluation.

Q: How can I use a defined and stored hierarchy definition as template for a new project or new group session?

A: Click on the session code link of the project, you want to use, in the Stored AHP project session table.

a)      If the project has no participants, the project will be opened in the group session input mode. Click on Leave, then Close in the Active Session Menu.

b)      If the project has participants, the project will be opened in the AHP Group result window. Click on the Resume link at the bottom of the page, then Leave and Close in the Active Session Menu as in a).

You can now re-use the hierarchy definition and save as a new project.

Share on Facebook

BPMSG’s AHP-OS free AHP web based software – How to use

With the latest version of my free AHP software you can manage complete AHP projects, including the handling of group sessions. In order to use the full functionality, you need to register (it’s free).

Here you might download a short description: BPMSG AHP Online System (pdf)

Share on Facebook

AHP Online System

As I was asked by many visitors, how to evaluate priorities and alternatives for a whole project in AHP, I have realized an online solution, where you can define a hierarchy, get the priorities for all categories and evaluate alternatives. The project is realized in PHP.
AHP OS Example

Here the link: BPMSG AHP Online System

How to use the tool

Short description  (pdf) for download.

The online template is easy to use, three steps are necessary:

  1. Define the objective and relevant criteria of your decision problem and structure them in a hierarchy.
  2. Compare criteria in categories and sub-categories with respect to the objective to find their weights based on pairwise comparisons.,
  3. Name a set of alternatives and compare, how good they match your decision criteria. Again pairwise comparisons based on the AHP are used.

1. Define Hierarchy

Hierarchies are defined in a text field using the following simple syntax:

Each branch in the hierarchy is defined by its node (the category) and the node’s leafs (the sub-categories). The node is followed by a colon, leafs are separated by comma, and a branch is closed by a semicolon:

category: sub-category 1, sub-category 2, sub-category 3;

If a sub-category branches out in further sub-categories, you add a line, repeating the sub-category’s name (case sensitive!) as a new node, i.e. followed by a colon:

sub-category 1: sub-sub-1, sub-sub-2;

2. Compare Criteria

To find the weight (importance) of criteria, click AHP to start pairwise comparisons. Compare each pair of criteria with respect to the project and category: which criterion in each pair is more important, and how much more on a 1 – 9 scale? Once you have finished click Calculate Result. A table with priorities for each criterion is shown.

It could happen that your pairwise comparison is not consistent, then the most inconsistent judgments are highlighted, and the most consistent judgment is marked light green. In order to improve consistency, check whether you are able to adjust your original mark by plus or minus two on the scale. Click Calculate to re-calculate. Once finished, and you are satisfied with you answers, press Submit Priorities to submit. Completed branches in the hierarchy tree are marked green.

When all comparisons in the hierarchy are done, you might continue to evaluate alternatives. Press Evaluate Alternatives. Note: You only get the selection, if all necessary pairwise comparisons are completed, or the hierarchy text input already contains pre-defined priorities. A table with criteria and alternatives will be displayed.

3. Evaluation of Alternatives

Before you start the evaluation, you might input the number and names of your decision alternatives. Enter the number (1 – 5) and press Go. Then input the names of alternatives and press ok. The procedure of pairwise comparisons is exactly the same as for the criteria. Each completed comparison is highlighted in green. When all evaluations are done, the result is shown.

4. Download

You might download the data in csv format (comma separated values) for further processing in a spread sheet program. The table starts with a title line; then each row shows one criterion with the columns: (hierarchy level, local priority), global priority, alternatives (local and global priority).

All (decision) matrices are shown below, with category name as heading and criteria for the matrix rows. Alternatives show the heading “Alternatives for” and the respective criterion.

More Examples

Program Limitations and Input Restrictions

  • Display length of category names: 25 characters max.
  • Hierarchy levels 6 max.
  • Nodes: 15 max.
  • Each node (category) has to have at least 2 branches (sub-categories)
  • Endnodes: 100 max.
  • Names of categories/sub-categories have to be unique.
  • Numbers as category names are not allowed (though names may contain numbers).
Share on Facebook

Fighting Spam

honey-potOperating your own website or blog, you will soon realize lots of comments with nonsense content and embedded links to obscure websites. These are comment spammers making your life difficult. Everyday you have to clean up or moderate all comments. In the past I used a wordpress plugin “spam free wordpress” to protect my blog, and for long time it was working fine without any problems. Writing a comment to my postings, you were asked to copy and paste a password from one to another field in the comment form. Suddenly it was not working any longer, and I found out that the developer changed his policy: I have to pay a license fee. Maybe I also should change my policy, and ask for a license fee to download my AHP excel template? So I was searching for a new free plugin. I installed SI Captcha Anti-Spam from Mike Challis, but still spam comments were coming through. So I enabled the honeypot spambot trap and it seems to work.

What is a honey pot spambot trap?

I learned some new things about spam, and also found an interesting project “Project Honey Pot” on the web. There you can find out more about harvesters, spammers, dictionary attackers and honey pots. You can participate in the project, install a honey pot or implement a quick link to fight spam. A honey pot is a – for humans invisible – link to a dynamic website providing “fake” e-mail addresses and forms for spam programs. If the form is submitted or an e-mail sent to one of addresses provided there, then you can be sure it is a spammer and record/block his IP address. Here an example of a quick link (opens in a separate window, don’t submit.) Usually this link is hidden -only visible for bots, spider programs etc.

Project Honey Pot also provides a useful service HTTP Blacklist to check IPs against a list of known harvesters, comment spammers, and other suspicious visitors to websites.


Now I can monitor  suspicious activities on my website: within only two days I could see more than 100 attacks!

List of recent suspicious visitors listed in project honeypot.

Check your own IP address.

Share on Facebook

Video Editing Workflow – Canon XA-10


Camera settings depend on the type of recorded video. The Canon XA-10 has only two full HD (1920×1080) recording modes: FXP and MXP. Based on these, most of my videos are recorded in FXP mode as it is a good trade-off between quality and file size.

Recording Modes of Canon XA-10

Edit and Archive

For video editing I use Adobe Premier Elements 10. Editing is done without changing codec (H264), resolution, interlacing, etc. As I have the PAL version of the XA-10, the Adobe project settings are AVCHD Full HD 1080i 25 under PAL. Once the video is edited, I  render the clip with the highest quality settings (2 Pass VBR, Render at max. depth, Macro block Adaptive Frame-Field Coding), and a maximum bitrate corresponding to the source (FXP: 17 Mbps) for archiving. In Adobe Premier Elements 10 and for XA-10 FXP mode the settings are:

Archive settings in Adobe Premier Elements 10 for XA-10 FXP mode

Target Media

Depending on the target media the clip to be published is adjusted in codec, resolution etc. I have predefined settings for:

  • Standard clips to be watched on a PC:
    MP4 – PAL DV Widescreen SD – HiQ (576p, VBR 3/6 MBps)
  • Tablet/phones:
    MP4 – PAL DV Widescreen SD – LoQ (576p, VBR 1.3/2.6 Mbps)
  • Youtube as basic HD clip:
    MP4 – HD 720p 25 (720p, VBR 2.5/5 Mbps)

Calculation of Video Bitrates in Excel

I use a simple excel template to calculate the bitrate for the target medium. As input you simply select:

  • Codec (H264, MPEG-2)
  • Standard (PAL, NTSC, FILM)
  • Definition (VCD, SD, HD 720, HD, full HD)
  • Channel (PC/Web, Disk/TV)
  • Action/Motion (low, normal, medium, high)

and as a result you get the recommended bitrate for rendering your video clip.

Comments and feedback are welcome!

Incoming search terms:

  • canon ax10
  • vignetting on XA10
Share on Facebook

How to extend the AHP Excel Template for more Participants?

As I received many requests to extend the number of participants in my AHP excel template, here a short information how to use it for more than 20 participants. There are two possibilities

  • Use my AHP online Software.
  • Use several templates, each  of them for up to 20 participants, and then combine the consolidated results in an additional summary template.
  • Modify the template.

As the template is quite complex, I strongly recommend to use the first possibility. But if you really want to modify the template itself, follow the step-by-step instruction below. This instruction does not include the AHP consensus indicator calculation.

  1. Unprotect sheet In20; create a copy of the sheet In20 and rename to In21.
  2. Go to “Formulas – Name Manager” and delete name Matrix20 with scope In21.
    Mark matrix cells of the decision matrix in In21 (C79:L88), and define new name Matrix21 with scope workbook.
    Go to Sheet multInp, unprotect sheet. Add additional matrix, e.g. copy/paste from matrix 20 (2 matrices per rows, same structure as for matrix 1-10).
    Mark content cells of new matrix and define new name “m_p21
    Set it {=Matrix21} ( {} = array function, see below).
    Mark the consolidated matrix (B9:K18), and modify the formula
    {=(M9:V18*B22:K31* …*B74:K83)^(1/N4)} to include the added participant’s matrix.
  3. Go to sheet Summary, unprotect sheet.
    Mark matrix starting at line 38, and add new matrix m_p11 in the formula: {=IF(p_sel>0;CHOOSE(p_sel; m_p1; m_p2; … ; m_p20; m_p21);MatrixC)}.
    Select field C7 (number of participants). Menu “Data – Data Validation”:
    change range from 1 to 20 to 1 to 21.
  4. Continue in the same way for additional participants.

Note:  {} is the Excel array function: mark cell area, and use Ctrl-Shift-Enter.

All matrices in the input sheets are named Matrixn, n = 1 to max. number of participants. (Matrix1, Matrix2, etc.)
The matrices in the multInp sheet are named “m_pn” (m_p1, m_p2, etc.)

Share on Facebook

Diversity as Business KPI – Alpha and Beta Diversity – Video

a-b-diversityThe video explains partitioning of Shannon diversity into two independent components: alpha (within group) and beta (in between groups) diversity. It helps to understand beta diversity as a measure of variation between different samples of data distributions. Some practical applications in the field of business analysis are shown.

Enjoy watching!

More posts about diversity:

Any feedback is welcome!

Share on Facebook