A rating system for digital commerce based on Nancy Leveson's aircraft software assessment methodology with bidirectional assessment criteria.
The Leveson-Based Trade Assessment Scale (LBTAS) implements Nancy Leveson's aircraft software assessment methodology, developed for aerospace applications, adapted for digital commerce and economic assessment contexts. LBTAS provides a framework for capturing transaction quality data using a 6-point scale.
5-star systems do not provide data that motivates producer improvement. The 5-star system was developed in 1958 by Forbes Travel Guide (formerly Mobil Travel Guide) to advertise hotel quality along US interstate highways. It was designed as a one-way communication system for highway travel, not for digital commerce.
Limitations:
- Ratings provide limited value in e-commerce contexts
- PR managers create barriers to policy change
- Granularity fails to capture transaction complexity
- One-directional assessment ignores consumer accountability
- Data insufficiency forces reliance on comment sections
The Leveson System originates from aircraft software development where system failures result in loss of life or wasted R&D investment. This methodology:
- Uses a 6-point scale (from +4 to -1) with category definitions
- Compresses meaning into each rating level
- Reduces dependency on comment sections for data
- Enables bidirectional assessment (both producer and consumer)
- Supports data-driven improvement cycles
Interaction anticipates the evolution of user practices and concerns post-transaction
Interaction designed to prevent loss, exceed basic quality standards
Interaction meets socially acceptable standards, exceeding articulated user demands
Interaction meets all articulated user demands, no more
Interaction fulfills a basic promise requiring little to no discipline toward user satisfaction
User was harmed, exploited, or received a product/service with evidence of no discipline or malicious intent
LBTAS enables two-way accountability in digital networks by maintaining ratings for both:
- Producers: Identifies providers
- Consumers: Identifies customers
This approach facilitates community self-regulation and reduces the need for centralized moderation.
Ratings are never averaged. A reputation is the count of ratings received at each level (-1 through +4) plus the total. The total matters on its own: it reflects transaction volume and, indirectly, time in service. A clean distribution over 5,000 ratings is a stronger signal than the same shape over 5 — and averaging would erase that difference by collapsing both to the same number. (The count is a count of ratings; precise transaction and tenure figures come from the API, which timestamps each rating event.)
A -1 ("No Trust") is never diluted: the report command surfaces every exchange that has received one or more -1 ratings in a harm_flagged list, and list appends a harm flag to any exchange with a -1.
- Methodology: Based on aerospace assessment frameworks
- Bidirectional Assessment: Rate both parties in transactions
- Granularity: 6-point scale with definitions
- Dependencies: Integration into systems
- Database Support: Persistence layer support
- Open Source: Community-driven development and customization
# Clone the repository
git clone https://github.com/NTARI-OpenCoreLab/Leveson-Based-Trade-Assessment-Scale.git
cd Leveson-Based-Trade-Assessment-Scale
# Make executable (optional)
chmod +x lbtas.py
# Run directly
python3 lbtas.py --helpNo external dependencies required. Uses Python 3 standard library only.
from lbtas import LevesonRatingSystem
# Initialize the rating system
rating_system = LevesonRatingSystem()
# Add an exchange (transaction)
rating_system.add_exchange("transaction_001")
# Add ratings (categories: reliability, usability, performance, support)
rating_system.add_rating(
exchange_name="transaction_001",
criterion="reliability",
rating=3 # No Negative Consequences
)
# Read the distribution (ratings are never averaged)
ratings = rating_system.view_ratings("transaction_001")
print(ratings["reliability"])
# {'distribution': {'-1': 0, '0': 0, '1': 0, '2': 0, '3': 1, '4': 0}, 'total': 1}# Interactive rating
python3 lbtas.py rate --exchange "MyService"
# Programmatic rating
python3 lbtas.py add --exchange "MyService" --criterion reliability --rating 3
# View ratings
python3 lbtas.py view --exchange "MyService"
# Generate report
python3 lbtas.py report
# Export data
python3 lbtas.py export --format json --output ratings.jsonLBTAS uses JSON file storage for persistence:
# Initialize with storage file
rating_system = LevesonRatingSystem(storage_file='ratings.json')
# Ratings are saved automatically to the file
rating_system.add_exchange("service_001")
rating_system.add_rating("service_001", "reliability", 3)Storage file format:
{
"service_001": {
"reliability": [3, 4, 3],
"usability": [2, 3],
"performance": [4],
"support": [3, 3, 2],
"_metadata": {
"created": "2024-09-04T10:30:00",
"total_ratings": 10
}
}
}Default categories:
- Reliability: Dependability and consistency
- Usability: Ease of use and user experience
- Performance: Speed and efficiency
- Support: Customer service quality
Custom categories can be defined during initialization.
- Study how rating scale design affects user behavior and market outcomes
- Measure effects of bidirectional assessment on trust and cooperation
- Analyze quality-based assessment alternatives to frameworks
- Implement quality metrics for marketplace transactions
- Enable community-driven reputation systems
- Reduce moderation overhead through self-regulation
- Facilitate peer-to-peer accountability
- Support governance structures
- Enable data-driven policy improvements
LBTAS is implemented as a single Python module with:
- Core class:
LevesonRatingSystemmanages ratings and storage - JSON persistence: File-based storage with automatic save
- CLI interface: Command-line tool for interactive and programmatic use
- No external dependencies: Uses Python standard library only
The system supports:
- Interactive rating collection
- Programmatic rating submission
- Custom rating categories
- Report generation and data export
Contributions are made through the NTARI Slack workspace:
Join the discussion: https://ntari.slack.com/archives/C09N88JN2SH
Please see our Contributing Guidelines for:
- Code style and standards
- Testing requirements
- Pull request process
- Community code of conduct
This program was produced by the Network Theory Applied Research Institute's Forge Laboratory (now NTARI Research & Development) by Jodson B. Graves using ChatGPT-3 on September 4, 2024.
NTARI Research & Development is NTARI's software development program for creating digital systems and protocols that leverage network theory to enhance cooperative capabilities across the internet. We develop open-source tools, platforms, and frameworks that empower communities to build online ecosystems.
Learn more and support NTARI: https://ntari.org
If you use LBTAS in your research, please cite:
@software{lbtas2024,
title={Leveson-Based Trade Assessment Scale},
author={Graves, Jodson B.},
organization={Network Theory Applied Research Institute},
year={2024},
url={https://github.com/NTARI-OpenCoreLab/Leveson-Based-Trade-Assessment-Scale}
}- Leveson, N. G. (2011). Engineering a Safer World: Systems Thinking Applied to Safety. MIT Press.
- Leveson, N. G. (2020). CAST Handbook: How to Learn More from Incidents and Accidents. MIT.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) - see the LICENSE file for details.
The AGPL-3.0 license requires that:
- Source code must be made available when the software is used over a network
- Modifications must be released under the same license
- Changes must be documented
- Network use is considered distribution
- Nancy Leveson - Original methodology development
- NTARI Research & Development - Research and implementation
- Open Source Community - Contributions and feedback
Maintained by: NTARI Research & Development
Questions? Open an issue or contact us at info@ntari.org