5D Library › Cross-Cultural Contracts, Real Options and Game Theory of Southeast Asian Market Entry · 中文
Chapter 8 Practice and a Pre-registered Trial
Part 1 A four-step contract alignment checklist
The first seven chapters can be reduced to a checklist for use before signing. It applies to many forms of overseas project: cross-border joint ventures, local agency agreements, joint operations, and long-term influencer and brand partnerships. Each step corresponds to one or more earlier chapters.
- Explicit stopping triggers. Under what observable conditions does each key decision (exit, pivot, expansion, ending a pilot) happen? A complete trigger has five parts: a metric, a threshold, a time window, a data source both sides can see, and what happens once it fires (including how the other side’s specific investments are compensated). (Chapters 1 and 2)
- A residual-control matrix. Who decides each kind of question the contract does not cover? Are any decisions left without an owner? Have decisions that need a fast response been made to require both sides’ consent? (Chapters 3 and 6)
- Synchronised feedback cycles. How many weeks does the chain from market signal to action take? Does the planned strength of adjustment exceed the stability limit for that delay? Are adjustments visible to customers arranged as “fast behind the scenes, steady in front”? (Chapter 4)
- Local compliance and cultural red lines. Certification (for example halal), personal-data protection, advertising standards, disclosure rules for influencer partnerships, religious and public holidays: does each have an owner and a clear status? (Chapter 5)
Calculation
The checklist applied to a fictional joint-venture term sheet: the launch of a consumer brand in one Southeast Asian market.
# The four-step contract alignment audit applied to a (fictional) draft joint-venture term sheet for
# a consumer-brand launch in one Southeast Asian market.
import math
# Step 1 - explicit stopping triggers. A trigger is complete only if it names a metric, a threshold,
# a time window, the data source both sides can see, and what happens next.
triggers = {
"exit the market": dict(metric=1, threshold=1, window=1, source=0, next_step=1),
"pivot product mix": dict(metric=1, threshold=0, window=0, source=0, next_step=1),
"scale to second city": dict(metric=1, threshold=1, window=1, source=1, next_step=1),
"end the 90-day pilot": dict(metric=1, threshold=1, window=1, source=1, next_step=0),
}
done = [k for k, v in triggers.items() if all(v.values())]
print(f"1 triggers complete: {len(done)}/{len(triggers)} ({', '.join(done)}); missing parts:")
for k, v in triggers.items():
gaps = [f for f, ok in v.items() if not ok]
if gaps: print(f" {k}: {', '.join(gaps)}")
# Step 2 - residual control: who decides what the contract did not foresee?
rights = {"pricing below list": "local", "hiring the country manager": "joint", "changing the brand promise": "HQ",
"responding to a regulator": "unassigned", "stopping a campaign after a complaint": "joint"}
urgent = {"responding to a regulator", "stopping a campaign after a complaint"}
flags = [d for d, who in rights.items() if who == "unassigned" or (who == "joint" and d in urgent)]
print(f"2 decision rights: {len(flags)} need fixing - " + "; ".join(
f"{d} ({rights[d]}{', time-critical' if d in urgent else ''})" for d in flags))
# Step 3 - feedback cycles: total delay from market signal to action, in weeks
delay = {"local weekly report": 1.0, "regional review (fortnightly)": 1.0, "HQ approval queue": 2.5,
"execution lead time": 1.0}
tau = sum(delay.values())
planned_gain = 0.5 # 'close half of the gap we see' each cycle
limit = 2 * math.sin(math.pi / (2 * (2 * round(tau) + 1)))
print(f"3 signal-to-action delay {tau:.1f} weeks; planned correction {planned_gain} per week vs stable limit "
f"{limit:.2f} -> {'oscillation risk: shorten the chain or correct less' if planned_gain >= limit else 'ok'}")
# Step 4 - compliance and cultural red lines, each with an owner and a status
red = [("halal certification for food lines", "local", "applied"), ("personal-data law review", "HQ", "open"),
("advertising standards and claims review", "local", "done"), ("religious and public holiday calendar", "local", "done"),
("influencer disclosure rules", "unassigned", "open")]
open_items = [r for r in red if r[2] != "done"]
print(f"4 red lines: {len(red) - len(open_items)}/{len(red)} closed; open: " +
"; ".join(f"{n} [{o}, {s}]" for n, o, s in open_items))
# 1 triggers complete: 1/4 (scale to second city); missing parts:
# exit the market: source
# pivot product mix: threshold, window, source
# end the 90-day pilot: next_step
# 2 decision rights: 2 need fixing - responding to a regulator (unassigned, time-critical); stopping a campaign after a complaint (joint, time-critical)
# 3 signal-to-action delay 5.5 weeks; planned correction 0.5 per week vs stable limit 0.24 -> oscillation risk: shorten the chain or correct less
# 4 red lines: 2/5 closed; open: halal certification for food lines [local, applied]; personal-data law review [HQ, open]; influencer disclosure rules [unassigned, open]In this fictional term sheet only one of the four triggers, “scale to second city”, is complete. “Exit the market” lacks a data source both sides can see, which is exactly the most important part in the model of Chapter 2: without a common data source, the other side cannot verify at the moment of exit whether the trigger was really met. Step 2 finds two decision rights to fix: “responding to a regulator” has no owner, and “stopping a campaign after a complaint” requires both sides’ consent although it must be decided within hours. Step 3 shows a delay of 5.5 weeks (about 6) from market signal to action, against which the planned correction of half the gap each week far exceeds the stability limit of about 0.24; by the model of Chapter 4 such a project is likely to swing back and forth. Step 4 has three open items, and “influencer disclosure rules” has no owner.
Note
This checklist does not replace legal advice. Its job is to list, before signing, the problems most easily overlooked, so that both sides discuss them on day one. Each country’s rules change, and specific terms should be reviewed by qualified local lawyers. Nor is it a scoring tool: a project that “passes” all four steps is not thereby going to succeed.
Part 2 A pre-registered randomised vignette experiment
Question
In cross-border business negotiation, compared with a traditional fixed-target contract, does a state-contingent contract that writes down on day one a 90-day exploration period, stopping rules and a milestone transition mechanism raise local business people’s trust in the foreign party, and lower their perceived risk of breach, when the foreign party later exits under those rules?
Why a vignette experiment
Real joint-venture contracts cannot be randomised, and the time from signing to exit is often more than a year. In a vignette experiment, participants read a carefully constructed business scenario in which one element is varied at random, and their judgements are measured (Aguinis and Bradley 2014). The advantage is clean identification of causal effects; the drawback is that participants face a hypothetical scenario, and their judgements are not necessarily their behaviour in real deals. The section “What this trial cannot show” returns to this.
Design
| Element | Specification |
|---|---|
| Participants | Business people in Malaysia, Indonesia, Thailand, Vietnam and Singapore, aged 21 or over, with at least two years’ experience negotiating business partnerships or managing relationships with suppliers, agents or partners; recruited through independent professional survey panels, not from the clients, partners or influencer networks of the author’s companies |
| Language | English and each country’s national language (Malay, Indonesian, Thai, Vietnamese), checked by back-translation; participants in Singapore use the English version |
| Scenario | A fictional foreign consumer-goods company and a fictional local distributor sign a cooperation agreement to launch a new brand together. The participant plays the general manager of the local company |
| Randomisation | 1:1 within each country. Fixed-target arm: the contract states three-year sales targets, both sides’ commitments and an annual review. State-contingent arm: the contract states that the first 90 days are an exploration period; names two jointly visible metrics (cost per acquired customer, repeat-purchase rate) and their thresholds; states that if a threshold is crossed for two consecutive months the foreign party may exit, compensating the local company by a written formula for the staff and channel investments it made for the venture; and states that if no threshold is crossed the venture moves automatically to a second phase. Both contracts are matched for length, style and the amounts each side commits |
| Scenario event | Participants in both arms then read the same event: on day 90 the foreign company informs the local company that acquisition costs have been above expectations for two consecutive months and that it has decided to leave the market. In the fixed-target arm the event reads “the foreign company terminates the cooperation early”; in the state-contingent arm, “the foreign company exits under clause X of the contract”, with metric data matching what the contract specifies. Compensation is the same amount in both arms |
| Co-primary outcomes | Measured after the event: (1) trust in the foreign company, using “integrity” and “benevolence” subscales adapted from the trust model of Mayer and colleagues (7-point ratings) (Mayer et al. 1995; Mayer and Davis 1999); (2) perceived breach risk, “If you worked with this company again, how likely is it that it would fail to keep its commitments?” (0–100) |
| Secondary outcomes | Trust measured after reading the contract and before the event (to test whether a written exit clause lowers trust from the start; see below); willingness to work with the company again (7-point); willingness to recommend the company to peers |
| Manipulation and attention checks | Whether participants correctly answer “Did the contract specify conditions for exit?”; two attention-check items. Those who fail are excluded under rules fixed in advance |
| Analysis | Linear regression of each outcome on arm, stratified by country; each of the two co-primary outcomes tested at two-sided |
An opposing hypothesis, stated in advance
The experiments of Malhotra and Murnighan cited in Chapter 1 (Malhotra and Murnighan 2002) point to a possibility: a written exit clause may be read from the start as a sign that the other side lacks confidence in the venture, and so lower initial trust. This trial registers that possibility in advance as a secondary outcome: if trust before the event is clearly lower in the state-contingent arm than in the fixed-target arm, the report must state this cost even if trust after the event is higher.
Sample size
Calculation
# Sample size for the pre-registered vignette experiment. Two arms (fixed-target contract vs
# state-contingent contract with a written 90-day exploration period and stopping rules), randomised
# within each of five countries. Two co-primary outcomes measured after the same day-90 exit event:
# trust in the foreign partner, and perceived risk of breach. Each tested at two-sided alpha 0.025
# (Bonferroni for two outcomes). Effects in SD units; normal approximation for a t-test.
import math
COUNTRIES = 5 # Malaysia, Indonesia, Thailand, Vietnam, Singapore
from statistics import NormalDist
N = NormalDist()
def n_per_arm(d, alpha=0.025, power=0.90):
za, zb = N.inv_cdf(1 - alpha / 2), N.inv_cdf(power)
return math.ceil(2 * (za + zb) ** 2 / d ** 2) + 1
def power(n, d, alpha=0.025):
return N.cdf(d / math.sqrt(2 / n) - N.inv_cdf(1 - alpha / 2))
for d in (0.20, 0.25, 0.30, 0.40):
print(f"standardised effect {d:.2f}: {n_per_arm(d, power=0.80):4d} per arm for 80 % power, "
f"{n_per_arm(d):4d} for 90 %")
n = n_per_arm(0.30)
print(f"chosen: smallest effect of interest 0.30, 90 % power -> {n} analysable per arm")
# Both outcomes must be powered; with correlated outcomes the chance of detecting BOTH true effects
# of 0.30 is at least 1 - 2 * (1 - power) by the union bound:
print(f"power for each outcome {power(n, 0.30):.3f}; for both together at least {1 - 2 * (1 - power(n, 0.30)):.2f}")
recruit = math.ceil(n / 0.80)
print(f"allow 20 % exclusions (failed attention or manipulation checks): recruit {recruit} per arm,"
f" {2 * recruit} in all, about {math.ceil(2 * recruit / COUNTRIES)} per country")
# standardised effect 0.20: 477 per arm for 80 % power, 622 for 90 %
# standardised effect 0.25: 306 per arm for 80 % power, 399 for 90 %
# standardised effect 0.30: 213 per arm for 80 % power, 277 for 90 %
# standardised effect 0.40: 120 per arm for 80 % power, 157 for 90 %
# chosen: smallest effect of interest 0.30, 90 % power -> 277 analysable per arm
# power for each outcome 0.901; for both together at least 0.80
# allow 20 % exclusions (failed attention or manipulation checks): recruit 347 per arm, 694 in all, about 139 per countryWith a smallest effect of interest of 0.30 standard deviations, two-sided for each co-primary outcome and 90 % power, each arm needs 277 analysable participants; the power to detect both outcomes together is at least 80 %. Allowing for about 20 % of participants to be excluded for failing attention or manipulation checks, each arm recruits 347, 694 in all, about 139 in each of the five countries. The sample within each country is too small to test differences between countries, which are reported only as exploratory.
Decision rule
Calculation
# Decision rule for the vignette experiment, written before any data exist.
# d_trust: state-contingent arm minus fixed-target arm, trust after the day-90 exit (higher = more trust)
# d_risk: the same for perceived breach risk, sign flipped so that positive = LESS perceived risk.
# Each comes with a 97.5 % confidence interval (two-sided alpha 0.025 per outcome).
SESOI = 0.30
def judge(lo, hi):
if lo >= SESOI: return "benefit of at least the smallest effect of interest"
if lo > 0: return "benefit, size not shown to reach 0.30"
if hi < 0: return "harm"
if -SESOI <= lo and hi <= SESOI: return "no difference worth acting on"
return "unclear"
def verdict(trust, risk, pre_trust):
t, r = judge(*trust[1:]), judge(*risk[1:])
if t.startswith("benefit") and r.startswith("benefit"):
overall = "SUPPORTED in this vignette setting"
elif "harm" in (t, r):
overall = "CONTRARY: explicit stopping rules made the exit look worse"
elif t.startswith("benefit") or r.startswith("benefit"):
overall = "PARTLY supported: one co-primary outcome only"
else:
overall = "NOT supported"
note = ""
if pre_trust[2] < 0: # secondary: trust measured before the event, when the clause is first read
note = "; note: the written exit clause lowered trust before anything happened"
return f"trust {t}; breach risk {r} -> {overall}{note}"
# Invented results, to show in advance how each pattern will be reported: (estimate, low, high)
examples = (((0.45, 0.31, 0.59), (0.38, 0.24, 0.52), (0.05, -0.08, 0.18)),
((0.35, 0.21, 0.49), (0.10, -0.04, 0.24), (-0.20, -0.34, -0.06)),
((0.02, -0.12, 0.16), (-0.03, -0.17, 0.11), (0.00, -0.14, 0.14)))
for e in examples:
print(verdict(*e))
# trust benefit of at least the smallest effect of interest; breach risk benefit, size not shown to reach 0.30 -> SUPPORTED in this vignette setting
# trust benefit, size not shown to reach 0.30; breach risk no difference worth acting on -> PARTLY supported: one co-primary outcome only; note: the written exit clause lowered trust before anything happened
# trust no difference worth acting on; breach risk no difference worth acting on -> NOT supportedThe example results are invented, to show in advance how results will be reported. Only when both co-primary outcomes show benefit will the report say “supported in this vignette setting”; when only one does, “partly supported”; when either shows harm, “contrary to the hypothesis”. If the written exit clause lowers trust before the event, the report must say so as well.
What this trial cannot show
First, this is a vignette experiment. Participants commit no real resources and lose no real partner, and their judgements in a questionnaire may differ from their behaviour in real deals. Even a positive result would show only that written stopping rules change how people read an exit, not that they raise the survival or profit of real joint ventures. Second, the scenario covers one industry and one reason for exit; in other industries, other stages of cooperation or for other reasons, results may differ. Third, participants come from professional survey panels in four countries and do not necessarily represent all business people there, especially owners of small firms who rarely take online surveys. Fourth, compensation is the same in both arms; in reality, writing down a compensation formula may itself be a major source of differences in trust, and this trial cannot separate “writing down exit conditions” from “writing down compensation”. That needs a factorial follow-up study.
Ethics and conflicts of interest
The trial requires approval from an independent ethics committee and informed consent, and the protocol and analysis plan are to be registered on a public platform before the first participant is enrolled (Nosek et al. 2018). Participants are paid for their time and may withdraw at any time; all companies in the scenario are fictional and no real business is involved.
Disclosure
The author founded and runs Asia Influencer X and Yafu Global, cross-border influencer and digital marketing agencies working in Southeast Asian markets including Malaysia, Indonesia, Thailand and Vietnam, and regularly signs cooperation agreements with local partners, brands and influencers; he therefore has a direct commercial interest in the subject of this book. The book promotes no service and does not use client or project data from the author’s companies as evidence; the Chapter 8 trial is designed to be run and analysed by researchers independent of the author’s business; all the code and the study protocol are published openly for anyone to check. To limit the influence of this interest: participants are not recruited from the clients, partners or influencer networks of the author’s companies; the scenario materials are published before enrolment; and the results, data and code will be published whatever they show.
References
Fan, Y. (2026). Cross-Cultural Contracts, Real Options and Game Theory of Southeast Asian Market Entry: Relational Contracting, Optimal Stopping Thresholds and Institutional Distance, Read Beside the Art of War [跨文化契约、实物期权与东南亚出海博弈论] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23753261 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).